文件搜索命令

目录

 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