本文主要介绍一个小知识点就是利用Linux的find命令查找符合条件的文件,通过这个小知识点的学习,希望读者在今后的工作学习中遇到想要查找符合条件的文件,能用到词知识点。
利用Linux的find命令可以查找指定文件的名称、类别、时间、大小以及权限等不同信息的组合,只有完全相符的文件才会被列出来。
命令语法:
find [路径] [选项]
命令中各选项的含义如表所示。
选项
选项含义
-name
按照文件名来查找文件
-perm
按照文件的权限来查找文件
-user
按照文件的用户所有者来查找文件
-group
按照文件的组群所有者来查找文件
-atime n
在过去n天内被访问过(atime)的文件,n代表数字
-amin n
在过去n分钟内被访问过(atime)的文件,n代表数字
-ctime n
在过去n天内被更改过(ctime)的文件,n代表数字
-cmin n
在过去n分钟内被更改过(ctime)的文件,n代表数字
-mtime n
在过去n天内被修改过(mtime)的文件,n代表数字
-mmin n
在过去n分钟内被修改过(mtime)的文件,n代表数字
-size n[ckMG]
查找大小为n的文件,n代表数字,c代表字节,k代表KB,M代表MB,G代表GB
-empty
查找空文件,可以是普通的文件或目录
-type
按照文件类型来查找文件
-fstype
按照指定文件系统类型来查找文件
-uid
按照文件的用户所有者的UID来查找文件
-gid
按照文件的组群所有者的GID来查找文件
-inum n
按照文件的inode号码来查找文件
-writable
匹配可写文件
在查找文件时可以定义不同的文件类型,如表所示。
字符
含义
b
块设备文件
d
目录
c
字符设备文件
p
管道文件
l
符号链接文件
f
普通文件
s
socket文件
例:查找/boot目录下的启动菜单配置文件grub.cfg。
[root@rhel ~]# find /boot -name grub.cfg
例:查找“/”目录下所有以“.conf”为扩展名的文件。
[root@rhel ~]# find / -name '*.conf'
例:列出当前目录及其子目录下所有最近20天内更改过的文件。
[root@rhel ~]# find . -ctime -20
例:在/boot目录中查找文件类型为目录的文件。
[root@rhel ~]# find /boot -type d