Linux下搜文件

在Linux 下搜文件, 通常先使用 whereis 或 locate ,如果找不到,才以 find 来搜寻!因为 whereis 与 locate 是利用数据库来搜寻数据,比较省时间!

<<鸟哥的Linux私房菜>>

1  whereis (寻找特定文件)

whereis [-bmsu] 文件或目录名
-b : 只找 binary 格式的文件 -m : 只找在说明档 manual 路径下的文件 -s : 只找 source 来源文件 -u : 搜寻不在上述三个项目当中的其他特殊文件
例一:找出 ifconfig 文档
whereis ifconfig

ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
例二:找出跟 passwd 有关的『说明文件』档名(man page)
whereis -m passwd

passwd: /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz /usr/share/man/man1/passwd.1ssl.gz

2  locate

 locate 的使用更简单,直接在后面输入『文件的部分名称』后,就能够得到结果。

locate [-ir] keyword

-i  :忽略大小写的差异;
-r  :后面可接正规表示法的显示方式

例一:找出系统中所有与 passwd 相关的档名
locate passwd

/etc/passwd
/etc/passwd-
/etc/alternatives/kpasswd
...省略....

 3  find

find [PATH] [option] [action]

1. 与时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明 -mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件; -mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件档名; -mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件档名。 -newer filefile 为一个存在的文件,列出比 file 还要新的文件档名

例一:将过去系统24小时内有更动过内容(mtime)的文件列出
find / -mtime 0
# 那个 0 是重点!0 代表目前的时间,所以,从现在开始到 24 小时前,
# 有变动过内容的文件都会被列出来!那如果是三天前的 24 小时内?
# find / -mtime 3 有变动过的文件都被列出的意思!

例二:寻找 /etc 底下的文件,如果文件日期比 /etc/passwd 新就列出
find /etc -newer /etc/passwd
# -newer 用在分辨两个文件之间的新旧关系是很有用的!

   

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。