Locate
如何使用“定位”僅查找執行檔?
locate gtags
將找到所有名為gtags
.如果我只需要執行檔怎麼辦,有什麼辦法可以做到這一點?
不容易。您可以使用
locate bash | while IFS= read -r line; do [[ -x "$line" ]] && echo $line; done
查找名稱包含的所有執行檔
bash
。這比find
在整個文件系統中使用要快,因為只需要檢查幾個文件。
locate bash
做它一直做的事情(列出所有匹配項)|
(pipe) 從第一個命令 (locate
) 獲取輸出並將其發送到第二個命令(該行的其餘部分)while ...; do ... done
循環遍歷它從管道接收到的每一行(從locate
)read -r line
讀取一行輸入並將其儲存在一個名為line
(在我們的例子中為路徑/文件名)的變數中[[ -x "$line" ]]
測試文件$line
是否可執行- 如果是,該
&& echo $line
元件將其列印在您的螢幕上