linux文件查詢命令是“find”命令,該命令用來在指定目錄下查找文件,任何位于參數之前的字符串都將被視為欲查找的目錄名;如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件,并且將查找到的子目錄和文件全部進行顯示。
本教程操作環境:linux5.9.8系統、Dell G3電腦。
linux文件查詢命令是什么?
find.
Linux find 命令用來在指定目錄下查找文件。任何位于參數之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則 find 命令將在當前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進行顯示。
語法
find???path???-option???[???-print?]???[?-exec???-ok???command?]???{}?;
參數說明 :
find 根據下列規則判斷 path 和 expression,在命令列上第一個 – ( ) , ! 之前的部份為 path,之后的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預設 expression。
expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。
-mount,?-xdev?:?只檢查和指定目錄在同一個文件系統下的文件,避免列出其它文件系統中的文件 -amin?n?:?在過去?n?分鐘內被讀取過 -anewer?file?:?比文件?file?更晚被讀取過的文件 -atime?n?:?在過去?n?天內被讀取過的文件 -cmin?n?:?在過去?n?分鐘內被修改過 -cnewer?file?:比文件?file?更新的文件 -ctime?n?:?在過去?n?天內創建的文件 -mtime?n?:?在過去?n?天內修改過的文件 -empty?:?空的文件-gid?n?or?-group?name?:?gid?是?n?或是?group?名稱是?name -ipath?p,?-path?p?:?路徑名稱符合?p?的文件,ipath?會忽略大小寫 -name?name,?-iname?name?:?文件名稱符合?name?的文件。iname?會忽略大小寫 -size?n?:?文件大小?是?n?單位,b?代表?512?位元組的區塊,c?表示字元數,k?表示?kilo?bytes,w?是二個位元組。 -type?c?:?文件類型是?c?的文件。 d:?目錄 c:?字型裝置文件 b:?區塊裝置文件 p:?具名貯列 f:?一般文件 l:?符號連結 s:?socket -pid?n?:?process?id?是?n?的文件
你可以使用 ( ) 將運算式分隔,并使用下列運算。
exp1?-and?exp2 !?expr -not?expr exp1?-or?exp2 exp1,?exp2
實例
將當前目錄及其子目錄下所有文件后綴為 .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?{}?;
推薦學習:《Linux視頻教程》