日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux命令之find的用法

發布時間:2024/1/23 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux命令之find的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

find顧名思義就是查找,Linux下find命令提供相當多的查找條件,因此功能比較強大,可以在眾多文件或目錄下查找你想要的任何文件或目錄。

find 命令格式:find pathname -options [-print -exec -ok...]

pathname表示find命令所查找的文件或目錄的路徑。例如:/home/tools/tongyan

-print: find命令將匹配的文件輸出到標準輸出。
-exec: find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為'command' { } \;,注意{ }和\;之間的空格。
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用戶來確定是否執行。

find常用命令格式:

-name?? filename???????????? #查找名為filename的文件
-perm???????????????????????????? #按執行權限來查找
-user??? username????????????#按文件屬主來查找
-group groupname???????????#按組來查找
-mtime?? -n +n??????????????? #按文件更改時間來查找文件,-n指n天以內,+n指n天以前
-atime??? -n +n??????????????? #按文件訪問時間來查GIN: 0px">

-ctime??? -n +n??????????????? #按文件創建時間來查找文件,-n指n天以內,+n指n天以前

-nogroup??????????????????????? #查無有效屬組的文件,即文件的屬組在/etc/groups中不存在
-nouser????????????????????????? #查無有效屬主的文件,即文件的屬主在/etc/passwd中不存
-newer?? f1 !f2????????????????#?找文件,-n指n天以內,+n指n天以前?
-ctime??? -n +n?????????????? #按文件創建時間來查找文件,-n指n天以內,+n指n天以前?
-nogroup?????????????????????? #查無有效屬組的文件,即文件的屬組在/etc/groups中不存在
-nouser??????????????????????? ?#查無有效屬主的文件,即文件的屬主在/etc/passwd中不存
-newer?? f1 !f2?????????????? #查更改時間比f1新但比f2舊的文件
-type??? b/d/c/p/l/f???????? #查是塊設備、目錄、字符設備、管道、符號鏈接、普通文件
-size????? n[c]???????????????? #查長度為n塊[或n字節]的文件
-depth????????????????????????? #使查找在進入子目錄前先行查找完本目錄
-fstype???????????????????????? #查更改時間比f1新但比f2舊的文件
-type??? b/d/c/p/l/f????????#查是塊設備、目錄、字符設備、管道、符號鏈接、普通文件
-size????? n[c]??????????????? #查長度為n塊[或n字節]的文件
-depth??????????????????????? ?#使查找在進入子目錄前先行查找完本目錄
-fstype??????????????????????? #查位于某一類型文件系統中的文件,這些文件系統類型通???在/etc/fstab中找到
-mount?????????????????????? #查文件時不跨越文件系統mount點
-follow?????????????????????? ?#如果遇到符號鏈接文件,就跟蹤鏈接所指的文件
-cpio???????????????????? ???? #查位于某一類型文件系統中的文件,這些文件系統類型通???在/etc/fstab中找到
-mount?????????????????????? #查文件時不跨越文件系統mount點
-follow??????????????????????? #如果遇到符號鏈接文件,就跟蹤鏈接所指的文件
-cpio????????????????????????? #對匹配的文件使用cpio命令,將他們備份到磁帶設備中
-prune?????????????????????? #忽略某個目錄

?

下面具體說明

查找方式有很多種,比如按文件類型(-type),文件名(-name),文件屬主(-user),文件所屬組)(-group),文件權限(-perm),文件長度(-size),文件修改時間(-mtime)等查找。

文件類型包括:d??目錄文件。

????????????????? ? l??符號鏈接(指向另一個文件,類似于瘟下的快捷方式)?。
??????????????????? s??套接字文件。
??????????????????? b??塊設備文件,二進制文件。
??????????????????? c??字符設備文件。
??????????????????? p??命名管道文件。
??????????????????? -??普通文件,或更準確地說,不屬于以上幾種類型的文件。

文件權限包括:r??? 讀文件

??????????????????? w?? 寫文件

??????????????????? x??? 執行文件操作

(1)按文件類型查找

????? find test1 -type d

(2)按文件名查找

?? find test1 -name test2

(3)按文件屬主

? find test1 -user wangmengting

(4)按文件所屬組

find test1 -group wangmengting

(5)按文件修改時間

find test1 -mtime -1

其他的就不一一演示了。

注意:那如果查找出來的文件太多,可用以下方式進行顯示。例如:

  -print :將查找到的匹配的文件輸出到標準輸出

    find /home -type f -print

???????? 此外,還可以對文件進行額外的操作。例如:

  -exec :將查找到的文件進行額外的動作

    find /test1 -name “test2.txt” -exec rm {} \;??????

??? {}:指的是find找到的內容,即找到的結果會被放到{}的位置中;

 ? -exec 到 \; :是關鍵字代表find額外動作的開始(-exec)到(\;)結束,這中間的就是find指令內的額外動作,在上面例子中就是【 rm {} 】;

 ? \ :為轉義字符。

find -mtime這個參數的使用

#mtime參數的理解應該如下:
-mtime?n 按照文件的更改時間來找文件,n為整數。
n表示文件更改時間距離為n天, -n表示文件更改時間距離在n天以內,+n表示文件更改時間距離在n天以前。
例如:
-mtime?0 表示文件修改時間距離當前為0天的文件,即距離當前時間不到1天(24小時)以內的文件。
-mtime?1 表示文件修改時間距離當前為1天的文件,即距離當前時間1天(24小時-48小時)的文件。
-mtime+1 表示文件修改時間為大于1天的文件,即距離當前時間2天(48小時)之外的文件
-mtime?-1 表示文件修改時間為小于1天的文件,即距離當前時間1天(24小時)之內的文件

為什么-mtime+1 表示文件修改時間為大于1天的文件,即距離當前時間48小時之外的文件,而不是24小時之外的呢?
因為n值只能是整數,即比1大的最近的整數是2,所有-mtime+1不是比當前時間大于1天(24小時),而是比當前時間大于2天(48小時)。

?

總結

以上是生活随笔為你收集整理的Linux命令之find的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。