您的位置:首页 > 运维架构 > Linux

linux文件查找

2016-03-06 10:11 316 查看
在linux下搜索文件只需要几行简单的命令就搞定了,不过不同的指令其功能也是不一样的,使用的时候要灵活选择。

whereis
简单快速

whereis <filename>


直接从数据库查询,但是只能搜索二进制文件bin,man帮助文档,源代码文件-s

locate
快&全

通过
/var/lib/mlocate.db
数据库查找。

不过这个数据库不是实时更新的,系统会使用定时任务每天自动执行
updatedb
更新一次,所以刚添加的文件要手动执行一次
updatedb
才能找得到。

它可以用来查找指定目录下的不同文件类型,比如查找/etc下所有sh开头的文件 :

locate /etc/sh


它不只会在etc目录下查找并且会自动递归子目录进行查找

又比如查找某目录下所有jpg文件:

locate /usr/share/\*.jpg


which
shell内建的一个命令。通常使用which来确定是否安装了某个指定的软件,因为它只从PATH路径去搜索

which man


find
功能最强大也最复杂

可以通过文件类型,文件名,文件属性(时间,权限)进行搜索

基本格式:

find <path> <option> <action>


比如和时间相关的一些命令:

-atime //last access time
-ctime //created time
-mtime //last edit time


-mtime
参数举例:

-mtime n    //edited the day n days ago
-mtime +n   //edited n days ago excluding nth day
-mtime -n   //edited n days ago including nth day

-newer <file>   //edited newer than <file>


e.g.:

find ~ -mtime 0


24小时内有改动

find ~ -newer /home/user/code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: