新随笔  :: 管理

linux常用命令---------------find

Posted on 2019-09-06 14:27  SliverLee  阅读(154)  评论(0编辑  收藏  举报

  1、find 

    基本模式

      find path -option [ -print ] [ -exec -ok command ] {} \;

  2、常用的参数

    -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

    -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。

    -type c : 文件类型是 c 的文件。

    

 

    

    d: 目录

    c: 字型装置文件

    b: 区块装置文件

    p: 具名贮列

    f: 一般文件

    l: 符号连结

    s: socket

    -pid n : process id 是 n 的文件

 

3、举几个高级的例子

    

将目前目录及其子目录下所有延伸档名是 c 的文件列出来。

# find . -name "*.c"

将目前目录其其下子目录中所有一般文件列出

# find . -type f

将目前目录及其子目录下所有最近 20 天内更新过的文件列出

# find . -ctime -20

查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:

 # find /var/log -type f -mtime +7 -ok rm {} \;

 

查找/var/log目录中更改时间在7日以内的普通文件,并在删除之前询问它们:

# find /var/log -type f -mtime -7 -ok rm {} \;

查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:

# find . -type f -perm 644 -exec ls -l {} \;

为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:

# find / -type f -size 0 -exec ls -l {} \;