Linux中find指令的用法
Linux下find指令在目录结构中搜索文件,并执行指定的操作。其提供了相当多的查找条件,功能很强大。
1. 命令格式:
find pathname -options [-print -exec -ok ...]
2. 命令功能:
用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)。
3. 命令参数:
pathname:find命令所查找的目录路径。
(如:用.来表示当前目录,用/表示系统根目录,用~表示home目录。)
-print:find指令建行匹配的文件输出到标准输出。
-exec:find指令对匹配的文件执行该参数所给出的shell命令。
(相应的命令形式为:‘command’ { } \;)
-ok:和-exec的作用相同,不过是以一种更安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前, 都会给出提示,让用户来确定是否执行。
4. 命令选项:
(1)-name 按照文件名查找文件。
“ll”显示所有文件信息:
find指令查看文件“file”:
查找小写字母开头的.c文件:
查找home目录及其子目录中的所有文件:
(2)-perm 按照文件权限查找文件。
在主目录下,查找权限为“664”的文件:
(3)-prune 使find指令不在当前指定的目录中查找。
(4)-user 按照文件属主查找文件。
(5)-group 按照文件所属的组查找文件。
(6)-nogroup 查找无有效所属组的文件。
(7)-nouser 查找无有效属主的文件。
(8)-type 查找某一类型的文件。
如: b——块设备文件 d——目录 c——字符设备文件
p——管道文件 l——符号链接文件 f——普通文件
查找管道文件:
查找目录:
查找普通文件:
(9)-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
在当前目录下查找文件长度超过100块的文件:
在当前目录下查找文件长度为10字节的文件:
在当前目录下查找文件长度大于1K字节的文件:
(10)-depth 查找文件时,先查找当前目录中的文件,然后再在其子目录中查找。
(11)-fstype 查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
(12)-mtime -n 查找n天以内的文件。
-mtime +n 查找n天以前的文件。
在code目录中查找更改时间在5天以内的文件并删除它们:
例题:
1.用find命令查找文件大小为××的文件(如:大小为11字节的文件)。
2.查找小于100k大于10k的文件。
3.查找/目录下文件名为test的目录。
4.查找所有目录名称中以“.log”结尾的目录。
5.查找大小为10k的文件并删除。