感谢支持
我们一直在努力

Linux中find命令的用法

Windows操作系统要查找一份文件是相当简单的事情,只要在桌面上点击“开始—搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。可是在linux中要查找某一个文件就是一件很麻烦的事情。毕竟在linux中需要我们使用专用的“查找”命令来寻找在硬盘上的文件。Linux下的文件表达式非常复杂,对于linux新手来说,find命令也是了解和学习linux文件特点的方法。下面就详细为大家介绍强大的find命令的全部使用方法和用途。

Find命令用于进行文件查找,它有实施查找、精确、支持众多查找标准,但是它是遍历指定目录中的所有文件完成查找,所以速度非常慢。格式是:find 查找路径  查找到以后的处理运作。不写查找路径默认为当前目录,查找标准默认为指定路径下的所有文件,处理运作默认为显示下面说一下它的主要命令。

匹配标准

-name:’filename’:对文件名精确查找

*:任意长度的任意字符

[ ]:指定此范围

-iname:文件匹配不区分大小写

-regex PATTERN:基于正则表达式进行文件名匹配

-user USERNAME:根据属主查找

-group GROUPNAME:根据属组查找

-uid UID:根据UID查找

-gid GID:根据GID查找

– nouser : 查找没有属主的文件

– nogroup :查找没有属组的文件

-type:根据文件类型查找

f:普通文件

d:目录文件

c:字符设备文件

b:块设备文件

l:符号链接文件

p:命令管道文件

s:套接字文件

字符大小

-size  [+(内)|-(在限定之外)、什么都不加为精确到]

#k:

#M:

#G

组合条件:

-a 与

-o  或

-not

时间(也可以使用+-与字符相同)

-mtime:

-ctime:

-atime:

-mmin:user

-cmin:

-amin:内

根据权限查找

perm MODE 精确匹配

/MODE 任意一位匹配既满足条件

-MODE 文件权限能完全包含此MODE时才能显示

动作:

-print:显示

-ls:类似ls -l的形式显示每一个文件的详细

-ok COMMAND {}\;每一部操作都需要用户确认

-exec COMMAND{}\;不需要确认

下面就几个例子来说明一下用法:

1、查找/var目录下属主为root并且属组为mail的所有文件;

find /var -user root -group mail

用find命令先找出/var,在查找属主为root且属组为mail的文件

2、查找/usr目录下不属于root,bin,或student的文件;

find /usr -not -user root -a -not -user bin -a -not -user student

find /usr -not \( -user root -o -user bin -o -user student \)

3、查找/etc目录下最近一周内内容修改过且不属于root及student用户的文件;

find /etc -mtime -7 -not \ ( -user root -o -user student \)

find /etc -mtime -7 -not -user root -a -not -user student

首先,使用find命令查找/etc,然后是修改命令时间为mtime,最近一周,所以小于7天为“-7”不属于root和          student的用户的文件

4、查找当前系统上没有属主或属组且最近1天内曾被访问过的文件,并将其属主属组均修改为root;

find / \( -nouser -o -nogroup \) -a -atime -1 -exec chown root:root {} \;

没有属主或没有属组为 “-nouser -o  -nogroup” 并且最近一天曾被访问“-a -atime -1”

修改属主属组为root,使用chown命令。{}表示由find找到的内容

5、查找/etc目录下大于1M的文件,并将其文件名写入/tmp/etc.largefiles文件中;

find /etc -size +1M >> /tmp/etc.largefiles

6、查找/etc目录下所有用户都没有写权限的文件,显示出其详细信息;

find /etc -not -perm /222 –ls

用户没有写权限,使用

-perm  MODE

-mode:每一位权限必须精确匹配.文件权限完全包含mode才能显示

/mode:任意一位匹配即满足条件

所以是“-not -perm /222,”并查看使用“-ls”命令

赞(0) 打赏
转载请注明出处:服务器评测 » Linux中find命令的用法
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏