linux的5個尋找命令__linux

來源:互聯網
上載者:User
概要

 

linux中主要有5個檔案尋找命令:find、locate、whereis、which、type。
find最為強大,但耗時較長。
locate可看做find的精簡版,但是它的速度非常快。
whereis、which、type的使用範圍則較小,有特殊的用途。

  find

 

find是最常見和最強大的尋找命令,可以用它找到任何的檔案。
find的使用格式:
find <指定目錄> <指定條件> <指定動作>

其中:
<指定目錄> :所要搜尋的目錄及其所有的子目錄。預設為目前的目錄。
<指定條件>:所要搜尋的檔案的特徵,比如-name,-size。
<指定動作>:對搜尋結果進行特定的處理。

如果什麼參數也不加,find預設搜尋目前的目錄及其子目錄,並且不過濾任何結果(也就是返回所有檔案),
將它們全都顯示在螢幕上。
find的使用執行個體:

(1)find / -name tcp_frto
在整個磁碟上尋找名為tcp_frto的檔案,並將其路徑顯示在螢幕中。

(2)find / -name 'tcp*.ko'
在整個磁碟上尋找以tcp開頭的模組,並將其路徑顯示在螢幕中。

(3)find /root -size 1500c
在/root目錄下,尋找大小為1500bytes的檔案,並顯示。

(4)find / -size +1000000000c
"+"表示要求系統只列出大於指定大小的檔案,而使用"-"表示要求系統列出小於指定大小的檔案。
所以,這條語句表示:在整個磁碟中,尋找大小超過1G的檔案,並顯示出來。 

<尋找條件>還可以是:
  find / -amin -10 # 尋找在系統中最後10分鐘訪問的檔案
  find / -atime -2 # 尋找在系統中最後48小時訪問的檔案
  find / -empty # 尋找在系統中為空白的檔案或者檔案夾
  find / -group cat # 尋找在系統中屬於 groupcat的檔案
  find / -mmin -5 # 尋找在系統中最後5分鐘裡修改過的檔案
  find / -mtime -1 #尋找在系統中最後24小時裡修改過的檔案
  find / -nouser #尋找在系統中屬於作廢使用者的檔案
  find / -user fred #尋找在系統中屬於FRED這個使用者的檔案

(5)find / -name grub.conf
有兩條結果:
/boot/grub/grub.conf
/etc/grub.conf
更近一步,如果我們知道該檔案在那一層,則可以指定層數maxdepth:
find / -maxdepth 2 -name grub.conf
結果只有一條:/etc/grub.conf 

(6)混合尋找:-and -or !|
find / -user root -and -name grub.conf 

(7)<指定動作>
find / -name grub.conf -ls
指定動作為ls,可以看到,其實/etc/grub.conf是/boot/grub/grub.conf的一個連結。 

關於find命令,有一篇比較詳細的文章:http://blog.csdn.net/ydfok/article/details/1486451

  locate

 

locate雖然功能有限,但是比find快很多,因為它不搜尋具體的目錄,而是搜尋一個資料庫
/var/lib/mlocate/mlocate.db,這個資料庫中含有本地所有檔案資訊。Linux系統自動建立這個資料庫,
並且每天自動更新一次,所以使用locate命令尋找不到最新變動過的檔案,為了避免這種情況,在
使用locate之前,先使用updatedb命令,手動更新資料庫。
使用執行個體:

(1)updatedb && locate mlocate.db

(2)locate ~/m
搜尋/root目錄下,所有以m開頭的檔案

(3)locate *.db
搜尋所有以.db結尾的檔案。

(4)locate -i ~/m
在/root目錄下,搜尋以m開頭的檔案,忽略大小寫。

  whereis

 

whereis命令只能用於程式名的搜尋,而且只搜尋二進位檔案(參數-b)、
man說明檔案(參數-m)和原始碼檔案(參數-s)。如果省略參數,則返回所有資訊。
用例:

(1)whereis fdisk

(2)whereis -b fdisk

  which

 

which命令的作用是,在PATH變數指定的路徑中,搜尋整個系統命令的位置,並且返回第一個搜
索結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪
一個位置的命令。
用例:

(1)which df

  type

 

type命令其實不能算尋找命令,它是用來區分某個命令到底是由shell內建的,還是由shell外部
的獨立二進位檔案提供的。如果一個命令是外部命令,那麼使用-p參數,會顯示該命令的路徑,
相當於which。
用例:

(1)type cd
cd is a shell builtin. cd是shell的內建命令。

(2)type grep
grep is /bin/grep,grep是一個外部命令,並顯示該命令的路徑。

(3)type -p grep
/bin/grep,相當於which命令。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.