智传网优云课堂,专注分享IT技术
与IT技术爱好者一起共同学习进步

Linux find命令查找文件34个实用案例

Linux find命令简介

Linux find命令简介

Linux查找文件最常用的工具是find,能实时根据条件查找文件。可以根据文件名、目录、权限、用户名、用户组、文件类型、日期、文件大小等等条件快速查找文件。并且可结合其他工具高效处理目标文件。

1. 常用选项

-amin n
查找系统中最后N分钟访问的文件

-atime n
查找系统中最后n*24小时访问的文件

-cmin n
查找系统中最后N分钟被改变状态的文件

-ctime n
查找系统中最后n*24小时被改变状态的文件

-empty
查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的文件夹

-false
查找系统中总是错误的文件

-fstype type
查找系统中存在于指定文件系统的文件,例如:ext2 .

-gid n
查找系统中文件数字组 ID 为 n的文件

-group gname
查找系统中文件属于gnam文件组,并且指定组和ID的文件

Find命令的控制选项说明:
Find命令也提供给用户一些特有的选项来控制查找操作。下表就是我们总结出的最基本,最常用的find命令的控制选项及其用法。

选项用途描述
-daystart
测试系统从今天开始24小时以内的文件,用法类似-amin

-depth
使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容

-follow
遵循通配符链接方式查找; 另外,也可忽略通配符链接方式查询

-help
显示命令摘要

-maxdepth levels
在某个层次的目录中按照递减方法查找

-mount
不在文件系统目录中查找, 用法类似 -xdev.

-noleaf
禁止在非UNUX文件系统,MS-DOS系统,CD-ROM文件系统中进行最优化查找

-version
打印版本数字

以下是常用实用的使用案例:

2. 根据文件名查找

2.1 在当前目前中查找文件

当前目录用符号.表示,查找1.pcap的文件

[root@zcwyou ~]# find . -name 1.pcap

输入出结果
./1.pcap

find命令使用案例1

2.2 在指定目录中查找

在/usr/bin/里查找名为which的文件

[root@zcwyou ~]# find /usr/bin/ -name which

输出结果
/usr/bin/which

有输出结果就证明找到,没有结果就是没有找到。

find命令查找程序文件位置

2.3 查找时忽略大小定

在当前用户的家目录下,查找以wordpress开头的文件,并忽略大小写。

[root@zcwyou ~]# find ~ -iname "wordpress*"

输出结果:
/root/zcwyou/wordpress.tar.gz
/root/wordpress.tar.gz

2.4 按类型查找文件

Linux系统里的文件类型有很多种,用户常用的是文件和目录,分别用f和d表示。
在当前目录下查找一个名为zcwyou的目录

[root@zcwyou ~]# find . -type d -iname zcwyou

输出结果
./zcwyou

2.5 根据文件后缀名查找

[root@zcwyou ~]# find . -type f -name "*.pcap" 

结果:
./1.pcap
./2.pcap

3. 根据权限查找文件

3.1 查找权限为644的文件

[root@zcwyou~]# find /etc/ -type f -perm 0644 -print

3.2 查找权限不是644的文件

!表示排除

[root@zcwyou~]# find /etc/ -type f ! -perm 0644 -print

3.3 查找设置了SGID并且权限为755的文件

[root@zcwyou~]#  find / -perm 2755

3.4 查找带sticky位并且权限为644的文件

[root@zcwyou~]#  find / -perm 1644

3.5 查找所有带SUID权限的文件

[root@zcwyou~]# find / -perm /u=s

3.6 查找所有带SGID权限的文件

[root@zcwyou~]#  find / -perm /g=s

3.7 查找只读文件

[root@zcwyou~]#  find / -perm /u=r

3.8 查看可执行文件

[root@zcwyou~]#  find / -perm /a=x

3.9 查找权限为777的目录并使用chmod将其权限设为755

[root@zcwyou~]#  find / -type f -perm 0777 -print -exec chmod 644 {} \;

3.10 查找所有exe文件并删除

[root@zcwyou ~]# find . -type f -name "*.exe" -exec rm -f {} \;

3.11 查找空文件

查找系统里的空文件

[root@zcwyou ~]# find / -type f -empty

查找系统里的空目录

[root@zcwyou ~]# find / -type d -empty

type 后能够使用的类型有

- f 常规文件
- d 目录
- l 连接
- c character devices
- b block devices

3.12 查找当前用户家目录里的隐藏文件

[root@zcwyou ~]# find ~ -type f -name ".*"

4. 基于用户和用户组查找文件

4.1 查找文件拥有者为oucanrong,名为zcwyou.txt的文件,从根目录开始找:

[root@zcwyou ~]# find / -user oucanrong -name zcwyou.txt

4.2 查找文件拥有者为zcwyou的所有文件,从根目录开始找。

[root@zcwyou ~]# find / -user zcwyou

4.3 查找在系统中属于作废用户的文件

[root@zcwyou ~]# find / -nouser

4.4 查找组为zcwyou的文件,从/home开始找。

[root@zcwyou ~]# find /home -group zcwyou

5. 根据文件时间查找

5.1 查找最近6天内修改过的文件

[root@zcwyou ~]# find / -mtime 6

5.2 查找最近10天内被访问过的文件

[root@zcwyou ~]# find / -atime 10

5.3 查找在系统中最后48小时访问的文件

[root@zcwyou ~]# find / -atime -2

5.4 查找距今1天-3天内被修改过的文件

[root@zcwyou ~]# find / -mtime +1 –mtime -3

5.5 查找在系统中最后5分钟里修改过的文件

[root@zcwyou ~]# find / -mmin -5

5.6 查找在系统中最后24小时里修改过的文件

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

5.7 查找1小时内壮态被改变的文件

[root@zcwyou ~]# find / -cmin -60

5.8 查找最近5分钟内被修改过的文件

[root@zcwyou ~]# find / -mmin -5

5.9 查找最近3分钟内被访问过的文件

[root@zcwyou ~]# find / -amin -3

6. 根据文件大小查找

find命令根据文件大小查找

6.1 查找大小为10M的文件

[root@zcwyou ~]# find / -size 10M

6.2 查找大小为20M-30M的文件

[root@zcwyou ~]# find / -size +20M -size -30M

6.3 查找大小为500M的文件并删除

[root@zcwyou ~]# find / -size 500M -exec rm -rf {} \;

6.4 查找大于30M的MP3文件并删除

[root@zcwyou ~]# find / -type f -name *.mp3 -size +30M -exec rm {} \;
赞(0)
分享到: 更多 (0)

学习QQ群:557371664

关注微信公众号自助视频学习

评论 抢沙发

评论前必须登录!