文件搜索命令
目录
1. 文件搜索指令:find
2. 文件搜索指令:locate
3. 文件搜索指令:updatedb
4. 文件搜索指令:which
5. 文件搜索指令:whereis
6. 文件搜索指令:grep
1. 文件搜索指令:find
find 文件搜索(查找文件或目录)
命令所在路径: /usr/bin/find
语法:
find (搜索范围)(匹配条件)
find [搜索路径] [搜寻关键字]
范例:
$ find /etc -name init
在目录/etc中查找文件init
-name 根据文件名来查找
-iname 不区分大小写
* 匹配任意字符 init* *init*
? 匹配单个字符 init???
$ find / -size +204800
在根目录下查找大于100MB的文件
-size 根据文件大小查找 [block数据块]的大小512字节=0.5KB 100MB=?block 100MB=102400KB=204800block
+n 大于 -n 小于 n 等于
$ find /home -user shenchao
在家目录下查找所有者为shenchao的文件
-user 根据文件所有者查找
-group 根据所属组查找
$ find /etc/ -ctime -2
$ find /etc/ -mmin -120
在/etc下查找24小时内被修改过属性的文件和目录
按时间进行查找
1. 天 ctime、atime、mtime
2. 分钟 cmin、amin、mmin
c-change 改变过,表示文件属性被修改过,所有者、所属组、权限
a-access 访问过
m-modify 修改过,表示文件的内容被修改过
具体时间前加: - 多长时间之内, + 超过多长时间
$ find /etc -size +163840 -a -size -204800
在/etc下查找大于80MB小于100MB的文件
连接符:
-a 两个条件同时满足(-a and 逻辑与)
-o 两个条件满足任意一个即可(-o or 逻辑或)
$ find /etc -name inittab -exec ls -l {} \;
在/etc下查找inittab文件并显示其详细信息
连接符:
-exec/-ok 命令 {} \; (固定格式)对搜索结果执行操作
-exec 不询问确认
-ok 询问确认
{} find查询的结果
\ 转义符,使一些符号命令使用本身的含义
; 结束
$ find /etc -name init* -a -type f -exec ls -l {} \;
$ find . -inum 16 -exec rm {} \;
-type 根据文件类型查找
f 二进制文件 d 目录 l 软链接文件
-inum 根据i节点查找
2. 文件搜索指令:locate
指令名称:locate
指令英文原义:list files in databases
指令所在路径:/usr/bin/locate
执行权限:ALL User
语法:locate[搜索关键字]
功能描述:寻找文件或目录
范例: $ locate file 列出所有跟file相关的文件
3. 文件搜索指令:updatedb
指令名称:updatedb
指令英文原义:update the slocate database
指令所在路径:/usr/bin/updatedb
执行权限:root
语法:updatedb
功能描述:建立整个系统目录文件的数据库
范例: #update
4. 文件搜索指令:which
搜索命令所在目录及别名信息
命令所在路径:/usr/bin/which
语法:which [命令名称]
范例:$ which ls
5. 文件搜索指令:whereis
搜索命令所在的目录及帮助文件路径
语法 whereis 命令
6. 文件搜索指令:grep
在文件中搜索字符串匹配的行并输出
语法 grep -iv 指定字串 文件
-i 不区分大小写
-v 排除指定字串
需要更详细的了解和实例!!!
指令名称:grep
指令所在路径:/bin/grep
执行权限:所有用户
语法:grep [指定字串][源文件]
功能描述:在文件中搜寻字串匹配的行并输出
范例: # grep ftp /etc/services