如何在Linux中查找一个文件 | 《Linux就该这么学》

find

find命令使用 Linux find命令可以用不同的搜索标准如名字、类型、所属人、大小等来搜索目录树。基本语法如下:

# find path expression search-term

下面是使用find命令根据文件名来查找特定文件的一个例子:

root@e686c631435d:/# find -name redis*
./usr/local/bin/redis-cli
./usr/local/bin/redis-benchmark
./usr/local/bin/redis-server
./usr/local/bin/redis-check-rdb
./usr/local/bin/redis-sentinel
./usr/local/bin/redis-check-aof
find: './proc/1/map_files': Operation not permitted
find: './proc/57/map_files': Operation not permitted
find: './proc/67/map_files': Operation not permitted
root@e686c631435d:\#

命令会搜索整个目录树来查找名为 redis开头的文件,并且会提供其存放位置。

find命令有时会花费几分钟来查找整个目录树,尤其是如果系统中有很多文件和目录的话。要显著减少时间,你可以指定搜索的目录。比如,如果你知道 /var 中存在 redis开头文件,这样,你可以使用下面的命令:

# find /var -name redis*

find还可以根据时间、大小、所属人、权限等选项搜索文件。要了解更多关于这些选项的信息,你可以使用查看** Linux find命令**的手册。

# man find

locate 命令

要在Linux中使用locate命令,首先需要安装它。

如果你正在使用Ubuntu,运行下面的命令来安装locate:

# apt-get update
# apt-get install mlocate

如果你使用的是CentOS,运行下面的命令来安装locate:

# yum install mlocate

locate是一种比find更快的方式,因为它在数据库中查找文件。要更新搜索数据库,运行下面的命令:

# updatedb

使用locate查找文件的语法:

# locate redis*

就像find命令一样,locate也有很多选项来过滤输出。要了解更多你可以查看Linux Locate命令的手册。

# man locate
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐