去评论
海欣资源

使用Linux find命令:查找目录或文件

asqs121
2022/06/03 19:07:09
find 命令可以在命令的层次结构中查找文件和目录。它可以使用文件名、文件大小、修改时间和类型等条件进行查找。

find 命令的语法格式如下:
[root@bogon ~]# find 搜索路径 [选项] 搜索内容

find 命令有两个参数分别用来指定搜索路径和搜索内容。

find 命令可以根据不同的选项指定按照不同类型的搜索内容进行查找。选项的可选值如下:

    按照文件名搜索:
    -name:按照文件名搜索;
    -iname:按照文件名搜索,不区分文件名大小;
    -inum:按照 inode 号搜索。
    注意,在使用 find 命令进行搜索时,搜索的文件名必须和搜索的内容一致才能找到;Linux 中的文件名是区分大小写的,因此可以用 -iname 来搜索;每个文件都有 inode 号,如果我们知道 inode 号,也可以按照 inode 号来搜索文件。

    按照文件大小搜索:
    -size[+ | -]n:按照指定大小搜索文件,查找大小大于 +n、小于 -n 或等于 n 的文件。n 代表 512 字节大小的数据块个数。

    按照修改时间搜索:
    -atime [+ | -]n:按照文件访问时间搜索,查找访问时间已经超过 +n 天、低于 -n 天或正好等于 n 天的文件;
    -mtime [+ | -]n:按照文件更改时间搜索,查找更改时间是在 +n 天之前、不到 -n 天或正好在 n 天之前的文件。

    按照所有者和所属组搜索:
    -uid 用户ID:按照用户 ID 查找所有者是指定 ID 的文件。
    -gid 组ID:按照用户组 ID 查找所属组是指定 ID 的文件。
    -user 用户名:按照用户名查找所有者是指定用户的文件。
    -group 组名:按照组名查找所属组是指定用户组的文件。
    -nouser:查找没有所有者的文件。

    按照文件类型搜索:
    -type d:查找目录。
    -type f:查找普通文件。
    -type l:查找软链接文件。

    逻辑运算符。
    -a:意思为“and逻辑与”。-a 代表逻辑与运算,-a 的两个条件都成立,find 搜索的结果才成立。
    -o:意思为“or逻辑或”。-o 选项代表逻辑或运算,-o 的两个条件只要其中一个成立,find 命令就可以找到结果。
    -not:意思为“not逻辑非”。-not 是逻辑非,也就是取反。

【例 1】目录下查找文件名为 test 的文件
  1. [root@bogon demo]# find / -name test
  2. /lib/alsa/init/test
  3. /root/demo/test
  4. /root/demo/test/test
  5. /root/linux/test1/test
  6. /usr/lib64/python2.6/test
  7. /usr/bin/test
如上所示,查找出 / 根目录下文件名为 test 的所有文件。