美文网首页我用 Linux
Linux自学之路find命令详解

Linux自学之路find命令详解

作者: 第乄元素 | 来源:发表于2017-07-04 15:22 被阅读0次

    find命令详解##

    Linux一切皆文件,而需要从整个系统中寻找到自己所需要的文件,就需要用到find命令,可以说是使用最多的Linux命令之一,而且find命令支持正则表达式匹配。
    首先使用man来查看find命令手册。
    find--search for files in a directory hierarchy
    常用语法:
    find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
    常用选项:
    -name:根据文件名查找;
    -type:根据文件类型查找(f-普通文件;d-目录;l-符号链接;b-块设备;c-字符设备;s-套接字);
    -size:根据文件大小查找(b-块<512字节>;c-字节;k-千字节;M-兆字节;G-吉字节);
    -perm [-|/] MODE:根据文件权限查找
    (MODE:精确查找;-MODE:文件权限完全包含此MODE;/MODE:任意一位匹配);
    -user:根据文件属主查找;
    -group:根据文件数组查找;
    根据文件时间戳查找:
    -atime(天)/amin(分钟):访问时间戳
    -mtime(天)/mmin(分钟):修改时间戳
    -ctime(天)/cmin(分钟):改变时间戳

    举个栗子:
    在/home目录下查找所有的txt文件

    find /home -name "*.txt"
    find /home -iname "*.txt"(忽略大小写)

    在/home目录下查找所有的普通文件

    find /home -type f

    在当前目录查找所有10k的文件

    find . -type f -size 10k

    在当前目录查找所有大于10k的文件

    find . -type f -size +10k

    在当前目录查找所有小于10k的文件

    find . -type f -size -10k

    根据时间戳查找文件的使用方法相同,以访问时间戳举例,
    当前目录最近7天内被访问过的文件

    find . -type f -atime -7

    当前目录7天之前前被访问过的文件

    find . -type f -atime +7

    当前目录恰好在七天前被访问过的文件

    find . -type f -atime 7

    在当前目录查找权限为600的文件

    find . -type f -perm 600

    此外,find命令还可以对查询到的文件结果集进行进一步操作
    常用操作:
    -print:打印结果到屏幕上;
    -ls:类似于对查找到的文件执行“ls -l”命令,输出文件的详细信息;
    -delete:删除查找到的文件;
    -ok COMMAND {} ; :对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;
    -exec COMMAND {} ;:对结果集进行COMMAND命令的操作;
    PS:{} ;为固定格式,其中{}代表查找到的结果集。

    相关文章

      网友评论

        本文标题:Linux自学之路find命令详解

        本文链接:https://www.haomeiwen.com/subject/aofxhxtx.html