本文作者:心月

详细解读linux系统中使用Find命令查找文件

心月IT博客 2019-12-27
详细解读linux系统中使用Find命令查找文件摘要:文件查找是一个经常用到的功能,在linux系统中查找文件的命令比较多:find、locate、whereis 、which等,今天心月就来详细解读find文件查找命令的使用。

文件查找是一个经常用到的功能,在linux系统中查找文件的命令比较多:find、locate、whereis 、which等,今天心月就来详细解读find文件查找命令的使用。


linux系统中使用Find命令查找文件

1、寻找空的目录:

find /path -depth -type d -empty
   #-depth在处理目录以前首先处理目录下的子内容


2、寻找空文件:

find /path -depth -type f -empty

 

3、按用户或用户组查找:

find / -user pjy  #查找属主pjy用户的文件
find / -group pjy #查找属组为pjy的文件


4、根据名字查找文件:

find /path -name file_name



5、 根据扩展名查找文件:

find /path -name “*.txt”


6、寻找具有特定权限且特定扩展名的文件:

find /path -name ‘*.txt’ -perm 644


7、根据文件具有的权限属性来寻找文件:

find /boot/ -perm 777   #查找/boot目录下777权限的目录和文件
find /boot/ -perm -777  #查找/boot目录下至少777权限的目录和文件


8、按时间查找相应文件:-atime(访问  -mtime(修改   -ctime(改变

例:

find / -type  f -mtime 1    查找/目录下24-48小时内的文件
find / -type f -mtime +1   查找/目录下48小时以前的文件
find / -type f -mtime -1   查找/目录下24小时以内的文件



9、删除查找到的文件:

find /path -name file_name | xargs rm -rf

     #xargs从管道或者stdin中读取数据

 例:

find /root/test/ -type f -exec rm {} \;   查找/root/test目录下的文件并删除
find /root/test/ -type f |xargs rm -rf    查找/root/test目录下的文件并删除
find /root/ -type f -exec mv {} /tmp  \;  查找/root目录的文件并移动到/tmp目录

 

10、查找目录深度:

find /boot/ -maxdepth 2   #只查找目录第二层的文件和目录

 

11、多条件:-a或-and  -o或-or  !或-not  (与或非)

find / -size +4M -a -size -8M   #查找/目录下大于4M且小于8M的文件或目录
find / -type f -a -perm -o+w    #查找/目录下至少有其它用户写权限以上的文件
find / ! -type f -a -perm -001  #查找/目录下非普通文件且至少有其它用户有可执行权限以上
文章版权及转载声明:

本文由 心月IT技术博客 博主整理于 2019-12-27
若转载请注明原文及出处:https://www.xinyueseo.com/linux/581.html

分享到:
赞(
发表评论
快捷输入:

验证码

    评论列表 (有 0 条评论,人围观)参与讨论