文件搜索命令:
1、which /usr/bin/which
显示系统命令所在目录,绝对目录,不能查找文件
which[系统命令]
e.g. whichls
* whereis ls
附:与whereis不同:which会列出这个命令的别名记录
whereis会显示出这个命令的帮助文档所在位置
2、find /usr/bin/find
查找文件或目录,任何文件皆可,如图片,压缩包,网页。。。
语法:find[搜索路径][搜索选项]
a)find/etc -name文件名
find/etc -name init //在目录/etc中查找文件init,最常见
//注意,尽量缩小查找范围,不要在根目录下查找
//不然,1、查找速度非常慢;2、占用大量系统资源
查找结果与Windows不同,Windows会把所有包含 init关键词的文件全都列出来而Linux则只会匹配init关键词
使用通配浮:
*:用于匹配任意字符 find/etc -name init* //查找所有以init开头的文件
find/etc -name * init * // init左右都没有空格,用于查找所有包含init关键词的文件
?:用于匹配单个字符 find/etc -name init??? //这个文件会有七个字符。
sudofind /etc -name ?init?? // Ubuntu
b)find/etc -size文件大小 //他是以数据块为单位的!512字节=0.5K
1K=2blocks
100M=?blocks
100M= 102400K = 102400*2blocks
find/etc -size +204800
在/etc下查找大于80MB大于100MB的文件
find/etc -size - 204800
在/etc下查找大于80MB小于100MB的文件
find/etc -size 204800
在/etc下查找等于100MB的文件 //不常用
c)find/etc -user username查找属于username的文件
find/home/xiaofang/Programme/Data_Structure/ -user xiaofang
d)通过时间值查找:
1、以天为单位: ctime,atime,mtime
2、以分钟为单位: cmin,amin,mmin //更为常用
c-change改变:表示文件的属性被修改过,比如:所有者,所属组,权限
a-access访问:文件被浏览过
m-modify修改:文件内容被修改过
-之内,+超过
e)find/etc -type文件类型以文件类型查找
-f二进制文件
-l软链接文件
-d目录
f)-inum通过i节点进行查找
附:.表示当前目录
find. -inum 10 -exec rm {} \;
找到i节点为10的文件,并删除她
find连接符:
1、-a:and逻辑与
-o:or逻辑或
2、-exec
find….. -exec命令 {}\;//固定格式
{}:find的查询结果
\ :转义符,使得符号命令使用本身的含义
; :语句结束
find/etc -name inittab -exec ls -l {} \;在/etc下查找inittab文件并显示其详细信息
find/home -user sax -exec rm -rf {} \;
删除用户sax所有的文件
另: find/home -user sax -ok rm -rf {} \;
删除用户sax所有的文件
他会提示你是否确认
3、locate[listfile in databases]: /usr/bin/locate //是Linux所特有的命令
寻找文件或目录,最好用于快速定文系统命令,配置文件等
locate[搜索关键字]//速度很快,但有时候会找不到
//locate是在文件数据库中查找的,所以速度会很快,但是如果数据库没有包含这个文件的话,他就会找不到;
配合命令:updatedb[updatethe slocate database]: /usr/bin/updatedb
建立整个系统目录文件的数据库
注意:其执行权限为:root!!!
4、grep: /bin/grep
在文件中搜寻字串匹配的行并输出
grep[指定字串][源文件]
grepftp /etc/services
附:grep功能特别强大,支持正则表达式,她的更加具体的介绍请参考我的另一篇博文:
《LinuxShell学习笔记 二》
http://blog.csdn.net/zjf280441589/article/details/17467069