1. 程式人生 > 其它 >linux 查詢py檔案命令_Linux查詢命令教程(包含示例)第二章節

linux 查詢py檔案命令_Linux查詢命令教程(包含示例)第二章節

技術標籤:linux 查詢py檔案命令

通過優銳課的java架構專題分享學習中,瞭解到了Linux查詢命令教程(包含示例)。碼了很多專業的知識點,整理後分享給大家參考學習。特別是其中的架構思維導圖很有參考性,在提升的知友們可以好好鞏固一番!

上次寫的Linux查詢命令教程(包含示例)第一章節在這!

10、查詢sgid設定檔案

查詢具有SGID設定的檔案與查詢具有SUID的檔案幾乎相同,只是需要將4000的許可權更改為2000:

Shell
$ find /path/to/search -perm /2000

你還可以通過在perms選項中指定6000來搜尋同時設定了SUID和SGID的檔案:

Shell
$ find /path/to/search -perm /6000

11、列出未經許可的檔案

使用find命令搜尋檔案時,必須對要搜尋的目錄和子目錄具有讀取許可權。 如果沒有,find將輸出一條錯誤訊息,但會繼續瀏覽你確實擁有許可權的目錄。

094eed31bf6f451a483fcdeebab189f4.png

儘管這可能發生在許多不同的目錄中,但在搜尋根目錄時肯定會發生。

這意味著,當你嘗試在整個硬碟驅動器中搜索檔案時,find命令將產生大量錯誤訊息。

為避免看到這些錯誤,你可以將find的stderr輸出重定向到stdout,並將其通過管道傳遞到grep。

Shell
$ find / -name "myfile.txt" 2>%1 | grep -v "Permission denied"


此命令使用grep的-v(inverse)選項顯示所有輸出,除了顯示“許可權被拒絕”的行。

12、查詢最近X天內的修改檔案

使用find命令上的-mtime選項搜尋最近X天內被修改的檔案或目錄。 它也可以用於搜尋X天之前的檔案,或X天之前被完全修改的檔案。

以下是一些如何在find命令上使用-mtime選項的示例:

搜尋最近30天內修改過的所有檔案:

Shell
$ find /path/to/search -type f -mtime -30


搜尋超過30天之前已修改的所有檔案:

Shell
$ find /path/to/search -type f -mtime +30

搜尋30天前剛修改過的所有檔案:

Shell
$ find /path/to/search -type f -mtime 30

如果希望find命令輸出有關找到的檔案的更多資訊,例如修改日期,則可以使用-exec選項幷包含ls命令:

Shell
$ find /path/to/search -type f -mtime -30 -exec ls -l {} ;

按時間排序

要按修改後的檔案時間對查詢結果進行排序,可以使用-printf選項以可排序的方式列出時間,然後將其輸出到排序實用程式。

Shell
$ find /path/to/search -printf "%T+t%pn" | sort


此命令將對舊的檔案進行排序。 如果你希望較新的檔案首先出現,只需傳遞-r(reverse)選項進行排序即可。

Shell
$ find /path/to/search -printf "%T+t%pn" | sort -r

查詢和查詢之間的區別

Linux上的locate命令是在系統上搜索檔案的另一種好方法。 它沒有像find命令那樣包含過多的搜尋選項,因此它的靈活性較差,但仍然派上用場。

Shell
$ locate myfile.txt


查詢命令通過搜尋包含系統上所有檔名的資料庫來工作。 搜尋到的資料庫使用upatedb命令更新。

由於locate命令不必實時搜尋系統上的所有檔案,因此它比find命令更有效。 但是除了缺少選項之外,還有另一個缺點:檔案資料庫每天僅更新一次。

你可以通過執行updatedb命令來手動更新此檔案資料庫:

Shell
$ updatedb


當你需要在整個硬碟驅動器中搜索檔案時,locate命令特別有用,因為find命令自然需要更長的時間,因為它必須實時遍歷每個目錄。

如果搜尋特定目錄(已知其中不包含大量子目錄),則最好堅持使用find命令。

查詢命令的CPU負載

搜尋目錄的負載時,find命令可能會佔用大量資源。 它本來應該允許更重要的系統程序具有優先權,但是如果需要確保find命令佔用生產伺服器上的較少資源,則可以使用ionice或nice命令。

監視find命令的CPU使用率:

Shell
$ top


降低find命令的輸入/輸出優先順序:

Shell
$ ionice -c3 -n7 find /path/to/search -name "myfile.txt"


降低find命令的CPU優先順序:

Shell
$ nice -n 19 find /path/to/search -name "myfile.txt"


或結合使用這兩個實用程式以真正確保低I / O和低CPU優先順序:

Shell
$ nice -n ionice -c2 -n7 find /path/to/search -name "myfile.txt"

我希望你覺得本教程有用!

感興趣的朋友們歡迎點贊,關注我及我的專欄,第一時間收到更新推送!

每天分享技術乾貨,職場趣事!一起來說架構那些事--優銳課