find命令技巧

释放双眼,带上耳机,听听看~!

产品型号:Thinkpad E15

系统版本:centos7

软件版本:find 4.6

find命令用于查找指定目录下的文件,同时也可以调用其它命令执行相应的操作。

find语法格式:find 路径名称 选项

find命令选项:

-name 按照文件名查找文件。 “名称”

-perm 按照文件权限来查找文件。666 777 等

-user 按照文件属主来查找文件

-group 按照文件所属的组来查找文件

-mtime -n / +n 按照文件的更改时间来查找文件,

– n表示文件更改时间距现在n天以内

+ n表示文件更改时间距现在n天以前

-type 查找某一类型的文件

b – 块设备文件

d – 目录

c – 字符设备文件

p – 管道文件

l- 符号链接文件

f – 普通文件

-size n 查找符合指定的文件大小的文件

-exec 对匹配的文件执行该参数所给出的其他linux命令, 相应命令的形式为' 命令 {} ;,注意{ }和 ;之间的空格,{}代表查到的内容

例1:查找当前目录下所有的TXT格式的文件

[root@xuegod63 ~]# touch a.txt xuegod.txt

[root@xuegod63 ~]# find . -name "*.txt"

。。。

./a.txt

./xuegod.txt

2、按照更改时间或访问时间等查找文件

如果希望按照更改时间来查找文件,可以使用mtime,atime或ctime选项

mtime: 文件最后一次修改的时间

atime: 最后一次访问时间

ctime: 文件的最后一次变化时间,也就是修改时间

例1:在root目录下查找更改时间在1天以内,被黑客修改的文件

[root@xuegod63 ~]# find /root/ -mtime -1

对查找内容执行相应命令

-exec 这个选项参数后面可以跟自定义的SHELL命令,格式如下:

例2:把查找到的文件复制到一个指定的目录

[root@xuegod63 ~]# touch {1,2,3}.back

[root@xuegod63 mnt]# find /root -name "*.txt" -exec cp {} /opt ;

例3:查找多个类型文件

find命令中比较符的使用:

-a and 并且

-o or 或者

+ 超过

– 低于

[root@xuegod63 ~]# touch a.pdf back.sh

[root@xuegod63 ~]# find ./ -name "*.sh" -o -name "*.pdf"

[root@xuegod63 ~]# find /etc -size +20k -a -size -50k | wc -l

22

[root@xuegod63 ~]# find /etc -size +20k | wc -l

49

例4: 按权限查找:-perm

[root@xuegod63 ~]# find /bin/ -perm 755 # 等于0755权限的文件或目录

[root@xuegod63 ~]# find /bin/ -perm -644 #-perm -644 至少有644权限的文件或目录

例5:查找的目录深度:

-maxdepth 1 #只查找目录第一层的文件和目录

如:查找/bin目录下权限等于644的文件

[root@xuegod63 ~]# find /etc/ -maxdepth 1 -perm 644 | more

免责声明:本文由用户投稿,(图文、音视频)均由用户自行上传分享,文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。若您的权利被侵害,请联系本站在线客服进行删除。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧