文章出處

一、locate命令                          

  用于模糊搜索文件(目錄)的絕對路徑。

   示例1:

// 凡是絕對路徑當中含jdk字符串的文件(目錄)均被搜索出來
fsjohnhuang@fsjohnhuang~# locate jdk

   示例2:

// 在家目錄添加文件mytest.md
fsjohnhuang@fsjohnhuang~# touch mytest.md
fsjohnhuang@fsjohnhuang~# locate mytest

    上述例子再添加mytest.md后馬上通過locate搜索mytest的絕對路徑,但什么都搜不到。那是因為locate命令是從系統db中搜索的,而這個系統db是定時在晚上與文件系統的目錄結構同步,因此剛才添加文件信息無法通過locate搜索出來。這也是locate的速度必find高的原因。我們可以通過 sudo updatedb 命令手動方式同步系統db,現在就可以通過locate來搜索了。

  示例3:

// 精確查找文件(目錄),那么就只有文件或目錄名為jdk才匹配成功
locate -b "\jdk"
// 精確查找文件(目錄),那么就只有文件或目錄名含jdk才匹配成功
locate -b "jdk"

 

二、find命令                          

    用于在特定目錄(默認是當前目錄)下根據文件名稱、文件類型等信息搜索文件相對特定目錄的相對路徑。

// 在當前目錄下搜索
find -name "mytest.md"
// 使用通配符
find -name "mytest*"

// 在特定目錄下搜索
find /home/fsjohnhuang

// 僅列出普通文件
find -type f
// 僅列出目錄
find -type d
 
// 對find搜索出來的文件或目錄執行其他命令
// -exec 其他命令 ';'
// 而'{}'就是代表find搜索出來的文件或目錄
find -exec ls -l '{}' ';'

 

三、grep命令                           

  在文本字符串當中查找。

// 基本格式:grep 字符串 文件名
grep hello a.txt

// 不區分大小寫
grep -i hello a.txt

// 顯示行號
grep -n hello a.txt

假如是對代碼搜索則可以使用ack-grep,具體教程請看happycasts.net。

 

四、 which命令                          

  用于搜索命令的可執行文件所在位置。

  如 which cat 將返回/bin/cat

 

五、 whereis命令                          

  用于搜索命令的可執行文件、源碼文件和man文件所在位置。

  如 which cat 將返回cat: /bin/ls /usr/share/man/man1/ls.1.gz /usr/    share/man/man1p/ls.1p.gz

  尊重原創,轉載請注明來自:http://www.cnblogs.com/fsjohnhuang/p/3997211.html ^_^肥仔John


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()