1.1文件搜索命令find
不论是Wiindow还是Linux,都应该尽量少搜索,因为搜索会占用大量系统资源。
路径:/bin/find
权限:所有用户
语法:find [搜索范围] [匹配条件]
功能:文件搜索
例:
(1)根据文件名查找
$ find /etc -name init
在目录/etc中查找文件init <——精准搜索,只显示文件名为init的文件
-i name 不区分大小写
$ find /etc -name *init*
搜索文件名中包含init的所有文件
init???以init开头,后有3个字母,?:匹配单个字符
init*搜索以init开头的文件,*:匹配任意字符
(2)根据文件大小查找
$find / -size +204800
在根目录下查找大于100MB的文件
+n:大于,-n:小于,n:等于
注:1数据块=512字节=0.5k
100MB=102400k=204800数据块
(3)根据所有者查找
$find /home -user zz
在根目录下查找所有者为zz的文件
(4)根据所属组查找
$ find /home -group lamp
在根目录下查找所属组为lamp的文件
(5)根据修改时间查找
$ find /etc -cmin -5
在/etc下查找5min内被修改过属性的文件和目录
-amin 访问时间 access
-cmin 文件属性 change 文件权限,所有者,所属组
-mmin 文件内容 modify
$ find /etc -size +163840 -a -size -204800
在/etc下查找80MB~100MB的文件
-a:两个都满足
-o:满足任意一个
(6)对搜索结果执行操作
$ find /etc -name inittab -exec ls -l {} \ ;
{} 查找的结果
\ 转义符
;结束
-exec / -OK 命令 {} \;
二者区别在于-OK命令有一个询问环节
-type 根据文件类型查找
f 文件 d 目录 l 软链接文件
(7)根据i节点查找
$ find . -imum 681773
在当前目录查找i节点为681773的文件
ls -i 找到i节点查找
1.2其他文件搜索命令
1.2.1locate
路径:/usr/bin/locate
权限:所有用户
语法:locate 文件名
功能:在文件资料库中查找文件
例:
$ locate inittab
当文件存放在/tmp目录下,locate查找不到
缺点:刚创建的文件为被收纳到资料库中,使用命令后显示查查找不到
解决方法:$ updatedb 更新文件资料库
-locate -i [文件名]:不区分大小写查找
注:/bin/usr/bin下,所有用户可操作
/sbin/usr/sbin 仅root用户可使用
1.2.2which
路径:/usr/bin/which
权限:所有用户
语法:which 命令
功能:搜索命令所在目录及别名信息
例:
$ which ls
1.2.3whereis
路径:/usr/bin/whereis
权限:所有用户
语法:whereis [命令名称]
功能:搜索命令所在目录及帮助文档路径
例:
$ whereis ls
1.2.4grep
路径:/bin/grep
权限:所有用户
语法:grep -iv [指定字串][文件]
功能:在文件中搜寻字串匹配的行并输出
-i 不区分大小写
-v 排除指定字串
例:
# grep mysql /root/install.log