find 命令(一)
find 命令主要作用是沿着文件層次結構向下遍歷,匹配符合條件的文件,並執行相應的操作。Linux 下 find 命令提供了相當多的查找條件,功能很強大,對應的學習難度也比較大。
(1)命令格式
find [選項] [搜索路徑] [表達式]
默認路徑是當前目錄,默認表達式為-print。
表達式可能由下列成份組成:操作符、選項、測試表達式以及動作。
(2)常用參數
參數 | 描述 |
---|---|
find 命令將匹配的文件輸出到標准輸出 | |
-exec | find 命令對匹配的文件執行該參數所給出的 shell 命令 |
-name | 按照文件名查找文件 |
-type | 查找某一類型的文件 |
-prune | 使用這一選項可以使 find 命令不在當前指定的目錄中查找,如果同 時使用-depth 選項,那么-prune 將被 find 命令忽略 |
-user | 按照文件屬主來查找文件 |
-group | 按照文件所屬的組來查找文件 |
-mtime -n +n | 按照文件的更改時間來查找文件,-n 表示文件更改時間距現在小於 n天,+n 表示文件更改時間距現在大於 n 天,find 命令還有-atime 和 -ctime 選項 |
find 命令(二)
下面將介紹如何根據文件類型、權限、所有者及操作符來查找匹配文件。
根據文件類型來查找文件,使用-type 選項。
根據文件權限查找文件,使用-perm 選項。所有者使用-user 選項。
另外,find 命令可以通過邏輯操作符來創建更復雜的邏輯關系,例如 find 命令(一)中的例三就使用了操作符-or。
xargs 命令
我們可以用管道將一個命令的 stdout(標准輸出)重定向到另一個命令的 stdin(標准輸入)。但有些命令只能以命令行參數的形式接收數據,而無法通過 stdin 接收數據流。在這種情況下,無法通過管道將數據重定向給這些命令。
這時 xargs 就可以發揮它的作用了,xargs 命令可以從標准輸入接收輸入,並把輸入轉換為一個特定的參數列表。
(1)命令格式
command | xargs [選項] [command]
xargs 命令應該緊跟在管道操作符之后,因為它以標准輸入作為主要的源數據流。
(2)常用參數
參數 | 描述 |
---|---|
-n | 指定每行最大的參數數量 |
-d | 指定分隔符 |