今天总共又重新整理了两种命令,现在来重新温习一下:
一.文件搜索命令
1.which+命令名 可以找到命令所在的绝对路径,同时提供命令的别名信息;
2.whereis+命令名 也可以找到命令所在的绝对路径 ,但同时显示的是命令帮助文档所在的位置;
3.find 搜索路径 搜寻关键字
首先需要设定搜索范围,设置查询方法,也就是关键字;
使用原则:尽量节省系统资源开销
选项介绍:(1)-name 根据文件名查找 这儿值得注意的是尽量不要直接在根下查找。
比如: find /etc -name init 在etc目录下查找文件名init的文件,注意只会查找init为文件名的文件。
托管要查找包含init的文件,可以使用通配符:
* 匹配任意个字符, ? 匹配单个字符
比如: find /etc -name init* 查找以init开头的文件。
(2) -size 根据文件大小查找
注意:linux系统中以block数据块为存储单位 1数据块=512个字节 所以文件大小要根据数据块换算过来写,比如100M=204800数据块
大于用+ 小于用- 等于直接在 -size 后跟大小就可以,但是不经常使用!
比如: find / -size +204800 在根目录下查找大于100M的文件
(3) -user 根据文件所有者来查找
find /home -user muxiaofei 在home下查找所有者为muxiaofei的文件
(4)根据时间来查找
分为两种:以天为单位, ctime atime mtime
以分钟为单位, cmin amin mmin
用法:c-change 改变 表示文件的属性被修改过,比如所有者 所属组 权限等被修改了
a-access 访问 表示文件被浏览过
m-modify 表示文件内容被修改过
“-”表示之内。比如 -1 表示一天之内 +1 表示超过一天之内
find /etc -mmin -120 表示查找etc目录下120分钟内被修改过的文件;
这儿附加一个范围应用连接符:
1. -a and 逻辑与 -0 or 逻辑或
find /etc -size +163480 -a -size -204800 表示查找大于80M 小于100M的文件
(5)根据文件类型查找
f 表示二进制文件 l表示软连接文件 d表示目录
find /etc -name inittab -o -size +204800
表示查找文件名为inittab的文件或者文件大于100M的文件
find ….. -exec 命令 {} ; 这里{}表示查询的结果,表示转义符,使得符号或者命令表示本身的含义
比如 rm 默认带i选项,rm 可以去掉i选项,直接删除文件
find ……-ok 命令 {} ;-ok表示询问确认
(6)根据i结点查找
find / -inode 16 -exec rm {} ; 表示查找i结点为16的文件,然后删除
4.locate命令 是linux特有的命令
速度比较快,但是有时候找不到,因为locate是根据系统定期更新的文件数据库里面的信息来查找的;
updatedb 可以建立整个系统目录的文件数据库,用来手工更新;
5.grep命令 在文件中搜寻字符串匹配行输出
比如 grep ftp /etc/services 可以列出services文件中所有含有ftp的文件行
(二)帮助命令 其实这是整个linux最核心的命令
1.man命令 全称manual
可以man 命令名 也可以跟文件名
注意的是:passwd既是命令,同时在etc目录下也有一个passwd文件, man passwd 会优先显示命令的解释
2.info命令 与man区别不大,但是unix中没有这个命令
3.whatis+命令 体输出命令或者配置文件是干什么的,可以找出命令的基本用途
4.apropos 相当于man -k