Liunx 文件的查找

感情迁移 提交于 2020-03-07 23:38:30

脚本文件的查找

Which命令

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
语法: which [-a] command
-a: 将所有由path目录中可以找出的命令均列出

例子:

which ifconfig

Liunx 文件的查找

which which #找出which的文件名

Liunx 文件的查找

文件查找

whereis

whereis命令只能用于程序名的搜索,如果省略参数,则返回所有信息。
语法:whereis [-bmsu] 文件或目录名
-l : 可以列出whereis 会去查询的几个主要目录
-b: 只找二进制格式文件
-m: 只找在说明文件manual路径下文件
-s: 只找source源文件
-u: 找不在上面三个项目中的其他特殊文件

例子:

whereis ifconfig #找ifconfig文件名

Liunx 文件的查找

whereis -m passwd #只有在man里面文件显示出来

Liunx 文件的查找

find 命令

find,用于在文件树中查找文件并作相应的处理
-name:按照文件名查找文件
-perm:按照文件权限查找文件
-user:按照文件属主来查找文件
-size:按照指定的文件大小查找文件【+n:大于,-n:小于,n:等于】
-group:按照文件所属的组来查找文件
-mtime<-n><+n>:按照文件更改时间来查找文件,-n表示n天之内,+n表示n天以前
-newer file1 file2:查找更改时间在file1和file2之间的文件

例子:

find / -name xitai #查找全系统名为xitai的文件

Liunx 文件的查找

find -mtime -2 #查找48小时修改过的文件

Liunx 文件的查找

find /usr/local -size +100M #查找大于100M的文件

Liunx 文件的查找

find -type d | sort #查找当前所有目标目录并排序

Liunx 文件的查找

find /usr/local/apache-tomcat-admin/ -perm 755 #查找指定目录下权限为755的文件

Liunx 文件的查找

find /etc/ -newer /etc/passwd #查找/etc/比/etc/passwd要新的文件

locate 命令

locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
updatedb:第一次运行前,创建locate数据库
参数:
-i: 忽略大小写
-c:不输出文件名,仅计算文件数量
-l :仅输出几行
-r: 后面可接正则表达式
-S: 输出数据库文件相关信息

例子:

locate -l 5 passwd

如果报错:
Liunx 文件的查找

先安装
yum -y install mlocate
又报错:

Liunx 文件的查找

初始化
updatedb
locate -l 5 passwd

Liunx 文件的查找

locate -S

Liunx 文件的查找

type

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

例子:

type -p ifconfig

Liunx 文件的查找

grep

用于过滤/搜索指定字符串。可以使用正则表达式,能配合多种命令使用。
用法:grep 【选项】 查找内容 源文件
-A:显示符合的行及之后的内容
-B:显示符合的行及之前的内容
-C:显示符合的行及前后的内容
-c:计算符合的行数目
-n:显示匹配行和行号
-i:忽略大小写

规则表达式

^:'^grep'表示匹配所有以grep开头的行
'表示匹配所有以grep结尾的行
.:'gr.p'表示匹配'gr'后面接任意字符然后是'p'
:'grep'表示匹配一个或多个空格后紧跟grep的行
[]:[Gg]rep表示匹配Grep与grep
[^]:[^A-FH-Z]rep表示匹配不以A-F、H-Z开头并紧跟rep的行

例子:

grep -n 'cc' aa.txt
grep -in 'DD' aa.txt
grep -vn 'cc' aa.txt

Liunx 文件的查找

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!