国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Linux服務器 > 正文

Linux中find命令的用法入門

2024-09-05 23:03:30
字體:
來源:轉載
供稿:網友

前言

Linux系統下的Find 命令具有很強大的搜索功能,可以遍歷整個文件系統。所以 find 命令很耗資源,有時候甚至會耗費很長時間,因此建議把它放在后臺執行。

Find 命令格式如下所示:

find pathname -options [-print -exec -ok …]

介紹一種簡單易記的格式:

find <指定目錄> <指定條件> <指定動作>

動作參數

1、-exec 命令名稱 {} /;

對符合條件的文件執行所給的 unix 命令,而不詢問用戶是否需要執行該命令。{}表示命令的參數即為所找到的文件,命令的末尾必須以“ /;”結束,”{}”和”/;”之間必須有一個空格。

2、-ok 命令名稱 {} /;

對符合條件的文件執行所給的 Linux 命令,與exec不同的是,它會詢問用戶是否需要執行該命令。

3、-ls

詳細列出所找到的所有文件。

4、-fprintf 文件名

將找到的文件名寫入指定文件。

5、-print

在標準輸出設備上顯示查找出的文件名。

6、-printf

格式的寫法可考有關C語言的書。

命令選項

1、-name

按照文件名查找文件。

2、-perm

按照文件權限來查找文件。

3、-prune

使用這一選項可以使linux/200752.html">linux/168306.html">find命令不在當前指定的目錄中查找,如果同時使用-depth選項,那么-prune將被find命令忽略。

4、-user

按照文件屬主來查找文件。

5、-group

按照文件所屬的組來查找文件。

6、-nogroup

查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在。

7、-nouser

查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在。

8、-newer file1 ! file2

查找更改時間比文件file1新但比文件file2舊的文件。

9、-regex pattern

文件名與正則表達式 pattern 匹配。這是對整個路徑的匹配,不是搜索文件。例如,要匹配名為 ‘./fubar3' 的文件,可以使用正則表達式 ‘.bar.' 或者 ‘.*b.3',但是不能用`b.*r3'。

10、-type

查找某一類型的文件,諸如:

  1. b - 塊設備文件。
  2. d - 目錄。
  3. c - 字符設備文件。
  4. p - 管道文件。
  5. l - 符號鏈接文件。
  6. f - 普通文件

10、-size n:[c]

查找文件長度為n塊的文件,帶有c時表示文件長度以字節計。

11、-depth

在查找文件時,首先查找當前目錄中的文件,然后再在其子目錄中查找。

12、-fstype

查找位于某一類型文件系統中的文件,這些文件系統類型通常可以在配置文件/etc/fstab中找到,該配置文件中包含了本系統中有關文件系統的信息。

13、-mount

在查找文件時不跨越文件系統mount點。

14、-follow

如果find命令遇到符號鏈接文件,就跟蹤至鏈接所指向的文件。

15、-cpio

對匹配的文件使用cpio命令,將這些文件備份到磁帶設備中。

16、時間控制

-mtime -n +n

按照文件的更改時間來查找文件, - n表示文件更改時間距現在n天以內,+ n表示文件更改時間距現在n天以前。find命令還有-atime和-ctime 選項,但它們都和-mtime選項一樣,按照時間節點來查找文件,但也有一些區別:

  1. -amin n   查找系統中最后N分鐘訪問的文件
  2. -atime n  查找系統中最后n*24小時訪問的文件
  3. -cmin n   查找系統中最后N分鐘被改變文件狀態的文件
  4. -ctime n  查找系統中最后n*24小時被改變文件狀態的文件
  5. -mmin n   查找系統中最后N分鐘被改變文件數據的文件
  6. -mtime n  查找系統中最后n*24小時被改變文件數據的文件

羅輯控制

羅輯與

expr1 -a expr2
expr1 -and expr2

查找同時滿足條件 expr1 和 expr2 的文件,例如在整個系統中查找既沒有屬主又沒有屬組的文件:

find / -nogroup –a –nouser

羅輯或

expr1 -o expr2
expr1 -or expr2

查找滿足條件 expr1 或者 expr2 的文件, 例如查找 tmp 目錄下以 “.sh” 結尾或者以 “.log” 結尾的文件:

find /tmp -name “.sh” -o -name “.log”

羅輯非

-not expr

查找不滿足條件 expr 的文件,例如查找 /tmp 目錄下所屬用戶不是 root 的文件:

find /tmp -not -user root -exec ls -l {} /;

一些典型的應用

遞歸修改目錄下的所有目錄權限(只修改目錄,不修改文件)

三種方式:

1、 find path -type d -exec chmod 744{} /; (這句的句末有分號)2、 find path -type d | xargs chmod 7443、 chmod 755 `find -type d`

遞歸修改目錄下的所有普通文件的權限(只修改文件,不修改目錄)

三種方式:

1、 find path -type f -exec chmod 644 {} /; 2、 find path -type f | xargs chmod 644 3、 chmod 755 `find -type f` 

遞歸刪除所有執行類型的文件

例如,遞歸刪除當前目錄下的 .exe 普通文件:

find . -name '*.exe' -type f -print -exec rm -rf {} /;

除了用 -exec 外,還可以利用管道來實現,例如遞歸刪除當前目錄下的 .deb 文件:

find . -name *.deb |xargs rm -rf

統計代碼行數

find . -regex ".*/./(py/|html/|js/|css/)$" | xargs wc -l

該命令可能在其他平臺會失敗,那么可以用 grep 來過濾文件:

wc -l `find $path | grep ".*/./(py/|html/|js/|css/)$"`

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵港市| 黄龙县| 泽库县| 子长县| 七台河市| 绥滨县| 洛南县| 海伦市| 雷州市| 木里| 邻水| 郑州市| 东阳市| 阿巴嘎旗| 额尔古纳市| 兴仁县| 永寿县| 平远县| 宁蒗| 兰溪市| 安康市| 西峡县| 福海县| 嘉定区| 九江市| 罗平县| 黄骅市| 延边| 宝坻区| 广丰县| 凌源市| 扎赉特旗| 吐鲁番市| 凌云县| 乌拉特中旗| 蒲城县| 四子王旗| 四子王旗| 平江县| 龙陵县| 达尔|