Linux find命令的使用和练习(图文)

find命令:用于查找的命令,多数用来根据文件的属性进行查找。

find语法:find    pathname -options [-print]
                命令    路径名称   选项    输出(可选)

pathname:find命令所查找的目录路径。例如用 . 表示当前目录,用 / 来表示系统根目录。

-print:find命令将匹配的文件输出到标准输出(屏幕),此为默认项,因此-print为可选。

选项:

  1. -name根据文件名查找文件。例如查找/etc目录及其子目录下的所有扩展名为conf的文件使用 find /etc -name "*.conf",如下图:

    有时候我们想让被查找的扩展名高亮显示可以在后面加上 | grep conf。在这里 | 表示管道符,也就是说前面的输出就是关道福后面的输入参数,接着使用grep命令对其结果进行再次过滤。conf是被过滤的结果,默认使用红色显示,如下图:
  2. -perm根据文件权限来查找文件,例如:find . -perm 755表示在当前目录下查找所有者权限为读(4)写(2)执行(1),在所在组是读(4)执行(1)以及其他组为读(4)执行(1)的权限的文件。
    执行find /etc/yum -perm 755会查找满足条件的文件及目录,如下图:

    进入该目录下通过ll命令查看vars文件的权限,ll -d vars 如下图:

    所有则权限(rwx,7),所在组权限(r-x,5),其他组(r-x,5)
  3. -prune使find命令不在当前指定的目录中查找(排除)
    在root目录下创建test目录,进入test目录后创建bin目录,然后在test目录下创建a.txt和b.txt两个文件,然后进入bin目录下再创建a.txt接着在root目录下执行[root@localhost ~]# find test -path "test/bin" -prune -o -print
    将会排除test/bin的内容,如下图:

    -path 表示要排除的目录为 test/bin
  4. -user 表示要查找某一用户的文件,例如:find /home -user test 查找home目录下test用户的所有文件
  5. -nouser 表示要查找没有用户的文件,这些文件没有主人。也许创建这些文件的主人已经被管理员删掉了。
  6. -group表示查找属于某一用户组的文件,-nogroup表示查找没有属于任何用户组的文件信息,例如:
    find / -group nginx 从根目录下开始查找属于nginx用户组的文件信息
    find / -nogroup 从根目录下查找没有属于任何用户组的文件信息
  7. -mtime:表示在某一时间范围内创建的文件。 find /usr/local/nginx -mtime -1表示查找/usr/local/nginx 目录当中一天之内创建的文件,如下图:
  8. 查找3天之前的信息: find /usr/local -mtime +3
  9. 查找某一类型的文件,使用type选项。例如查找当前目录下的所有目录使用 find ./ -type d

    查找非目录的内容 find ./ ! -type d
  10. 查找指定大小的文件,例如 find ./ -size +1000000c表示在当前目录下查找大于1兆的文件(size后面数字的单位为 字节)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值