Linux中find指令的常用选项及示例

Linux下find命令在目录结构中搜索⽂件,并执⾏指定的操作。
Linux下find命令提供了相当多的查找条件,功能很强⼤。由于
find具有强⼤的功能,所以它的选项也很多,其中⼤部分选项都值
得我们花时间来了解⼀下。即使系统中含有网络⽂件系统( NFS),
find命令在该⽂件系统中同样有效,只你具有相应的权限。
现在我就find这条命令及其常用选项做个描述:

  1. 命令格式
    find pathname -options [-print -exec -ok …]
  2. 命令参数
    pathname: find命令所查找的目录路径。例如⽤.来表⽰当前⺫
    录,⽤/来表⽰系统根目录。 

    -print: find命令将匹配的⽂件输出到标准输出。 

    -exec: find命令对匹配的⽂件执⾏该参数所给出的shell命
    令。相应命令的形式为’command’ { } \;,注意{ }和\;
    之间的空格。 

    -ok: 和-exec的作⽤相同,只不过以⼀种更为安全的模式来执⾏
    该参数所给出的shell命令,在执⾏每⼀个命令之前,都会给出提
    ⽰,让⽤户来确定是否执⾏;
    {} 、;
  3. 命令选项
    -name 按照⽂件名查找⽂件,查找时文件名大小写敏感(-iname 不区分大小写),只能搜索到文件名,如果需要搜索文件内容里包含的特定字符串,需要用grep(用的最常见);
    name
    -perm 按照⽂件权限来查找⽂件。
    prem
    -prune 使⽤这⼀选项可以使find命令不在当前指定的目录中查
    找,如果同时使⽤-depth选项,那么-prune将被find命令忽
    略。
    -user 按照⽂件属主来查找⽂件。
    user
    -group 按照⽂件所属的组来查找⽂件。
    group
    -mtime -n +n 按照⽂件的更改时间来查找⽂件, - n表⽰⽂
    件更改时间距现在n天以内,+ n表⽰⽂件更改时间距现在n天以
    前。find命令还有-atime和-ctime 选项,但它们都和-m time
    选项相同。
    mtime
    -nogroup 查找⽆有效所属组的⽂件,即该⽂件所属的组在/etc/groups中不存在。
    -nouser 查找⽆有效属主的⽂件,即该⽂件的属主在/etc/
    passwd中不存在。
    -newer file1 ! file2 查找更改时间⽐⽂件file1新但⽐⽂
    件file2旧的⽂件。
    -type 查找某⼀类型的⽂件,诸如:
    b - 块设备⽂件。
    d - 目录。
    c - 字符设备⽂件。
    p - 管道⽂件。
    l - 符号链接⽂件。
    f - 普通⽂件。
    type
    -size n:[c] 查找⽂件⻓度为n块的⽂件,带有c时表⽰⽂件⻓
    度以字节计。
    size
    -depth:在查找⽂件时,⾸先查找当前目录中的⽂件,然后再在其
    ⼦目录中查找。
    -fstype:查找位于某⼀类型⽂件系统中的⽂件,这些⽂件系统类
    型通常可以在配置⽂件/etc/fstab中找到,该配置⽂件中包含了
    本系统中有关⽂件系统的信息。
    -mount:在查找⽂件时不跨越⽂件系统mount点。
    -follow:如果find命令遇到符号链接⽂件,就跟踪⾄链接所指向
    的⽂件。
    -cpio:对匹配的⽂件使⽤cpio命令,将这些⽂件备份到磁带设备
    中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章