加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

Linux查找文件6个高效工具

发布时间:2019-07-03 19:41:48 所属栏目:Windows 来源:佚名
导读:1. 前言 我们使用Linux过程中,经常会有搜索文件的需求,那么Linux命令下有哪些工具可以快速查找文件呢?先来了解一下这些工具: linux查找文件 1.1 find命令 Linux find 命令是所有 Linux 命令中最有用的一个,同时也是最混乱的一个。它很难,因为它的语法

locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库,CentOS7数据库的位置在/var/lib/locatedb,CentOS6数据库位置在/var/lib/mlocate/mlocate.db,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,默认情况下每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

以CentOS7.5最小化安装为例,默认情况下,系统并没有集成该工具,需要手动安装它:

安装locate工具:

  1. [root@zcwyou ~]# yum -y install mlocate 

看到以下输出表明安装成功:

Total download size: 113 k

Installed size: 379 k

Downloading packages:

mlocate-0.26-8.el7.x86_64.rpm | 113 kB 00:00:01

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

Installing : mlocate-0.26-8.el7.x86_64 1/1

Verifying : mlocate-0.26-8.el7.x86_64 1/1

Installed:

mlocate.x86_64 0:0.26-8.el7

Complete!

更新数据库,即把系统中所有文件信息写入数据库/var/lib/mlocate/mlocate.db

  1. [root@zcwyou ~]# updatedb 

查看以.txt结尾的文件:

  1. [root@zcwyou ~]# locate *.txt 

输出结果:

/root/abc.txt

/root/cisco1.txt

/root/cisco2.txt

/root/compress.txt

/root/cp1.txt

/root/cp2.txt

/root/cut.txt

/root/cut2.txt

/root/diff1.txt

/root/diff2.txt

/root/test.txt

/root/zcwyou.txt

5. grep命令查找文本内容

5.1 根据内容查找

显示所有以d开头的文件中包含test的行。

  1. [root@zcwyou ~]# grep 'test' d* 

显示在aa,bb,cc文件中匹配test的行。

  1. [root@zcwyou ~]# grep 'test' aa bb cc 

显示所有包含每行字符串至少有5个连续小写字符的字符串的行

  1. [root@zcwyou ~]# grep ‘[a-z]{5}’ aa 

显示/usr/src目录下的文件(不含子目录)包含test的行

  1. [root@zcwyou ~]# grep test /usr/src 

显示/usr/src目录下的文件(包含子目录)包含test的行

  1. [root@zcwyou ~]# grep -r test /usr/src 

在zcwyou.txt文件中查找整个单词,而不是字符串的一部分(如匹配’test’,而不是’tester123’),

  1. [root@zcwyou ~]# grep -w test zcwyou.txt 

不区分大小写地搜索。默认情况区分大小写

  1. [root@zcwyou ~]# grep -i test zcwyou.txt 

查找关键字test,列出包括test的文件名,在当前目录找

  1. [root@zcwyou ~]# grep -l test *.txt 

查找关键字test,列出不包括test的文件名,在当前目录找

  1. [root@zcwyou ~]# grep -L test *.txt 

5.2 以递归的方式查找符合条件的文件

在/var/log及其子目录里,查找带有shutdown关键字的文件

  1. [root@zcwyou ~]# grep -r shutdown /var/log 

5.3 反向查找

通过"-v"参数可以打印出不符合条件行的内容。

查找文件名中包含 test 的文件中不包含test 的行,此时,使用的命令为:

  1. [root@zcwyou ~]# grep -v test *test* 

6. whereis命令

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

whereis命令的使用实例:

查看pwd命令程序所有的位置以及说明文件所在的位置

  1. [root@zcwyou ~]# whereis pwd 

输出结果:

pwd: /usr/bin/pwd /usr/share/man/man1/pwd.1.gz

7. which命令

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

  1. [root@zcwyou ~]# which wget 

输出结果:

/usr/bin/wget

8. type命令

查找wget程序的位置

  1. [root@zcwyou ~]# type wget 

输出结果:

wget is /usr/bin/wget

查找du程序的位置,使用选项-p,相当于which命令

  1. [root@zcwyou ~]# type -p du 

输出结果

/usr/bin/du

查找cd程序的位置,显示为builtin,即为Linux内置命令

  1. [root@zcwyou ~]# type cd 

输出结果表明,cd命令为系统集成命令。

cd is a shell builtin

查找ll程序的位置

  1. [root@zcwyou ~]# type ll 

输出结果表示,ll是ls -l的别名。

ll is aliased to `ls -l --color=auto'/

本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:

https://www.linuxrumen.com/rmxx/176.html

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读