Linux如何查找文件

64次阅读
没有评论

共计 2441 个字符,预计需要花费 7 分钟才能阅读完成。

这篇文章主要介绍“Linux 如何查找文件”,在日常操作中,相信很多人在 Linux 如何查找文件问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux 如何查找文件”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

Linux 查找文件的方法:1、使用 find 命令,可根据文件的属性进行查找,如文件名、文件大小、所有者、所属组、是否为空、访问时间、修改时间等。2、使用 locate 命令,配合数据库查看文件位置。使用 whereis 命令,可寻找特定文件,只能用于查找二进制文件、源代码文件和 man 手册页。4、使用 which 命令,可查看可执行文件的位置。5、使用 type 命令查找。6、用 grep 命令查找。

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

whereis 命令查找文件

whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数 -b)、man 说明文件(参数 -m)和源代码文件(参数 -s)。如果省略参数,则返回所有信息。

whereis 命令的使用实例:

$ whereis grep

说明:whereis 寻找特定文件,只能用于查找二进制文件、源代码文件和 man 手册页

which 命令查找文件

which 查看可执行文件的位置,只有设置了环境变量的程序才可以用

which 命令的作用是,在 PATH 变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which 命令的使用实例:

$ which grep

type 命令查找文件

type 命令其实不能算查找命令,它是用来区分某个命令到底是由 shell 自带的,还是由 shell 外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用 - p 参数,会显示该命令的路径,相当于 which 命令。

type 命令的使用实例:

$ type cd

系统会提示,cd 是 shell 的自带命令(build-in)。

$ type grep

系统会提示,grep 是一个外部命令,并显示该命令的路径。

$ type -p grep

加上 - p 参数后,就相当于 which 命令。

grep 命令查找文件

grep 是根据文件的内容进行查找,会对文件的每一行按照给定的模式 (patter) 进行匹配查找。

基本格式:

find [options] expression

主要参数:

[options]主要参数:

-c:只输出匹配行的计数。

-i:不区分大小写

-h:查询多文件时不显示文件名。

-l:查询多文件时只输出包含匹配字符的文件名。

-n:显示匹配行及行号。

-s:不显示不存在或无匹配文本的错误信息。

-v:显示不包含匹配文本的所有行。

pattern 正则表达式主要参数:

\:忽略正则表达式中特殊字符的原有含义。

^:匹配正则表达式的开始行。

$: 匹配正则表达式的结束行。

\:从匹配正则表达 式的行开始。

\:到匹配正则表达式的行结束。

[]:单个字符,如 [A] 即 A 符合要求。

[–]:范围,如[A-Z],即 A、B、C 一直到 Z 都符合要求。

.:所有的单个字符。

*:有字符,长度可以为 0。

实例:

grep -r 字符串   很方便

1)grep test d* #显示所有以 d 开头的文件中包含 test 的行

2)grep‘test’aa bb cc #显示在 aa,bb,cc 文件中包含 test 的行

3)grep‘[a-z]\{5\}’aa #显示所有包含每行字符串至少有 5 个连续小写字符的字符串的行

4)grep magic /usr/src #显示 /usr/src 目录下的文件 (不含子目录) 包含 magic 的行

5)grep -r magic /usr/src #显示 /usr/src 目录下的文件 (包含子目录) 包含 magic 的行

6)grep -w pattern files:只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

到此,关于“Linux 如何查找文件”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-12发表,共计2441字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)