Linux中find命令用法全汇总

Linux 查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令。查找可以在各种条件下使用,您可以通过权限,用户,组,文件类型,日期,大小等可能的条件查找文件。

  • 第一部分:查找名称查找文件的基本查找命令
  • 第二部分:根据他们的权限查找文件
  • 第三部分:基于所有者和组的搜索文件
  • 第四部分:根据日期和时间查找文件和目录
  • 第五部分:根据大小查找文件和目录

第一部分 - 查找名称查找文件的基本查找命令

1.使用当前目录中的名称查找文件
在当前工作目录中查找名称为ysby.jpg 的所有文件

[[email protected] tmp]# find ysby.jpg 
ysby.jpg
[[email protected] tmp]# 

2.在主目录下查找文件
查找/ tmp目录下的所有文件,名称为ysby

[[email protected] tmp]# find /tmp/ -name ysby.jpg 
/tmp/ysby.jpg
[[email protected] tmp]# 

3.使用名称和忽略案例查找文件
找到名称为ysby的所有文件,并在/tmp 目录中同时包含大写和小写字母。

[[email protected] tmp]# find /tmp/ -iname ysby.jpg 
/tmp/Ysby.jpg
/tmp/ysby.jpg
[[email protected] tmp]# 

4.使用名称查找目录
在/目录中查找名称为img的所有目录。

[[email protected] tmp]# find / -type d -name img
/home/guochunyuan/img
/usr/share/doc/HTML/img
/data1/weather/img
[[email protected] tmp]# 

5.使用名称查找jpg文件
在当前工作目录中查找名为 ysby.jpg的所有jpg文件。

[[email protected] tmp]# find / -type f -name ysby.jpg 
/tmp/ysby.jpg
/home/guochunyuan/img/ysby.jpg
[[email protected] tmp]#

6.查找目录中的所有PHP文件
查找目录中的所有php文件。

[[email protected] tmp]# find / -type f -name "**.jpg" 
/tmp/ysbyhf.jpg
/tmp/Ysby.jpg
/tmp/ysby.jpg
[[email protected] tmp]# 

第二部分 - 根据他们的权限查找文件

7.查找777个权限的文件
查找权限为777的所有文件

[[email protected] tmp]# find /tmp/ -type f -perm 0777 -print
/tmp/ysby.jpg
[[email protected] tmp]# 

8.查找只读文件
查找所有只读文件。

[[email protected] tmp]# find /tmp/ -perm /u=r

9.找到777个权限和Chmod到644的文件

查找所有777个权限文件,并使用chmod命令将权限设置为644

[[email protected] tmp]# find /tmp/ -type f -perm 0777 -print -exec chmod 644 {} \;
/tmp/ysby.jpg
[[email protected] tmp]# 

10.查找并删除单个文件

找到一个名为test.c的文件并将其删除

[[email protected] tmp]# find /tmp/ -type f -perm 0777 -print -exec rm -f {} \;

11.查找所有空文件

在特定路径下查找所有空文件。

[[email protected] tmp]# find /tmp/ -type f -empty;

12.查找所有空目录

将特定路径下的所有空目录归档。

[[email protected] tmp]# find /tmp/ -type  d -empty;

13.文件所有隐藏文件

要查找所有隐藏的文件,请使用以下命令。

[[email protected] tmp]# find /tmp/ -type f -name ".*";
/tmp/.get_ip.sh
[[email protected] tmp]# 

第三部分 - 基于所有者和组的搜索文件

14.查找基于用户的单个文件
在所有者root的/ tmp目录下查找名为ysby.jpg的所有或单个文件。

[[email protected] tmp]# find /tmp/ -user root -name ysby.jpg;

第四部分 - 根据日期和时间查找文件和目录

15.查找最近50天访问的文件
查找50天后访问的所有文件。

[[email protected] tmp]# find /tmp/ -atime 50 

16.查找最后50-100天修改的文件
查找所有被修改超过50天以及少于100天的文件。

[[email protected] tmp]# find /tmp/ -mtime +50  -mtime -100
/tmp/apollo-charging-lncmcc-notify-0.0.1-SNAPSHOT.tar.gz
/tmp/apollo-charging-lncmcc-order-0.0.1-SNAPSHOT.tar.gz
/tmp/apollo-charging-lncmcc-query-0.0.1-SNAPSHOT.tar.gz
[[email protected] tmp]# 

17.在过去1小时内查找更改的文件
查找最近1小时内更改的所有文件

[[email protected] tmp]# find /tmp/ -cmin -60
/tmp/Ysby.jpg
/tmp/collect_hardware_message.log
/tmp/ysby.jpg
/tmp/if_dev.txt
[[email protected] tmp]# 

18.在最近1小时内查找修改的文件
查找最近1小时内修改的所有文件。

[[email protected] tmp]# find /tmp/ -mmin -60
/tmp/Ysby.jpg
/tmp/collect_hardware_message.log
/tmp/if_dev.txt
[[email protected] tmp]#

第五部分 - 根据大小查找文件和目录

19.找到50MB的文件

要找到所有50MB的文件,请使用。

[[email protected] tmp]# find / -size 50M
/opt/soft/clamav/updata/clamav/daily.cvd
[[email protected] tmp]# 

20.查找大小在50MB到100MB之间

找到大于50MB且小于100MB的所有文件。

[[email protected] tmp]# find / -size +50M -size -100M
/home/duqiyu/ip.log
/opt/soft/jdk18/jre/lib/amd64/libjfxwebkit.so
/opt/soft/jdk18/jre/lib/rt.jar

21.查找特定文件并删除

查找超过10KB的所有.jpg文件,并使用一个命令删除它们

[[email protected] tmp]# find /tmp/ -type f -name "*.jpg" -size +10M -exec rm -f {} \;

还有很多没有举例出来可以自行网上查询许多 学无止境,加油!!

你可能感兴趣的:(linux)