码迷,mamicode.com
首页 > 其他好文 > 详细

find命令总结

时间:2020-01-16 01:00:37      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:print   换行符   pat   find命令   使用   code   大小   rate   arc   

一、命令简介:

  find顾名思义就是查找文件的意思,能在系统中寻找你想要的文件。日常使用Linux系统中可能会经常用到这个命令,非常实用,掌握这个命令的用法会使你的工作更加效率

二、主要语法:

  find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

参数说明
-name 按名称查找
-size 按大小查找
-user 按文件属主查找
-type 按类型查找
-mtime 按照文件的更改时间查找
-atime 按照文件的访问时间查找
-perm 按照文件权限查找
-regex 按照正则表达查找

 

 

 

 

 

 

 

 

  • 一般情况下使用-name选项匹配字符串即可,复杂一点的可以使用正则表达式-regex选项
  • 这里只列举比较常用的选项,具体的其他选项参数可以使用info find 或 man find命令进行查询

三、操作实例:

查找根目录下.c后缀的所有并打印出来

[root@localhost ~]# find / -type f -name "*.c" -print

查找/etc/目录下大于2M的所有文件

find /etc -size +2M

搜索当前目录下七天内被访问过的所有文件

find . -type f -atime -7

找出/var/log下不是以.log结尾的文件

find /var/log/ -type f ! -name *.log

找出所有以.py和.sh为后缀的所有文件

find / -regex ".*\(\.py\|\.sh\)$"

 

 

关于-print0 与 xargs -0的原理和用法:

find -print0表示在find的每一个结果之后加一个NULL字符,而不是默认加一个换行符。find的默认在每一个结果后加一个‘\n‘,所以输出结果是一行一行的。当使用了-print0之后,就变成一行了

然后xargs -0表示xargs用NULL来作为分隔符。这样前后搭配就不会出现空格和换行符的错误了。选择NULL做分隔符,是因为一般编程语言把NULL作为字符串结束的标志,所以文件名不可能以NULL结尾,这样确保万无一失。

推荐用法:

find / -name "*.txt" -print0 | xargs -0 rm

find命令总结

标签:print   换行符   pat   find命令   使用   code   大小   rate   arc   

原文地址:https://www.cnblogs.com/ashjo009/p/12199352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!