linux搜索文件命令
linux系統下常用的搜索文件命令是:find命令。
1、find命令簡介:
Linux find命令用來在指定目錄下查找文件。任何位於參數之前的字符串都將被視為欲查找的目錄名,如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件,並且將查找到的子目錄和文件全部進行顯示。
2、語法:
find path -option [ -print ] [ -exec -ok command ] {} ;
3、參數説明:
path : find命令所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄。
-print:find命令將匹配的文件輸出到標準輸出。
-exec:find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為'command' { } ;,注意{ }和;之間的空格。
-ok:和-exec的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用户來確定是否執行。
舉例:
將目前目錄及其子目錄下所有延伸檔名是c的文件列出來:
# find . -name "*.c"
將目前目錄其其下子目錄中所有一般文件列出:
# find . -type f
將目前目錄及其子目錄下所有最近20天內更新過的文件列出:
# find . -ctime -20
查找/var/log目錄中更改時間在7日以前的普通文件,並在刪除之前詢問它們:
# find /var/log -type f -mtime +7 -ok rm {};
查找前目錄中文件屬主具有讀、寫權限,並且文件所屬組的用户和其他用户具有讀權限的文件:
# find . -type f -perm 644 -exec ls -l {};
為了查找系統中所有文件長度為0的普通文件,並列出它們的完整路徑:
# find / -type f -size 0 -exec ls -l {} ;