1. 程式人生 > >linuxmac 日常入門命令行使用——搜索文件文件夾

linuxmac 日常入門命令行使用——搜索文件文件夾

ber 最重要的 d+ 技術分享 sta ear LV 這樣的 gre

搜索文件或者文件夾,是一個常見的需求。我們可以用多種命令來實現我們的需求。

find 命令實現搜索

find 是英文,尋找的意思。這個命令可以很方面的來搜索我們需要的內容。

標準命令如下:

find ./ -iname "*.txt"
  • 1

命令 搜索的目錄 參數 關鍵詞

技術分享圖片

-iname 是不區分大小寫。如果要區分大小寫的話 -name 即可。一般情況下,我們搜索內容都是不區分大小寫的。

關鍵詞可以用 * 號進行通配。事實上,也支持正則表達式。不過我估計你可能不熟悉正則表達式,所以不強求了。

這是標準用法。但是我下面再推薦一個我喜歡的組合命令的用法

find + grep 搜索

默認的 find

命令,功能及其強大,並且最基礎的也需要知道一個 * 這樣的通配符。但是通過這個組合命令,可以讓你啥都不懂的進行任意的搜索。

我們知道 find ./ 命令,可以把當前文件夾下的所有內容全部列出來。同時 grep 命令可以根據關鍵詞進行過濾。然後我們就可以組合這個命令了。

find ./ | grep txt
  • 1

這個命令就可以將當前目錄裏面的所有文件名中包含 txt 的全部列出來。

技術分享圖片

另外,我們還可以組合多個關鍵詞進行進一步的過濾,只要在後面接著輸入 | grep 關鍵詞即可。

最重要的是,還可以取反,就是 grep 加上 -v 這個參數。

舉例如下:

find ./ | grep txt | grep Site
find ./ | grep txt | grep Site | grep -v linux
  • 1
  • 2

技術分享圖片

看,重要我們就可以不用管什麽正則,什麽通配符,用我們簡單的組合命令,就可以進行我們想要的任意搜索了。

| 是管道的意思。作用是把前面的命令的結果傳給後面的命令繼續去執行。這是命令行中非常重要並且非常好用的概念。我們可以用這些來進行很多的組合操作。

對了,寫完了才想起來,我們用不著用 find ./ 作為第一個命令,還可以用 find . 作為命令。效果是一樣的。嘿嘿。

本文由 FungLeo 原創,允許轉載,但轉載必須保留首發鏈接。

linux\mac 日常入門命令行使用——搜索文件\文件夾