如何在 Linux 中查找一个文件
| 2016-12-06 13:46:00 评论: 9
对于新手而言,在 Linux 中使用命令行可能会非常不方便。没有图形界面,很难在不同文件夹间浏览,找到需要的文件。本篇教程中,我会展示如何在 Linux 中查找特定的文件。
第一步要做的是通过 SSH 连接到你的 Linux。在 Linux 中查找文件有两种方法。一种是使用 find
命令,另外一种是使用 locate
命令。我们先看第一种。
find 命令
使用 Linux find 命令可以用不同的搜索标准如名字、类型、所属人、大小等来搜索目录树。基本语法如下:
# find path expression search-term
下面是使用 find 命令根据文件名来查找特定文件的一个例子:
# find -name test.file
命令会搜索整个目录树来查找名为 test.file
的文件,并且会提供其存放位置。你可以使用你 Linux 上一个存在的文件名来尝试一下。
find 命令有时会花费几分钟来查找整个目录树,尤其是如果系统中有很多文件和目录的话。要显著减少时间,你可以指定搜索的目录。比如,如果你知道 /var
中存在 test.file
,那就没有必要搜索其它目录。这样,你可以使用下面的命令:
# find /var -name test.file
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 test.file
就像 find 命令一样,locate 也有很多选项来过滤输出。要了解更多你可以查看Linux Locate 命令的手册。
# man locate
如果你喜欢这篇文件,请使用左边的按钮分享到社交网络上,或者在下面留言,谢谢。
- linux [Chrome 54.0|Mac 10.11] 2016-12-13 23:25
- 哈哈,这就是不求甚解的结果。
- 来自天津的 Mobile Safari|iOS 10.1 用户 2016-12-12 23:06
- 记得有的同事find之前也updatedb一下,好奇怪啊!
- mdjbf [Microsoft Edge 14.14393|Windows 10] 2016-12-11 20:47
- find 命令 -name “文件名”
-type 文件类型
! 取反
例如: find /data/ -type d ! -name "abc"
#查找出/data目录下不包含abc的目录
希望对大家有用
- linux [Chrome 54.0|Mac 10.11] 2016-12-07 18:11
- 谢谢,你说的对,这点是没有描述清楚。
- jun413947139 [Firefox 50.0|Windows 10] 2016-12-07 14:39
- 关于 # find -name test.file
命令会搜索整个目录树来查找名为 test.file 的文件,并且会提供其存放位置。你可以使用你 Linux 上一个存在的文件名来尝试一下
If no paths are given, the current directory is used. (参考man手册) 应该是当前的目录树
- TANG^JJ^ [Firefox 50.0|Ubuntu] 2016-12-07 09:48
- 稍微简略了点,希望可以更加地详尽。
- 来自陕西西安的 Chrome 54.0|Windows 7 用户 2016-12-06 16:04
- locate 第一次用,速度确实很快!
- linux [Chrome 54.0|Mac 10.11] 2016-12-06 14:36
- 这只是个引子,我们其实陆续介绍过很多次,各种深度的。
- 来自117.152.70.58的 Chrome 54.0|Windows 10 用户 2016-12-06 14:01
- 但是作者应该把find命令讲的更详细些,很多人都不愿意看一大堆英文的man page的