Linux查找文件的命令
Linux系統中有如下5種查找文件的方式,本文主要介紹find
命令的使用方式。
-
find
- 命令是根據文件的屬性(如文件名,文件大小,所有者,所屬組,是否為空,訪問時間,修改時間等)進行查找。 -
grep
- 根據文件的內容進行查找,會對文件的每一行按照給定的模式(patter)進行匹配查找。 -
which
- 查看可執行文件的位置 ,只有設置了環境變量的程序才可以用 -
whereis
- 尋找特定文件,只能用於查找二進制文件、源代碼文件和man手冊頁 -
locate
- 配合數據庫查看文件位置
find命令
基本格式:find path expression
按照文件名查找
find / -name httpd.conf # 在根目錄下查找文件httpd.conf,表示在整個硬盤查找
find /etc -name httpd.conf # 在/etc目錄下文件httpd.conf
find /etc -name '*srm*' # 使用通配符。表示在/etc目錄下查找文件名中含有字符串'srm'的文件
find . -name 'srm*' # 表示當前目錄下查找文件名開頭是字符串'srm'文件
按照文件特征查找
find / -amin -10 # 查找在系統中最后10分鍾訪問的文件(access time)
find / -atime -2 # 查找在系統中最后48小時訪問的文件
find / -empty # 查找在系統中為空的文件或者文件夾
find / -group cat # 查找在系統中屬於 group為cat的文件
find / -mmin -5 # 查找在系統中最后5分鍾里修改過的文件(modif
find / -mtime -1 # 查找在系統中最后24小時里修改過的文件
find / -user fred # 查找在系統中屬於fred這個用戶的文件
find / -size +10000c # 查找出大於10000000字節的文件(c:字節,w:雙字,k:KB,M:M
find / -size -1000k # 查找出小於1000KB的文件
使用混合查找方式查找文件
參數有!
-and(-a)
-or(-o)
find /tmp -size +10000c -and -mtime +2 # 在/tmp目錄下查找大於10000字節並在最后2分鍾內修改的文件
find / -user fred -or -user george # 在/目錄下查找用戶是fred或者george的文件文件
find /tmp ! -user panda # 在/tmp目錄中查找所有不屬於panda用戶的文件