學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 >

Linux中文件查找命令總結(jié)

時(shí)間: 加城1195 分享

  Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。很多時(shí)候我們會(huì)用到查找命令,但是很多用戶不知道有哪些方法。下面一起看看!

  Linux的查找命令有5個(gè),分別如下:

  which:在PATH變量指定的路徑中,搜索某個(gè)系統(tǒng)命令的位置,并且返回第一個(gè)搜索結(jié)果;

  type:用于區(qū)分某個(gè)命令到底是由shell自帶的,還是由shell外部的獨(dú)立二進(jìn)制文件提供的。如果一個(gè)命令是外部命令,那么使用-p參數(shù),會(huì)顯示該命令的路徑,相當(dāng)于which命令。type命令其實(shí)不能算查找命令;

  whereis:只能用于程序名的搜索,而且只搜索二進(jìn)制文件(參數(shù)-b)、man說明文件(參數(shù)-m)和源代碼文件(參數(shù)-s);

  locate:相當(dāng)于find -name,可快速查找文件;

  find:最常用和最強(qiáng)大的查找命令,可以用它找到任何想找的文件。

  注意:

  通常find不很常用,因?yàn)樗俣嚷?

  常都是先使用whereis或者locate來檢查,當(dāng)真的找不到了,才用find查找。

  是因?yàn)閣hereis與locate是利用數(shù)據(jù)庫來查找數(shù)據(jù),所以相當(dāng)快速,而且沒有實(shí)際查詢硬盤,比較節(jié)省時(shí)間。

  whereis和locate尋找的數(shù)據(jù)是由已創(chuàng)建的數(shù)據(jù) /var/lib/ 中查找。但是數(shù)據(jù)庫的更新默認(rèn)是每天更新一次(不同系統(tǒng)可能會(huì)有差異),所以當(dāng)新建文件或刪除文件后去查找該文件,whereis和locate會(huì)告訴你文件“not found”,因?yàn)楸仨毟聰?shù)據(jù)庫了。

  要手動(dòng)更新數(shù)據(jù)庫的方法也很簡單,直接輸入updatedb即可。updatedb命令回去讀取/etc/updatedb.conf中的配置,然后去硬盤里面進(jìn)行查找文件名操作,最后更新整個(gè)數(shù)據(jù)庫文件。

  下面詳細(xì)講解以上5個(gè)命令的使用:

  一、which:查找系統(tǒng)命令位置

  which命令在PATH變量指定的路徑中,搜索某個(gè)系統(tǒng)命令的位置,并且返回第一個(gè)搜索結(jié)果。

  which命令的格式如下:

  which [-a] command

  which命令的參數(shù)如下:

  -a:將所有由PATH目錄中可以找到的命令均列出來,而不是只列出第一個(gè)被找到的命令。

  例子:

  [root@www ~] # which ifconfig

  /sbin/ifconfig

  二、whereis:程序名搜索

  whereis命令只能用于程序名的搜索,而且只搜索二進(jìn)制文件(參數(shù)-b)、man說明文件(參數(shù)-m)和源代碼文件(參數(shù)-s)。

  whereis命令的格式如下:

  whereis [-bmsu] 文件或目錄名

  whereis命令的參數(shù)如下:

  -b 只查找二進(jìn)制格式的文件

  -m 只查找在說明文件manual路徑下的文件

  -s 只招source源文件

  -u 查找不在上述三個(gè)選項(xiàng)當(dāng)中的其他特殊文件

  例子:

  ?

  1

  2

  3

  4

  [root@www ~] # whereis ifconfig

  ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

  [root@www ~] # whereis -m ifconfig

  ifconfig: /usr/share/man/man8/ifconfig.8.gz

  三、locate:利用數(shù)據(jù)庫查找文件

  locate命令的格式如下:

  ?

  1

  locate [-ir] keyword

  locate命令的參數(shù)如下:

  -i:忽略大小寫差異;

  -r:后面可接正則表達(dá)式的實(shí)現(xiàn)方式。

  例如:

  ?

  1

  2

  3

  4

  5

  [root@www ~] # locate passwd

  /etc/passwd

  /etc/passwd-

  /etc/news/passwd.nntp

  /etc/pam.d/passwd

  四、find:查找任何文件

  find命令的格式如下:

  find [PATH] [option] [action]

  4.1 find參數(shù):基于文件名的搜索

  與文件名有關(guān)的參數(shù)如下:

  -name filename:查找文件名為filename的文件。filename可使用正則表達(dá)式表示。

  [root@www ~] # find / -name passwd

  查找文件名為passwd的文件。

  4.2 find參數(shù):基于文件大小的搜索

  與文件大小有關(guān)的參數(shù)如下:

  -size SIZE:查找文件大小剛好等于SIZE的文件;

  -size -SIZE:查找文件大小大于SIZE的文件;

  -size +SIZE:查找文件大小小于SIZE的文件。

  其中,SIZE的單位有:

  c —— byte,字節(jié);

  w —— 字(2字節(jié));

  b —— bit,塊(512字節(jié));

  k —— 千字節(jié);

  M —— 兆字節(jié);

  G —— 吉字節(jié)。

  例子:

  [root@www ~] # find . -type f -size +10k

  搜索大于10KB的文件

  [root@www ~] # find . -type f -size 10k

  搜索等于10KB的文件

  4.3 find參數(shù):基于文件類型的搜索

  與文件類型有關(guān)的參數(shù)如下:

  -type TYPE:查找文件的類型為TYPE的文件。

  TYPE的參數(shù)列表有:

  f :普通文件;

  l :符號(hào)連接;

  d :目錄;

  c :字符設(shè)備;

  b :塊設(shè)備;

  s :套接字;

  p :FIFO。

  例子:

  [root@www ~] # find /var -type s

  查找/var目錄下所有類型為socket的文件。

  4.4 find參數(shù):基于目錄深度的搜索

  與目錄深度有關(guān)的參數(shù)如下:

  -maxdepth n:n為數(shù)字,表示向下最大深度限制為n;

  -mindepth n:n為數(shù)字,搜索出深度距離當(dāng)前目錄至少n個(gè)子目錄的所有文件。

  例子:

  [root@www ~] # find . -maxdepth 3 -type f

  向下最大深度限制為3

  [root@www ~] # find . -mindepth 2 -type f

  搜索出深度距離當(dāng)前目錄至少2個(gè)子目錄的所有文件

  4.5 find參數(shù):基于時(shí)間進(jìn)行搜索

  與時(shí)間有關(guān)的參數(shù)共有 -atime、-ctime、-mtime。下面以 -mtime 說明:

  -mtime n: n為數(shù)字,列出在n天之前的“一天之內(nèi)”被更改過的文件名;

  -mtime +n:列出在n天之前(不含第n天本身)被更改過的文件名;

  -mtime -n:列出在n天之內(nèi)(不含第n天本身)被更改過的文件名;

  -newer file:file為一個(gè)存在的文件,列出比file還要新的文件名。

  例子:

  [root@www ~] # find /etc -mtime 0

  查找從現(xiàn)在開始到24小時(shí)前,/etc目錄下所有改動(dòng)過內(nèi)容的文件都會(huì)被列出來。

  [root@www ~] # find /ect -newer /etc/passwd

  查找/etc目錄下,所有比/etc/passwd文件更新的文件。

  4.6 find參數(shù):基于用戶或用戶組名進(jìn)行搜索

  與用戶或用戶組名有關(guān)的參數(shù)如下:

  -uid n:n為數(shù)字,表示用戶的UID;

  -gid n:n為數(shù)字,表示用戶的GID;

  -user name:name為用戶賬號(hào)名稱;

  -group name:name為用戶組名;

  -nouser:尋找文件的所有者不存在于/etc/passwd的文件;

  -nogroup:尋找文件的所有用戶組不存在于/etc/group的文件。

  例子:

  [root@www ~] # find /home -user root

  查找root用戶在/home目錄下的所有文件。

  4.7 find參數(shù):基于文件權(quán)限進(jìn)行搜索

  與文件權(quán)限有關(guān)的參數(shù)如下:

  -perm mode:查找文件權(quán)限剛好等于mode的文件;

  -perm +mode:查找文件權(quán)限“包含任一mode的權(quán)限”的文件;

  -perm -mode:查找文件權(quán)限“必須要全部包括mode的權(quán)限”的文件。

  例子:

  [root@www ~] # find / -perm +7000

  查找必須含有---s--s--t的所有三個(gè)權(quán)限的文件。

  4.8 find命令的其它一些技巧

  4.8.1 查找所有長度為零的文件:

  find . -empty

  4.8.2 查找在n分鐘內(nèi)被修改的文件:

  find . -cmin -60

  查找一個(gè)小時(shí)內(nèi)文件狀態(tài)改變的文件(也就是60分鐘內(nèi))。

  4.8.3 僅僅查找非隱藏的文件(不顯示隱藏文件):

  find . \( ! -regex ".*/\..*" \)

  顯示當(dāng)前目錄及其子目錄下的文件,并且只列出非隱藏文件。

  五、type:顯示指定命令的類型

  type命令用來顯示指定命令的類型,判斷給出的指令是內(nèi)部指令還是外部指令。

  type命令格式如下:

  type [option] [commond]

  type命令的參數(shù)有:

  -t:輸出“file”、“alias”或者“builtin”,分別表示給定的指令為“外部指令”、“命令別名”或者“內(nèi)部指令”;

  -p:如果給出的指令為外部指令,則顯示其絕對路徑;

  -a:在環(huán)境變量“PATH”指定的路徑中,顯示給定指令的信息,包括命令別名。

  命令的類型可能有如下幾種:

  alias: 別名;

  keyword: 關(guān)鍵字,Shell保留字;

  function: 函數(shù),Shell函數(shù);

  builtin: 內(nèi)建命令,Shell內(nèi)建命令;

  file: 文件,磁盤文件,外部命令;

  unfound: 沒有找到。

  例子:

  [root@www ~] # type cd

  cd is a shell builtin

  [root@www ~] # type date

  date is /bin/date

  [root@www ~] # type mysql

  mysql is /usr/bin/mysql

  [root@www ~] # type nginx

  -bash: type: nginx: not found

  [root@www ~] # type if

  if is a shell keyword

  補(bǔ)充:Linux基本命令

  1.ls命令:

  格式::ls [選項(xiàng)] [目錄或文件]

  功能:對于目錄,列出該目錄下的所有子目錄與文件;對于文件,列出文件名以及其他信息。

  常用選項(xiàng):

  -a :列出目錄下的所有文件,包括以 . 開頭的隱含文件。

  -d :將目錄像文件一樣顯示,而不是顯示其他文件。

  -i :輸出文件的i節(jié)點(diǎn)的索引信息。

  -k :以k字節(jié)的形式表示文件的大小。

  -l :列出文件的詳細(xì)信息。

  -n :用數(shù)字的UID,GID代替名稱。

  -F : 在每個(gè)文件名后面附上一個(gè)字符以說明該文件的類型,“*”表示可執(zhí)行的普通文 件;“/”表示目錄;“@”表示符號(hào)鏈接;“l”表示FIFOS;“=”表示套接字。

  2.cd命令

  格式:cd [目錄名稱]

  常用選項(xiàng):

  cd .. 返回上一級目錄。

  cd ../.. 將當(dāng)前目錄向上移動(dòng)兩級。

  cd - 返回最近訪問目錄。

  3.pwd命令

  格式: pwd

  功能:顯示出當(dāng)前工作目錄的絕對路徑。

  相關(guān)閱讀:Linux主要特性

  完全兼容POSIX1.0標(biāo)準(zhǔn)

  這使得可以在Linux下通過相應(yīng)的模擬器運(yùn)行常見的DOS、Windows的程序。這為用戶從Windows轉(zhuǎn)到Linux奠定了基礎(chǔ)。許多用戶在考慮使用Linux時(shí),就想到以前在Windows下常見的程序是否能正常運(yùn)行,這一點(diǎn)就消除了他們的疑慮。

  多用戶、多任務(wù)

  Linux支持多用戶,各個(gè)用戶對于自己的文件設(shè)備有自己特殊的權(quán)利,保證了各用戶之間互不影響。多任務(wù)則是現(xiàn)在電腦最主要的一個(gè)特點(diǎn),Linux可以使多個(gè)程序同時(shí)并獨(dú)立地運(yùn)行。

  良好的界面

  Linux同時(shí)具有字符界面和圖形界面。在字符界面用戶可以通過鍵盤輸入相應(yīng)的指令來進(jìn)行操作。它同時(shí)也提供了類似Windows圖形界面的X-Window系統(tǒng),用戶可以使用鼠標(biāo)對其進(jìn)行操作。在X-Window環(huán)境中就和在Windows中相似,可以說是一個(gè)Linux版的Windows。

  支持多種平臺(tái)

  Linux可以運(yùn)行在多種硬件平臺(tái)上,如具有x86、680x0、SPARC、Alpha等處理器的平臺(tái)。此外Linux還是一種嵌入式操作系統(tǒng),可以運(yùn)行在掌上電腦、機(jī)頂盒或游戲機(jī)上。2001年1月份發(fā)布的Linux 2.4版內(nèi)核已經(jīng)能夠完全支持Intel 64位芯片架構(gòu)。同時(shí)Linux也支持多處理器技術(shù)。多個(gè)處理器同時(shí)工作,使系統(tǒng)性能大大提高。


Linux中文件查找命令總結(jié)相關(guān)文章:

1.Linux系統(tǒng)中查看文件內(nèi)容的命令總結(jié)

2.linux讀取文件命令

3.linux文本內(nèi)容操作系列g(shù)rep命令詳解

4.linux文本文件查看、顯示命令

5.xshell操作linux系統(tǒng)的常用命令

4018852