Linux find 命令语法:

# find [start_at] conditions actions

根据上述语法,find 命令从给定的起始位置 start_at 搜索磁盘上的文件,查找符合给定条件的文件和目录,然后执行给定的操作,例如打印出文件名。

在 Linux 中find命令使用示例

顾名思义,find 命令用于在类 UNIX 操作系统中搜索文件和目录。
Find 命令可以根据名称、大小、类型、权限、访问时间、修改时间和许多其他条件搜索文件和目录。
find 命令的一些实际示例如下所示:

欢迎 on it road

Linux find 命令示例

示例 1:如何根据文件名查找文件。

语法:

# find [location-where-To-Find] [options] [File Name]

例子:

# find / -iname interfaces

在上面的命令中'-iname'选项用于不区分大小写,这意味着它将搜索所有匹配接口的文件。

示例 2:查找所有具有 777 权限的文件和目录。

# find / -perm 777

示例 3:在 /root 中查找所有常规文件并具有 644 权限。

# find /root -type f perm 644

同样找到目录中的所有文件:

# find /root -type d

在 /home 文件夹中找到所有具有符号链接的文件:

# find /home -type l

在/文件夹中查找所有套接字文件:

# find / -type s

示例 4:根据文件大小查找文件。

# find /home -size +1G

上面的命令会找到 /home 中所有大于 1GB 的文件。

找到所有大小为 1GB 的文件。

# find /home -size 1G

在 /home 文件夹中查找所有小于 1GB 的文件。

# find /home -size -1G

示例 5:在查找操作后执行命令。

语法:

# find [where-to-search] [options] -exec [command] {} \;

找到所有具有 644 权限的文件并使用 ls -l 命令列出:

# find / -perm 644 -exec ls -l {} \;

找到所有具有“.mp3 扩展名并将其删除”的文件:

# find / -name "*.mp3"  -exec rm -rf {} \;

注意:我们也可以使用 ok 代替 exec 选项,但在 ok 的情况下,它会先询问用户。
如果用户同意,则执行命令,否则返回false。

示例 6:使用 maxdepth 和 mindepth 将文件搜索到特定目录级别。

# find /root -maxdepth 2 -type f -perm 644

上面的命令将搜索 /root 文件夹下的所有常规文件,并向下一级。
(即 /root - 级别 1,以及一个子目录 - 级别 2),具有 644 权限。

查找所有 maxdepth 为 4. mindepth 为 2 且权限为 644 的常规文件:

# find / -maxdepth 4 -mindepth 2 -type f -perm 644

示例 7:使用 inode 编号搜索文件和目录。

# find -inum [inode-numbers]

示例 8:根据文件的修改和访问时间查找文件。

Linux找到60多天前目录/home下修改过的文件:

# find /home -mtime +60

在 /var/spool 文件夹中找到至少两天前访问过的文件:

# find /var/spool -atime +1

示例 9:查找/文件夹中的所有空文件和目录。

# find / -empty

示例 10:find 命令中的 Print 和 xargs 选项。

# find / -type f -perm 644 -print0 | xargs -0 ls -l

上面的命令将查找所有具有 644 权限的常规文件并打印所有匹配文件并将输入提供给 xargs。

日期:2020-09-17 00:14:27 来源:oir作者:oir