[linux学习笔记] 文件搜索命令




1、find,文件搜索

find [搜索范围] [匹配条件];

匹配符:* 匹配任意个任意字符, ?匹配任意单个字符;

-iname:不区分大小写;

-size: +n,大于n, -n,小于n, n,等于n(n:以数据块计算,一个数据块512字节,0.5K,100MB=204800个数据块);

-user/-group:根据用户或者用户组查找;

find  /etc -cmin -5:在etc下查找5分钟内被修改过属性的文件和目录。+:超过多少时间,-:多少分钟之内;-amin 访问时间access;-cmin 文件属性change;-mmin 文件内容modify;

-a:两个条件同事满足;

-o:两个条件满足任意一个即可;

-type:f,文件;d,目录;l,软连接文件;

-exec/-ok ls -l {} \;  :对搜索结果进行执行操作;

inum:根据i节点查找。 例如:find . -inum 1497 -ok rm {} \;

2、locate,在文件资料库中查找文件(如果库没更新就找不到)

locate 文件名;

updatedb,更新locate数据库;

locate不收录临时文件夹/tmp内的内容;

locate -i 不区分大小写;

3、which,搜索命令所在目录及别名信息

which [命令名称],比如which cp,查找cp这个命令所在目录和别名

4、whereis,搜索命令所在目录及帮助文档路径

whereis [命令名称],比如 whereis ls,查找ls这个命令所在目录和帮助文档路径

5、grep,在文件中搜寻字串匹配的行并输出

-i 不区分大小写

-v 排除指定字串:grep -v ^# /etc/inittab(^表示以#开头的行)

标签: linux