您好,登录后才能下订单哦!
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
语法: which [-a] command
-a: 将所有由path目录中可以找出的命令均列出
which ifconfig
which which #找出which的文件名
whereis命令只能用于程序名的搜索,如果省略参数,则返回所有信息。
语法:whereis [-bmsu] 文件或目录名
-l : 可以列出whereis 会去查询的几个主要目录
-b: 只找二进制格式文件
-m: 只找在说明文件manual路径下文件
-s: 只找source源文件
-u: 找不在上面三个项目中的其他特殊文件
whereis ifconfig #找ifconfig文件名
whereis -m passwd #只有在man里面文件显示出来
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的文件
find -mtime -2 #查找48小时修改过的文件
find /usr/local -size +100M #查找大于100M的文件
find -type d | sort #查找当前所有目标目录并排序
find /usr/local/apache-tomcat-admin/ -perm 755 #查找指定目录下权限为755的文件
find /etc/ -newer /etc/passwd #查找/etc/比/etc/passwd要新的文件
locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
updatedb:第一次运行前,创建locate数据库
参数:
-i: 忽略大小写
-c:不输出文件名,仅计算文件数量
-l :仅输出几行
-r: 后面可接正则表达式
-S: 输出数据库文件相关信息
locate -l 5 passwd
如果报错:
先安装
yum -y install mlocate
又报错:
初始化
updatedb
locate -l 5 passwd
locate -S
type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。
type -p ifconfig
用于过滤/搜索指定字符串。可以使用正则表达式,能配合多种命令使用。
用法: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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。