Linux文件查找Find命令使用解析
????????Find從英語字面上的意思譯過來是發現,找到的意思,它在linux中作為文件查找命令也十分形象,Find雖說只是個命令,但其功能非常強大。
????????好,下面來說說Find,先來說說它的基本語法格式:
find?[查找路徑]??[查找標準]??[處理動作]
查找標準:
????????-name?文件名稱查找
????????-iname?不區分大小寫查找
????????-user?根據文件屬主查找
????????-group?根據文件屬組查找
????????-uid?根據Uid查找
????????-gid?根據Gid查找
????????-nouser?查找沒屬主的文件
????????-nogroup?查找沒屬組的文件
組合條件:
????????-a?與
????????-o?或
?????????!非
文件類型:
????????-type
按文件大小查找:
????????-size
按時間戳查找:
????????-atime
????????-mtime
????????-ctime
????????-amin
????????-mmin
????????-cmin
按權限查找:
????????-perm?[+|-]?Mode
????????沒有+-表示精確匹配
????????+Mode?表示任何一類用戶的任何一位權限匹配即可
????????-Mode??表示每類用戶的每位權限都匹配
處理動作:
????????-print?顯示
????????-?ls?詳細信息
????????-exec?Command?{}?\;
example:find?/tmp?-atime?+30?-exec?mv?{}?{}.old?\;
這里再引入一個命令:
?xargs?-?build?and?execute?command?lines?from?standard?input
可以通過管道從標準輸入建立和執行命令行
看了這么多,下面舉幾個例子吧:
1.查/tmp下屬主屬組不屬于root,并且在5分鐘之內改過的文件。
#?find?/tmp/?!?-user?root?-a?!?-group?root??-mmin?-5??-ls
2.查找/usr下不屬于root,bin,或者tuchao的文件,并復制到/tmp下。
#?find?/usr???!?\(?-user?root?-o?-user?bin?-o?-user?tuchao?\)?-exec?cp?{}?/tmp??\;
看看,是不是都拷貝過去了。
3.查找當前系統上,一周內內容修改過,且沒有屬主屬組的文件,找到后cp到/tmp/good目錄里。
#?find?/?-mtime?-7?-a?-nouser?-a?-nogroup?|?xargs?-i?cp?{}?/tmp/good
看這里使用了xargs
看圖片前幾行,找到的文件是不是都沒屬主屬組的,當然這些文件都是我做的為了測試用的。
這篇就寫到這也差不多了,例子也基本貫穿了難點,慢慢體會吧!
有問題歡迎與我交流——筆者QQ:1183710107
總結
以上是生活随笔為你收集整理的Linux文件查找Find命令使用解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unity3d AssetBundle包
- 下一篇: http连接管理