如何在 Linux 中查找一个文件

RoseHosting 的头像

·

·

·

23,212 次阅读

对于新手而言,在 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中国 荣誉推出

9 条回复

  1. 来自117.152.70.58的 Chrome 54.0|Windows 10 用户 的头像
    来自117.152.70.58的 Chrome 54.0|Windows 10 用户

    但是作者应该把find命令讲的更详细些,很多人都不愿意看一大堆英文的man page的

    来自武汉
  2. linux [Chrome 54.0|Mac 10.11] 的头像
    linux [Chrome 54.0|Mac 10.11]

    这只是个引子,我们其实陆续介绍过很多次,各种深度的。

    来自北京
  3. 来自陕西西安的 Chrome 54.0|Windows 7 用户 的头像
    来自陕西西安的 Chrome 54.0|Windows 7 用户

    locate 第一次用,速度确实很快!

    来自西安
  4. TANG^JJ^ [Firefox 50.0|Ubuntu] 的头像
    TANG^JJ^ [Firefox 50.0|Ubuntu]

    稍微简略了点,希望可以更加地详尽。

    来自佛山
  5. jun413947139 [Firefox 50.0|Windows 10] 的头像
    jun413947139 [Firefox 50.0|Windows 10]

    关于    # find -name test.file

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

    If  no paths are given, the current directory is used. (参考man手册) 应该是当前的目录树

  6. linux [Chrome 54.0|Mac 10.11] 的头像
    linux [Chrome 54.0|Mac 10.11]

    谢谢,你说的对,这点是没有描述清楚。

    来自忻州
  7. mdjbf [Microsoft Edge 14.14393|Windows 10] 的头像
    mdjbf [Microsoft Edge 14.14393|Windows 10]

    find 命令 -name “文件名”
                    -type    文件类型
                    !         取反

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

    希望对大家有用

    来自青岛
  8. 来自天津的 Mobile Safari|iOS 10.1 用户 的头像
    来自天津的 Mobile Safari|iOS 10.1 用户

    记得有的同事find之前也updatedb一下,好奇怪啊!

    来自天津
  9. linux [Chrome 54.0|Mac 10.11] 的头像
    linux [Chrome 54.0|Mac 10.11]

    哈哈,这就是不求甚解的结果。

    来自北京

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注