欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

39. 查找工具 - 命令行 & 文件基本搜索

程序员文章站 2022-06-14 09:06:18
...

开篇词

Linux 给我们提供了便于快速查找文件以及命令位置的工具。
 

查找命令

whereis

我们可以使用 whereis 命令来过去命令二进制文件、源文件和用户手册的路径。
这里有一些 whereis 命令提供的选项:

选项 用途
-s 只搜索源文件
-b 只搜索二进制文件
-m 只搜索手册文件

默认情况下,命令使用了这三个选项:

whereis ls    # 等价于 whereis -sbm ls

39. 查找工具 - 命令行 & 文件基本搜索

locate

我们同样可以使用 locate 命令来查找命令的位置。
这里有一些 locate 命令提供的选项:

选项 用途
-b 或 --basename 根据文件名来搜索
-w 或 --wholename 根据路径加文件名来搜索
-i 或 --ignore-case 路径和文件名可以是大写或小写,无视大小写

默认情况下,命令使用了 -w 选项:

locate '/bin/ls'    # 等价于 locate -w '/bin/ls'

39. 查找工具 - 命令行 & 文件基本搜索
 

查找文件

通过 find 命令,我们可以查找我们想要的几乎所有的文件。
我么来准备一些目录:

touch file01 file02 file03
mkdir -p dir01/dir01_01/dir01_01_01
mkdir -p dir01/dir01_02/dir01_02_01
mkdir -p dir01/dir01_03/dir01_03_01
mkdir -p dir02/dir02_01/dir02_01_01
mkdir -p dir02/dir02_02/dir02_02_01
mkdir -p dir02/dir02_03/dir02_03_01
ll
tree dir01 dir02

39. 查找工具 - 命令行 & 文件基本搜索

这里有一些 find 命令提供的选项:

选项 用途
-name 根据文件名搜索
-path 根据路径名搜索
-type d 搜索目录
-type f 搜索普通文件
-type l 搜索软链接

根据文件名查找

在子目录中遍历名称以 dir 开头的所有文件或目录:

find -name 'dir*'

39. 查找工具 - 命令行 & 文件基本搜索
我们找以下以 dir01 开头的文件或目录:

find -name 'dir01*'

39. 查找工具 - 命令行 & 文件基本搜索

根据路径查找

如果我们想要更高效的查找目录,我们可以使用 -path 选项。
我们来找一下结构类似于 01_02/dir 的目录:

find -path '*01_02/dir*'

39. 查找工具 - 命令行 & 文件基本搜索

搜索目录

我们可以使用 -type d 参数来查找目录:

find -type d

39. 查找工具 - 命令行 & 文件基本搜索

搜索普通文件

我们可以使用 -type f 参数来查找普通文件:

find -type f

39. 查找工具 - 命令行 & 文件基本搜索

搜索软链接

我们可以使用 -type l 参数来查找软链接:

ln -s file01 file01_link    # 这将创建一个名为 file01_link 的软链接
ll file01_link
find -type l

39. 查找工具 - 命令行 & 文件基本搜索
 

我所撰写的英文版本

39. Find Utilities - Commands & Files Searching Basics
 

引用

参见

上一篇:

想看手册的其他内容?请访问该手册的所属专栏:《Linux 管理员手册:既简单又深刻