搜索位置快捷方式
find 命令后的第一个参数是我们要搜索的位置。
尽管我们可以指定一个特定的目录,但我们可以使用元字符作为替代。
与此命令一起使用的三个元字符包括:
- 句点 (.) :指定当前和所有嵌套文件夹。
- 正斜杠 (/) :指定整个文件系统。
- 波浪号 (~) :指定活动用户的主目录。
搜索整个文件系统可能会产生拒绝访问错误。
如果我们需要在标准帐户通常无法访问的地方进行搜索,请使用提升的权限运行该命令(通过使用 sudo 命令)。
模式 (pattern)
搜索文件时,可以使用模式。
例如,搜索所有扩展名为 mp3 的文件:
find / -name *.mp3
根据我们使用的shell,我们可能需要转义星号。
如果我们运行该命令并没有得到我们期望的结果,请尝试引用整个模式以转义星号,如下所示: find/-name '*.mp3'
在 Linux 中使用“find”命令定位文件
用于搜索文件的命令称为 find 。
find 命令的基本语法如下:
find filename
默认情况下,当前活动路径标记搜索位置。
要搜索整个驱动器,执行以下内容:
find / filename
但是,如果要搜索当前所在的文件夹,请使用以下语法:
find . filename
在整个驱动器中按名称搜索时,请使用以下语法:
find / -name filename
- find 命令的第一部分是 find 命令。
- 第二部分是从哪里开始搜索。
- 下一部分是确定要查找的内容的表达式。
- 最后一部分是要查找的文件的名称。
要访问大多数发行版中的 shell(有时称为终端窗口),请单击相关图标或者按 Ctrl+Alt+T。
Find 命令的使用示例
以下是使用 find 命令的一些方法。
Linux 如何查找X天前访问过的文件
要查找 100 多天前访问过的主文件夹中的所有文件:
find ~ -atime +100
Linux如何查找空文件和文件夹
要查找系统中的所有空文件和文件夹:
find / -empty
Linux如何查找所有可执行文件
要查找计算机上的所有可执行文件:
find / -executable
Linux如何查找所有可读文件
要查找所有可读的文件:
find / -readable
如何对找到的文件进行操作
要同时搜索和编辑文件,执行:
find / -name filename -exec nano '{}' \;
上面的命令搜索名为 filename 的文件,然后为找到的文件运行 nano 编辑器。
Nano 是命令的名称,而不是此语法的确切部分。
表达式
我们将使用的最常见的表达式是 -name ,它搜索文件或者文件夹的名称。
但是,我们还可以使用其他表达式:
- -amin n :文件上次访问时间为 +/- n 分钟前,具体取决于我们输入时间的方式。
- -anewer :以另一个文件作为参考,以查找最近访问过的任何文件和参考文件。
- -atime n :上次访问文件的次数比 n 天前多/少,具体取决于我们输入目标时间 (n) 的方式。
- -cmin n :文件最后一次更改是在 n 分钟前,具体取决于我们输入目标时间 (n) 的方式。
- -cnewer :以另一个文件作为参考,以查找最近访问过的任何文件和参考文件。
- -ctime n :上次访问文件的次数多于/少于 n 天,具体取决于我们输入目标时间 (n) 的方式。
- -empty :文件为空。
- -executable :文件是可执行的。
- -false :始终为假。
- -fstype 类型:文件位于指定的文件系统上。
- -gid n :文件属于 ID 为 n 的组。
- -group groupname :文件属于命名组。
- -ilname 模式:搜索符号链接但忽略大小写。
- -iname 模式:搜索文件但忽略大小写。
- -inum n :搜索具有指定 inode 的文件。
- -ipath path :搜索路径但忽略大小写。
- -iregex 表达式:搜索表达式但忽略大小写。
- -links n :搜索具有指定链接数的文件。
- -lname 名称:搜索符号链接。
- -mmin n :文件上次访问时间为 +/- n 分钟前,具体取决于我们输入时间的方式。
- -mtime n :上次访问文件的次数比 n 天前多/少,具体取决于我们输入目标时间 (n) 的方式。
- -name name :搜索具有指定名称的文件。
- -newer name :搜索比给定参考文件最近编辑的文件。
- -nogroup :搜索没有组 ID 的文件。
- -nouser :搜索没有添加用户的文件。
- -path path :搜索路径。
- -readable :查找可读的文件。
- -regex 模式:搜索匹配正则表达式的文件。
- -type type :搜索特定类型。类型选项包括:
- -type d : 目录
- -type f : 文件
- -type l : 符号链接
- -uid uid :文件数字用户 id 与 uid 相同。
- -user name :文件归指定的用户所有。
- -writable :搜索可以写入的文件。
如何将 Find 命令的输出发送到文件
find 命令的主要问题是它有时会返回太多结果而无法一次性查看。
将输出通过管道传输到 tail 命令,或者将行输出到文件,如下所示:
find / -name *.mp3 -fprint nameoffiletoprintto