Linux面試指令---find指令 (二)

find 命令(二)

      下面將介紹如何根據文件類型、權限、所有者及操作符來查找匹配文件。根據文件類型來查找文件,使用-type 選項,常見 find 文件類型見下表。

文件類型 描述
b 塊設備文件
c 字符設備文件
d 目錄
f 普通文件
l 符號鏈接

       根據文件權限查找文件,使用-perm 選項。所有者使用-user 選項。另外,find 命令可以通過邏輯操作符來創建更復雜的邏輯關係,例如 find 命令(一)中的例三就使用了操作符-or。find 命令的邏輯操作符見下表。

操作符 描述
-and 匹配如果操作符兩邊的測試條件都是真。可以簡寫爲-a。注意若沒有使用操作符,則默認使用 -and
-or 匹配若操作符兩邊的任一個測試條件爲真。可以簡寫爲 -o。
-not 匹配若操作符後面的測試條件爲假。可以簡寫爲一個感嘆號(!)
() 測試條件和操作符組合起來未更大的表達式。用來控制邏輯計算的優先級。默認情況下,find命令按照從左到右的順序計算。經常有必要重寫默認的求值順序,以得到期望的結果。即使沒有必要,有時候包括組合起來的字符,對提高命令的可讀性是很有幫助的。注意因爲圓括號字符對於shell來說有特殊含義,所以命令行中使用它們,必須用引號引起來,才能作爲實參傳遞給find命令。通常反斜槓字符被用來轉義圓括號字符。

(1)常用範例

         例一:打印當前目錄下所有權限爲 777 的 php 文件(web 服務器上的 php 文件一般需要執行權限),可以使用如下命令:

find  .  -type f -name "*.php" -perm 777

        例二:打印當前目錄下 root 用戶擁有的所有文件,可以使用如下命令:

find  .  -type f -user root

        例三:打印當前目錄下權限不是 777 和 664 的所有文件,可以使用如下命令:

find  .  -type f  \( ! -perm 777  -and  ! -perm 644 \)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章