一、根据文件名查找文件
find命令最常用的选项是-name,该选项可以根据文件名查找文件。下面是该选项的使用方法:
find /path/to/search -name "filename"
-name选项后面跟着的是要查找的文件名,支持通配符(如*.txt)。/path/to/search是查找的目录,如果不指定该目录,则默认在当前目录下查找。
以下是一个示例,查找/var/log/目录下名字以access结尾的文件:
find /var/log/ -name "*access"
执行上面的命令后,会输出/var/log/目录下所有名字以access结尾的文件。
二、根据文件类型查找文件
find命令可以根据文件类型查找文件,常用选项有-type和 -iname。其中 -type 选项用于指定要查找的文件类型。下面是该选项中常用的几个参数:
- f:普通文件
- d:目录
- l:符号链接
- s:套接字
- b:块设备文件
- c:字符设备文件
以下是一个示例,查找当前目录下的所有目录:
find . -type d
-type选项后面指定了 d 参数,该命令会查找当前目录下的所有目录。
而 -iname 选项则用于不区分大小写地查找文件。例如:
find . -iname "email.txt"
该命令会查找当前目录中名为email.txt或EMAIL.TXT等名称的文件。
三、根据文件大小查找文件
find 命令也可以根据文件大小查找文件。常用选项有-size 和 -empty。
-size选项后面可以跟大小参数来查找指定大小的文件,以c为单位,例如:
find /tmp/ -size +1M
该命令会在/tmp目录下查找大小大于1M的文件。
-empty选项用来查找空文件或空目录。例如,查找当前目录下的所有空文件:
find . -type f -empty
四、根据时间属性查找文件
find 命令也可以根据文件的时间属性查找文件,常用选项有-atime,-ctime 和 -mtime。
-atime选项用来查找最近一次访问时间在指定时间之内的文件,以天为单位。例如,查找当前目录下7天内访问过的文件:
find . -type f -atime -7
-ctime选项用来查找最近一次修改时间在指定时间之内的文件,以天为单位。例如,查找当前目录下7天内修改过的文件:
find . -type f -ctime -7
-mtime选项用来查找最近一次修改时间在指定时间之内的文件,以天为单位,用法类似-atime选项。例如,查找当前目录下7天内修改过的文件:
find . -type f -mtime -7
五、根据文件权限查找文件
find 命令也可以根据文件权限查找文件,常用选项有-perm和-user。
-perm选项可以查找拥有指定权限的文件。例如:
find . -type f -perm 0777
该命令会查找当前目录下权限为 0777 的文件(拥有读取、写入和执行权限)。
-user选项可以查找属于指定用户的文件。例如:
find /home/ -type f -user alice
该命令会在/home目录下查找所有属于用户alice的文件。