Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


如何在 Linux 中查找一个文件

2016-12-6 13:46    评论: 9 收藏: 5    

对于新手而言,在 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

如果你喜欢这篇文件,请使用左边的按钮分享到社交网络上,或者在下面留言,谢谢。


via: https://www.rosehosting.com/blog/linux-find-file/

作者:RoseHosting 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

发表评论


最新评论

我也要发表评论

[1]
来自天津的 Mobile Safari|iOS 10.1 用户 发表于 2016-12-12 23:06 的评论:

记得有的同事find之前也updatedb一下,好奇怪啊!
linux [Chrome 54.0|Mac 10.11] 2016-12-13 23:25 回复
哈哈,这就是不求甚解的结果。
mdjbf [Microsoft Edge 14.14393|Windows 10] 2016-12-11 20:47 3 回复
find 命令 -name “文件名”
                -type    文件类型
                !         取反

例如:  find  /data/ -type d ! -name "abc"
#查找出/data目录下不包含abc的目录


希望对大家有用
[1]
jun413947139 [Firefox 50.0|Windows 10] 发表于 2016-12-7 14:39 的评论:

关于    # find -name test.file

命令会搜索整个目录树来查找名为 test.file 的文件,并且会提供其存放位置。你可以使用你 Linux 上一个存在的文件名来尝试一下

If  no paths are given, the current directory is used. (参考man手册) 应该是当前的目录树
linux [Chrome 54.0|Mac 10.11] 2016-12-7 18:11 回复
谢谢,你说的对,这点是没有描述清楚。
TANG^JJ^ [Firefox 50.0|Ubuntu] 2016-12-7 09:48 1 回复
稍微简略了点,希望可以更加地详尽。
来自陕西西安的 Chrome 54.0|Windows 7 用户 2016-12-6 16:04 2 回复
locate 第一次用,速度确实很快!
[1]
来自117.152.70.58的 Chrome 54.0|Windows 10 用户 发表于 2016-12-6 14:01 的评论:

但是作者应该把find命令讲的更详细些,很多人都不愿意看一大堆英文的man page的
linux [Chrome 54.0|Mac 10.11] 2016-12-6 14:36 回复
这只是个引子,我们其实陆续介绍过很多次,各种深度的。

热点评论

mdjbf [Microsoft Edge 14.14393|Windows 10] 2016-12-11 20:47
find 命令 -name “文件名”
                -type    文件类型
                !         取反

例如:  find  /data/ -type d ! -name "abc"
#查找出/data目录下不包含abc的目录


希望对大家有用
3
jun413947139 [Firefox 50.0|Windows 10] 2016-12-7 14:39
关于    # find -name test.file

命令会搜索整个目录树来查找名为 test.file 的文件,并且会提供其存放位置。你可以使用你 Linux 上一个存在的文件名来尝试一下

If  no paths are given, the current directory is used. (参考man手册) 应该是当前的目录树
2
来自陕西西安的 Chrome 54.0|Windows 7 用户 2016-12-6 16:04
locate 第一次用,速度确实很快!
2
来自天津的 Mobile Safari|iOS 10.1 用户 2016-12-12 23:06
记得有的同事find之前也updatedb一下,好奇怪啊!
1
TANG^JJ^ [Firefox 50.0|Ubuntu] 2016-12-7 09:48
稍微简略了点,希望可以更加地详尽。
1
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。