韦德国际_韦德国际1946官方网站_韦德国际1946手机版
做最好的网站

一声令下详解,Linux命令之find命令详解

日期:2019-07-10编辑作者:韦德国际
find path -option [-print] [-exec -ok command] {} ;
find命令的参数:
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;,注意{ }和;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
#-print 将查找到的文件输出到标准输出
#-exec   command   {} ;      —–将查到的文件执行command操作,{} 和 ;之间有空格
#-ok 和-exec相同,只不过在操作前要询用户

last:命令解释show listing of last logged in users

Linux命令之find命令详解

放眼:在Linux中利用文件系统时,平常会有那查找文件的急需。那么什么样遵照咱们的供给去找寻相应的文件。在此处作者引入三个指令,locate命令和find命令。此篇博文首要向大家介绍find命令的用法。

那么为啥不讲locate而只讲find命令?在那边,笔者有不可或缺解释一下那四个指令的劳作体制。

一、locate命令专门的工作机制

在linux系统中会事先创设好三个文件目录数据库用于给locate查询,来找到符合用户需要的文件。那个数据库是由Linux系统自动实行为保护和翻新的。所以那不是实时寻觅,譬如,当您在选拔进程中新建了贰个文书,而专门的学业了一段时间你忘了那个文件具体在哪儿放着,你想找到那个文件,那么就供给寻找,倘诺用locate来搜索的话,此时数据库并从未实时更新。当然你也可以用updatedb命令来手动更新系统的数据库,但立异数据库的代价比异常的大,会追加系统消耗。此时,大家就推荐另多个搜寻命令——find命令。

二、find命令工作体制

find命令是Linux系统中的实时查找文件工具,它是通过遍历用户钦命起首路径下文件系统层级结构来成功文件查找,即查找你钦命目录下的具备文件及其子目录的公文。

三、find命令的专门的学业特点

1、查找速度略慢。

2、达成标准查找。

一声令下详解,Linux命令之find命令详解。3、实时寻找。

四、find命令使用形式

运用格式:find [OPTIONS] [寻找开始路线] [找寻条件] [拍卖动作]

招来起首路径:内定具体寻觅目的地起首路线;默以为当前目录。

搜索条件:用户钦点的查究标准(表达式),举例文件的文书名、大小、类型、从属

涉嫌、权限等;如不钦命,则查搜索当前目录下的有着文件。

拍卖动作:对符合查找条件做出的操作,举例删除等管理操作;如不钦命,默感觉输

出至正式输出。

查找条件规范:

表达式:选项和测量检验

·1、测量检验:结果是布尔型(“true”,“false”)

(1)遵照文件名查找:

选项:

-name "pattern":遵照被方式相称到的文件名进行找寻。

-iname "pattern":依据被情势相称到的文件名进行找寻。忽略字符大

小写。

只顾:此处的情势(pattern)是根据bash的globbing风格来搜求。

-regex "pattern":基张晓芸则表明式情势来查找文件,相配的是全方位路径

而非文件名。

(2)依照文件的附属关系打开寻找

选项:

-user USEEscortNAME:查找从属于钦赐用户的文本

-group GROUPNAME: 查找从属于内定用户组的文书

-uid UID:查找属主内定的UID的享有文件

-gid GID:查找属组钦赐的GID的具备文件

-nouser :查找未有属主的文书

-nogroup:查找未有属组的公文

留心:针对特定的某一用户被去除之后,从属于这一用户的公文则会成为无属

主、无属组的文本,此时文件从属于原先此用户的用户ID和组ID。

(3)依照文件的种类进行检索。

选项:

-type TYPE:

f:普通文书

d:目录文件

l:符号链接文件

b:块设备文件

c:字符设备文件

p:管道文件

s:套接字文件

(4)依据文件的尺寸实行搜寻

选项:

-size [ |-] NUMBE索罗德 单位 暗中同意单位为字节

[ |-] NUMBER K

[ |-] NUMBER M

[ |-] NUMBER G

注: 代表大于,- 表示小于,无则代表精确

注意:1、准确是指(NUME哈弗-1,NUMBE奥迪Q7]的范围,不可能比它小太多,不能比它大。

2、- 大于的限量是[0,#-1],即比它小1之下的尺寸。

3、 大于的限量是(NUMBEEscort,∞)。

(5)依照时间戳查找:

选项:

以“天”为单位,向过去的年月倒回。

-atime [ |-] NUMBEENCORE:访问时间

NUMBE本田S660(正确时间) : [NUMBER,NUMBER-1]

-NUMBER(最近NUMBER天内): (NUMBER,0)

NUMBER(超过NUMBER天): (∞,NUMBER-1)

-mtime [ |-] NUMBEOdyssey:修改时间(文件内容)

-ctime [ |-] NUMBELX570:改换时间(元数据)

以“分钟”为单位: (与上一致)

-amin [ |-] NUMBER

-mmin [ |-] NUMBER

-cmin [ |-] NUMBER

譬喻:查找/etc目录下这段时间三日内其剧情改造过的文件

~]# find /etc/ -mtime -7

(6)依照权限查找

选项:

-perm [/|-] mode

mode : 准确权限相称:

-mode :全体用户(u,g,o)的权杖中的每壹位(r,w,

x)都符合条件即满足查找条件,9位权限以内是"与"关系。

/mode :任何一类用户(u,g,o)的权柄中的任何一人(r,w,

x)符合条件即满意(9位有壹个人符合就可以)9位权限是"或"关系。

譬喻:1、查找/etc/目录下对于至少有一类用户有实行权限的文件。

~]# find /etc/ -perm /111

2、查找/etc/init.d目录下,全体用户都有推行权限,且其余用户有

写权限的一般性文书。

~]# find /etc/init.d/ -perm -113 -type f

~]# find /etc/init.d/ -perm -222 -a -perm 002 -type f

·2、组合测验:

与(and):-a, 默许组合多少个规格时的逻辑

或(or):-o

非:-not

比方说:1、查找/etc目录下抢先30日其内容被修改过,且文件大小不超过5M.

~]# find /etc/ -mtime -7 -a -not -size -5M

2、查找/etc目录下拥有用户都并未写权限的常见文书。

思路:反向剖判题意即至少有一类用户有写权限;

~]# find /etc/ -not -perm /222 -type f

3、查找/etc目录下至少有一类用户都未曾写权限的日常文书。

思路:反向深入分析题意即全部用户有写权限

~]# find /etc/ -not -perm -222 -type f

管理动作:

-print:输出至正式输出,私下认可动作

-ls:类似于对查找到的文件实行“ls -l”命令,输出文件的详细消息

-delete:删除查到的公文

-file 文件路线:把查找到的装有文件的长格式新闻保存至钦命文件中;

-ok COMMAND {} ; : 对查找到的各样文件实践由COMMAND表示的命令;每趟操作都得

由用户打开确认;

-exec COMMAND {} ; : 对查找到的各类文件施行由COMMAND表示的下令。

只顾:find传递查找到的文件路线传至前面包车型地铁通令时,达成查搜索具备符合条件的文书路

径,并二回传递给后边的下令;不过有些命令不可能经受过长的参数,此时命令会实施

战败;另一种方法可避开此难题:

~]# find | xargs COMMAND

计算:find命令的多多物色选项和规格的重组可以更加好地为用户的查找文件的要求服务,然则对于依据文件大小的切实可行尺寸范围以及时光戳部分的时刻限制须求深切精通,工夫找到您符合您须要的文件。另外权限部分的接头也相当的重大,初学者很轻便会绕晕,提出查看文件权限相关基础内容。让find命令成为你选择Linux的一把利器。

Linux find 命令用法总结 

Linux下查找文件find命令 

Linux下find命令详解

文件查找利器find的使用

作用庞大的find命令

Linux系统find命令详解

正文永恒更新链接地址:

大概浏览:在Linux中应用文件系统时,日常会有那查找文件的需求。那么哪些依照我们的须求去找寻相应的公文。在这里...

Linux命令之find命令详解

1、依照文件名或正则表明式匹配找出

一声令下所在路线:/usr/bin/last

 

选项-name的参数指定文件名所必须匹配的字符串。

例:匹配所有以.txt结尾的文件名
$find /root/ -name "*.txt" -print
选项-iname,该选项的作用和-name类似,不过匹配的时候忽略名字的大小写。

匹配多个条件,可以使用OR条件操作
$find . /root/ ( -name "*.txt" -o -name "*.pdf" ) -print

选项-path的参数可以使用通配符来匹配文件路径或文件。
$find . -path "*include/apu*"       
./httpd-2.2.22/srclib/apr-util/include/apu_version.h
./httpd-2.2.22/srclib/apr-util/include/apu.hw
./httpd-2.2.22/srclib/apr-util/include/apu_errno.h
./httpd-2.2.22/srclib/apr-util/include/apu.hnw

选项-regex的参数和-path类似,不过-regex是基于正则表达式来匹配文件路径。
下面命令匹配.py或.sh文件
$find . -regex ".*(.py|.ssh)$"
./.ssh
./httpd-2.2.22/srclib/apr/build/gen-build.py

2、否定参数
find也可以使用"!"否定参数的含义。
例如:匹配所有不是以.txt结尾的文件名
$find . ! -name "*.txt"

3、基于目录的深度搜索
使用-maxdepth和-mindepth参数来限制find命令遍历目录的深度。
例:列出当前目录下的所有普通文件。
$find . -maxdepth 1 -type f
-maxdepth和-mindepth应当作为find的第三个参数出现,如果作为第四个或之后的参数,则会影响find的效率。

4、根据文件的类型搜索
使用-type对文件搜索进行过滤,以下是type参数对应文件的类型
普通文件  f、符号文件 l、目录 d、字符设备 c、块设备 b、套接字 s、Fifo p。
例:列出所有目录
$find . -type d -print

5、根据文件时间进行搜索
系统每个文件有三种时间戳,如下所示:
访问时间(-atime):用户最近一次访问时间
修改时间(-mtime):文件内容最后一次修改时间。
变化时间(-ctime):文件元数据(例如权限或所有权)最后一次改变时间
打印出最近7天有过访问的所有文件
$find . type f -atime -7 print

打印出访问时间超过7分钟的所有文件
$find . type f -admin -7 print

6、基于文件大小的搜索
$find . -type f -size  20k
#大于20KB的文件
$find . -type f -size -20k
#小于20KB的文件
$find . -type f -size 20k
#等于20KB的文件

7、删除匹配的文件
-delete可以删除find查找到的.swp文件
$find . -type f -name "*.swp" -delete
删除当前目录下的所有的.swp文件

8、基于文件权限和所有权的匹配
例:打印出权限为644的文件
$find . -type f -perm 644 -print

查找没有执行权限的PHP文件
$find . -type f -name "*.php" ! -perm 644 -print

打印出用户slynux所拥有的文件:
$find . -type f -user slynux -print

9、结合find执行命令或动作
借助选项-exec与其他命令结合。
示例:
#find . -type f -user mysql -exec chown root {} ;
在当前目录下修改属于用户mysql的文件为属于root用户。

#find . -type f -mtime  10 -name "*.txt" -exec cp {} OLD ;
将10天前的.txt文件复制到OLD目录下

10、find跳过特定的目录
打印出不包过在.svn的目录的所有文件的名称
#find . ( -name ".svn" -prune ) -o ( -type f -print)

 

find命令是三个在UNIX文件系统中查找文件的常用命令,能够开展过多原则查找。
让大家来看一些find命令的实例。

图片 1

 

 

指令输出字段介绍:

语法: find 路线 约束标准

 

 

 

哪些寻找在文书名中涵盖钦点关键字的公文?

 

 

   第一列:用户名

下边那条命令查找在“/etc”目录下有所文件名中蕴藏“mail”的文件。

 

 

   第二列:终端地方。pts/0 (伪终端) 意味着从诸如SSH或telnet的长途连接的用户.tty (teletypewriter) 意味着一向连接到Computer如故本地连接的用户

# find /etc -name "*mail*"  www.2cto.com  

 

 

本文由韦德国际发布于韦德国际,转载请注明出处:一声令下详解,Linux命令之find命令详解

关键词: Linux linux last命令

【韦德国际】检索僵尸进度,Ubuntu查找和杀死僵

前言 多年来因为学习java,会在chrome里开广大标签,并且会煎熬一些扩大插件提示自个儿有个别邮件等作业,结果平时...

详细>>

Linux下编写翻译安装QT,7以及编写翻译情状的配置

筹划做嵌入式图像处理,陈设方案嵌入式Linux OpenCV QT,前天简短入门OpenCV前日探访QT,QT就先弄Linux上面包车型大巴,...

详细>>

配置本地yum源,0配置本地yum

Rehat Enterprise Linux 5:配置本地yum源,测试平常。 自个儿设置的linux系统是OracleLinux,其全称为Oracle Enterprise Linux。电驴下...

详细>>

手动在Linux中源码编译安装httpd,Linux下编写翻译

Linux下学习职业少不了编辑器,Vim能使您的工效成倍的加强。在Ubuntu上安装vim使用命令直接设置很简短。但偶然候依然...

详细>>