linux的find命令

来源:互联网 发布:货单打印软件 编辑:程序博客网 时间:2024/05/24 04:41

find指令

Linux下find命令在目录结构中搜索文件,并执行指定的操作。
Linux下find命令提供了相当多的查找条件,功能很强 。
由于find具有强 的功能,所以它的选项也很多,其中一部分选项都值得我们花时间来了解一下。
即使系统中含有网络文件系统( NFS), find命令在该文件系统中同样有效,只你具有相应的权限。很多都倾向于把它放在后台执行 ,因为遍历整 个的文件系统可能会花费很长的时间(这是指 30G 字节以上的件系统)。

1.命令格式:

find pathname -options [-print -exec -ok ...]

2.命令功能:
在文件树种查找文件,并作出相应的处理(可能访问磁盘)

3.命令参数:
pathname: find命令所查找的目录路径。例如 .来表示当前目录, /来表系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\; 之间的空格。
-ok: 和-exec的作 相同,只不过以 种更为安全的模式来执行该参数所给出的shell命令,在执行每 个命令之前,都会给出提示,让用户来确定是否执行 。

4.命令选项:
-name 按照 件名查找 件。
-perm 按照 件权限来查找 件。
-prune 使 这 选项可以使find命令不在当前指定的 录中查 找,如果同时使 -depth选项,那么-prune将被find命令忽 略。-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-mtime -n +n 按照文件的更改时间来查找 件, - n表示文件更改时间距现在n天以内,+ n表文件更改时间距现在n天以 前。find命令还有-atime和-ctime 选项,但它们都和-m time 选项相同。
-nogroup 查找有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser 查找 有效属主的 件,即该 件的属主在/etc/ passwd中不存在。
-newer file1 ! file2 查找更改时间 件file1新但 件file2旧的 件。
-type 查找某 类型的 件,诸如:
b - 块设备文件。
d - 目录文件。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-size n:[c] 查找 件 度为n块的 件,带有c时表示文件以字节计。
-depth:在查找 件时, 先查找当前 录中的 件,然后再在其 录中查找。
-fstype:查找位于某 类型 件系统中的 件,这些 件系统类 型通常可以在配置 件/etc/fstab中找到,该配置 件中包含了 本系统中有关 件系统的信息。
-mount:在查找 件时不跨越 件系统mount点。
-follow:如果find命令遇到符号链接 件,就跟踪链接所指向的文件。
-cpio`:对匹配的 件使 cpio命令,将这些 件备份到磁带设备 中。
另外,下 三个的区别:
- 建时间来查找 件,-n指n天以内,+n指n天以前
例 :
1. 在/ logs 录中查找更改时间在5 以前的 件并删除它 们:
$ find logs -type f -mtime +5 -exec -ok rm {} \
2. Linux find命令查找 件 为XX的 件的办法

例如: 个 件5556字节,可以这样写
find /root -size -5557c -size +5555c -exec ls -ld {} \;
即查找 于5555字节 于5557字节的 件,以上查找的是/root
find /root -size -500K -size +50K -exec ls -ld {} \;
查找 于500K, 于50K的 件

0 0