您好,登錄后才能下訂單哦!
本篇內容主要講解“Linux下的find命令怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Linux下的find命令怎么使用”吧!
Linux下的find命令用來在目錄結構中搜索文件,并執行指定的操作。Linux下find命令提供了相當多的查找條件,功能很強大。即使系統中含有網絡文件系統( NFS),find命令在該文件系統中同樣有效。
需要注意的是在運行一個非常消耗資源的find命令時,我們都傾向于把它放在后臺執行,因為遍歷一個大的文件系統可能會花費很長的時間(這里是指30G字節以上的文件系統)。
1. 想查看當前文件夾及子文件夾里文件名含有“log”字樣的的文件
# find . -name "*.log"
. :表示當前目錄
-name:表示要根據名稱查找
2. 想查看當前文件夾及子文件夾里有沒有”xinsz”目錄
# find . -type d -name xinsz
-type:表示設定類型,d表示文件夾類型,可以替換為f(普通文件)、l(鏈接文件)
3. 想找出當前文件夾及子文件夾里所有后綴是”.txt”的文件
# find . -name “*.txt”
4. 想查找當前目錄及其子文件夾中“roc”用戶自己的文件有哪些
# find . -user roc
-user:用于設定所屬用戶的名稱,此處可替換為-group,即所屬用戶組的名稱
5. 想查找當前文件夾及子文件夾里權限設定為777的所有文件
# find . -perm 777
-perm:用于設定權限
6. 想查找當前文件夾及子文件夾里的同時含有b字符和3字符的文件:用到正則表達式技術
# find . -regex ‘.*b.*3’
-regex:表示使用正則表達式進行匹配。請注意,此命令會和“全路徑”進行匹配,也就是說前面要加.*,因為輸出結果中會有“./”符號。
7. 如果想全部輸出用find命令查找出的”*.abc”文件的內容
# find . -type f -name “*.abc” -exec cat {} \;
-exec 表示由find找到的匹配項會作為“-exec后面設定的命令”的參數
可以使用-ok代替-exec,這樣對每個匹配項進行操作,都會要求用戶確認(y為是,n為否)
命令最后的{} \; 別忘了寫,其中{}代表用find查找到的結果中的每一個查找項。
8. 查找當前目錄下在10分鐘內被修改過的文件
# find . -mmin -10
訪問過用amin,修改過用mmin,文件狀態改變過用cmin
精確到分鐘的用amin,mmin,cmin,精確到天的用atime,mtime,ctime
在10分鐘之內的用-10,在5分鐘以上的用+10
9. 想查找當前目錄及子目錄下文件大小大于10M的所有文件
# find . -size +10000000c
-size:表示文件大小,+表示大于某個數,-表示小于某個數。c表示單位是字節,你可以將c換成k,M,G。
10. 上述所有的find命令都是查找當前目錄及其子目錄。如果不想深入到子目錄中,而是只查找當前一層目錄,則可以:
# find . -maxdepth 1 -name “*.c”
11.查找當前所有目錄并排序
# find . -type d | sort
幾個混合應用:
1.查找磁盤中大于3M的文件:
#find . -size +3000k -exec ls -ld {} ;
2.將find出來的東西拷到另一個地方
# find *.c -exec cp ‘{}’ /tmp ‘;’
3.避開多個文件夾
# find test \( -path test/test4 -o -path test/test3 \) -prune -o -print
\ 表示引用 shell不會對\后面的字符做特殊解釋,而留給find命令去解釋其意義。不查找test4 和 test3
到此,相信大家對“Linux下的find命令怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。