Linux的基礎(chǔ)文件管理命令

Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關(guān)示例演示。

  • cat命令

cat是linux的基本文本輸出命令,通常用于查看文件內(nèi)容。

語(yǔ)法

cat [OPTION]... [FILE]...

參數(shù)

-n 或 --number:由1開(kāi)始對(duì)所有輸出的行數(shù)編號(hào)。
-b 或 --number-nonblank:和-n相似,只不過(guò)對(duì)于空白行不編號(hào)。
-s 或 --squeeze-blank:當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行。
-v 或 --show-nonprinting:使用^和M-符號(hào),除了LFD和TAB之外。
-E或--show-ends:在每行結(jié)束處顯示$。
-T或--show-tabs:將TAB字符顯示為^|。
-e:等價(jià)于-vE。
-A,--show-all:等價(jià)于-vET。
-t:等價(jià)于"-vT"選項(xiàng)。
cat主要功能
1、一次顯示文件的所有內(nèi)容 cat filename
2、從磁盤(pán)創(chuàng)建一個(gè)新文件cat >filename(只能創(chuàng)建新文件不能編輯已有文件)
3、將幾個(gè)文件合并為一個(gè)文件cat file1 file2 > file

實(shí)例
cat.png
cat -v.png
cat -b.png
cat -E.png
cat兩個(gè)文件合并成一個(gè)文件.png
  • chattr命令

chattr命令的作用很大,其中一些功能是由Linux內(nèi)核版本來(lái)支持的,如果Linux內(nèi)核版本低于2.2,那么許多功能不能實(shí)現(xiàn)。同樣-D檢查壓縮文件中的錯(cuò)誤的功能,需要2.5.19以上內(nèi)核才能支持。另外,通過(guò)chattr命令修改屬性能夠提高系統(tǒng)的安全 性,但是它并不適合所有的目錄。chattr命令不能保護(hù)/、/dev、/tmp、/var目錄。

  • chattr和touch、chown、chmod等命令的比較
    chmod只是改變文件的讀寫(xiě)、執(zhí)行權(quán)限,touch只能修改文件的創(chuàng)建時(shí)間,而chattr是基于內(nèi)核的更底層的屬性控制。
  • 這項(xiàng)指令可改變存放在ext2文件系統(tǒng)上的文件或目錄屬性,這些屬性共有以下8種模式:
    a:讓文件或目錄僅供附加用途。
    b:不更新文件或目錄的最后存取時(shí)間。
    c:將文件或目錄壓縮后存放。
    d:將文件或目錄排除在傾倒操作之外。
    i:不得任意更動(dòng)文件或目錄。
    s:保密性刪除文件或目錄。
    S:即時(shí)更新文件或目錄。
    u:預(yù)防意外刪除。
語(yǔ)法

chattr [-RVf] [-+=AacDdeijsSu] [-v version] files...

+ :在原有參數(shù)設(shè)定基礎(chǔ)上,追加參數(shù)。
-:在原有參數(shù)設(shè)定基礎(chǔ)上,移除參數(shù)。
= :更新為指定參數(shù)設(shè)定。

參數(shù)

-R 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
-v<版本編號(hào)> 設(shè)置文件或目錄版本。
-V 顯示指令執(zhí)行過(guò)程。
+<屬性> 開(kāi)啟文件或目錄的該項(xiàng)屬性。
-<屬性> 關(guān)閉文件或目錄的該項(xiàng)屬性。
=<屬性> 指定文件或目錄的該項(xiàng)屬性。

實(shí)例

用chattr命令防止系統(tǒng)中某個(gè)關(guān)鍵文件被修改:

chattr +i /etc/resolv.conf
lsattr /etc/resolv.conf

會(huì)顯示如下屬性

----i-------- /etc/resolv.conf

讓某個(gè)文件只能往里面追加數(shù)據(jù),但不能刪除,適用于各種日志文件:

chattr +a /var/log/messages

  • chmod命令

Linux/Unix 的文件調(diào)用權(quán)限分為三級(jí) : 文件擁有者、群組、其他。利用 chmod 可以藉以控制文件如何被他人所調(diào)用。

語(yǔ)法

chmod [-cfvR] [--help] [--version] mode file...

參數(shù)

mode : 權(quán)限設(shè)定字串,格式如下 :

[ugoa...][[+-=][rwxX]...][,...]

  • u 表示該文件的擁有者,g 表示與該文件的擁有者屬于同一個(gè)群體(group)者,o 表示其他以外的人,a 表示這三者皆是。
    • 表示增加權(quán)限、- 表示取消權(quán)限、= 表示唯一設(shè)定權(quán)限。
  • r 表示可讀取,w 表示可寫(xiě)入,x 表示可執(zhí)行,X 表示只有當(dāng)該文件是個(gè)子目錄或者該文件已經(jīng)被設(shè)定過(guò)為可執(zhí)行。
    其他參數(shù)說(shuō)明:
  • -c : 若該文件權(quán)限確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作
  • -f : 若該文件權(quán)限無(wú)法被更改也不要顯示錯(cuò)誤訊息
  • -v : 顯示權(quán)限變更的詳細(xì)資料
  • -R : 對(duì)目前目錄下的所有文件與子目錄進(jìn)行相同的權(quán)限變更(即以遞回的方式逐個(gè)變更)
  • --help : 顯示輔助說(shuō)明
  • --version : 顯示版本
  • 其中a,b,c各為一個(gè)數(shù)字,分別表示User、Group、及Other的權(quán)限。
r=4,w=2,x=1

若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5。

實(shí)例
同一個(gè)群體者可寫(xiě)入,但其他以外的人則不可寫(xiě)入
chmod 777
  • chown命令

利用 chown 可以將檔案的擁有者加以改變。這個(gè)指令只有是由系統(tǒng)管理者(root)所使用,一般使用者沒(méi)有權(quán)限可以改變別人的檔案擁有者,也沒(méi)有權(quán)限可以自己的檔案擁有者改設(shè)為別人。只有系統(tǒng)管理者(root)才有這樣的權(quán)限

語(yǔ)法

chown [-cfhvR] [--help] [--version] user[:group] file…

參數(shù)
  • -c或-change:作用與-v相似,但只傳回修改的部分
  • -f或–quiet或–silent:不顯示錯(cuò)誤信息
  • -h或–no-dereference:只對(duì)符號(hào)鏈接的文件做修改,而不更改其他任何相關(guān)文件
  • -R或-recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理
  • -v或–verbose:顯示指令執(zhí)行過(guò)程
  • –dereference:作用和-h剛好相反
  • –help:顯示在線說(shuō)明
  • –reference=<參考文件或目錄>:把指定文件或目錄的所有者與所屬組,統(tǒng)統(tǒng)設(shè)置成和參考文件或目錄的所有者與所屬組相同
  • –version:顯示版本信息
實(shí)例
  • cp命令
語(yǔ)法

cp [options] source dest 或 cp [options] source... directory

參數(shù)
  • -a:此選項(xiàng)通常在復(fù)制目錄時(shí)使用,它保留鏈接、文件屬性,并復(fù)制目錄下的所有內(nèi)容。其作用等于dpR參數(shù)組合。
  • -d:復(fù)制時(shí)保留鏈接。這里所說(shuō)的鏈接相當(dāng)于Windows系統(tǒng)中的快捷方式。
  • -f:覆蓋已經(jīng)存在的目標(biāo)文件而不給出提示。
  • -i:與-f選項(xiàng)相反,在覆蓋目標(biāo)文件之前給出的提示,要求用戶確認(rèn)是否覆蓋,回答“y”時(shí)目標(biāo)文件將被覆蓋。
  • -p:除復(fù)制文件的內(nèi)容外,還把修改時(shí)間和訪問(wèn)權(quán)限也復(fù)制道心文件中。
  • -r:若給出的源文件是一個(gè)目錄文件,此時(shí)將復(fù)制該目錄下所有的子目錄和文件。
  • -l:不復(fù)制文件,只是生成鏈接文件。
實(shí)例

$ cp –r test/ newtest


  • ln命令

ln命令用來(lái)為文件創(chuàng)件連接,連接類型分為硬連接和符號(hào)連接兩種,默認(rèn)的連接類型是硬連接。如果要?jiǎng)?chuàng)建符號(hào)連接必須使用"-s"選項(xiàng)。

注意:符號(hào)鏈接文件不是一個(gè)獨(dú)立的文件,它的許多屬性依賴于源文件,所以給符號(hào)鏈接文件設(shè)置存取權(quán)限是沒(méi)有意義的。

語(yǔ)法

In (選項(xiàng)) (參數(shù))

選項(xiàng)
  • -b或--backup:刪除,覆蓋目標(biāo)文件之前的備份;
  • -d或-F或——directory:建立目錄的硬連接;
  • -f或——force:強(qiáng)行建立文件或目錄的連接,不論文件或目錄是否存在;
  • -i或——interactive:覆蓋既有文件之前先詢問(wèn)用戶;
  • -n或--no-dereference:把符號(hào)連接的目的目錄視為一般文件;
  • -s或——symbolic:對(duì)源文件建立符號(hào)連接,而非硬連接;
  • -S<字尾備份字符串>或--suffix=<字尾備份字符串>:用"-b"參數(shù)備份目標(biāo)文件后,備份文件的字尾會(huì)被加上一個(gè)備份字符串,預(yù)設(shè)的備份字符串是符號(hào)“~”,用戶可通過(guò)“-S”參數(shù)來(lái)改變它;
  • -v或——verbose:顯示指令執(zhí)行過(guò)程;
  • -V<備份方式>或--version-control=<備份方式>:用“-b”參數(shù)備份目標(biāo)文件后,備份文件的字尾會(huì)被加上一個(gè)備份字符串,這個(gè)字符串不僅可用“-S”參數(shù)變更,當(dāng)使用“-V”參數(shù)<備份方式>指定不同備份方式時(shí),也會(huì)產(chǎn)生不同字尾的備份字符串;
參數(shù)
  • 源文件:指定連接的源文件。如果使用-s選項(xiàng)創(chuàng)建符號(hào)連接,則“源文件”可以是文件或者目錄。創(chuàng)建硬連接時(shí),則“源文件”參數(shù)只能是文件;
  • 目標(biāo)文件:指定源文件的目標(biāo)連接文件。
實(shí)例

將目錄/usr/mengqc/mub1下的文件m2.c鏈接到目錄/usr/liu下的文件a2.c

cd /usr/mengqc
ln /mub1/m2.c /usr/liu/a2.c

在執(zhí)行l(wèi)n命令之前,目錄/usr/liu中不存在a2.c文件。執(zhí)行l(wèi)n之后,在/usr/liu目錄中才有a2.c這一項(xiàng),表明m2.c和a2.c鏈接起來(lái)(注意,二者在物理上是同一文件),利用[ls](http://man.linuxde.net/ls "ls命令") -l命令可以看到鏈接數(shù)的變化。

在目錄/usr/liu下建立一個(gè)符號(hào)鏈接文件abc,使它指向目錄/usr/mengqc/mub1

ln -s /usr/mengqc/mub1 /usr/liu/abc

執(zhí)行該命令后,/usr/mengqc/mub1代表的路徑將存放在名為/usr/liu/abc的文件中。

  • locate命令
語(yǔ)法

locate命令其實(shí)是“find -name”的另一種寫(xiě)法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個(gè)數(shù)據(jù)庫(kù)(/var/lib/locatedb),這個(gè)數(shù)據(jù)庫(kù)中含有本地所有文件信息。Linux系統(tǒng)自動(dòng)創(chuàng)建這個(gè)數(shù)據(jù)庫(kù),并且每天自動(dòng)更新一次,所以使用locate命令查不到最新變動(dòng)過(guò)的文件。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動(dòng)更新數(shù)據(jù)庫(kù)。

命令參數(shù)
  • -e 將排除在尋找的范圍之外。
  • -1 如果 是 1則啟動(dòng)安全模式。在安全模式下使用者不會(huì)看到權(quán)限無(wú)法看到的檔案。這會(huì)使速度減慢因?yàn)?locate 必須至實(shí)際的檔案系統(tǒng)中取得檔案的 權(quán)限資料。
  • -f 將特定的檔案系統(tǒng)排除在外例如我們沒(méi)有道理要把 proc 檔案系統(tǒng)中的檔案 放在資料庫(kù)中。
  • -q 安靜模式不會(huì)顯示任何錯(cuò)誤訊息。
  • -n 至多顯示 n個(gè)輸出。
  • -r 使用正規(guī)運(yùn)算式 做尋找的條件。
  • -o 指定資料庫(kù)存的名稱。
  • -d 指定資料庫(kù)的路徑
  • -h 顯示輔助訊息
  • -V 顯示程式的版本訊息
實(shí)例
  • lsattr命令
語(yǔ)法

lsattr [-adlRvV] [文件或目錄...]

參數(shù)
  • -a  顯示所有文件和目錄,包括以"."為名稱開(kāi)頭字符的額外內(nèi)建,現(xiàn)行目錄"."與上層目錄".."。
  • -d  顯示,目錄名稱,而非其內(nèi)容。
  • -l  此參數(shù)目前沒(méi)有任何作用。
  • -R  遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
  • -v  顯示文件或目錄版本。
  • -V  顯示版本信息。
實(shí)例
  • mv命令
語(yǔ)法

mv (選項(xiàng)) (參數(shù))

選項(xiàng)

--backup=<備份模式>:若需覆蓋文件,則覆蓋前先行備份;
-b:當(dāng)文件存在時(shí),覆蓋前,為其創(chuàng)建一個(gè)備份;
-f:若目標(biāo)文件或目錄與現(xiàn)有的文件或目錄重復(fù),則直接覆蓋現(xiàn)有的文件或目錄;
-i:交互式操作,覆蓋前先行詢問(wèn)用戶,如果源文件與目標(biāo)文件或目標(biāo)目錄中的文件同名,則詢問(wèn)用戶是否覆蓋目標(biāo)文件。用戶輸入”y”,表示將覆蓋目標(biāo)文件;輸入”n”,表示取消對(duì)源文件的移動(dòng)。這樣可以避免誤將文件覆蓋。
--strip-trailing-slashes:刪除源文件中的斜杠“/”;
-S<后綴>:為備份文件指定后綴,而不使用默認(rèn)的后綴;
--target-directory=<目錄>:指定源文件要移動(dòng)到目標(biāo)目錄;
-u:當(dāng)源文件比目標(biāo)文件新或者目標(biāo)文件不存在時(shí),才執(zhí)行移動(dòng)操作。

參數(shù)
  • 源文件:源文件列表。
  • 目標(biāo)文件:如果“目標(biāo)文件”是文件名則在移動(dòng)文件的同時(shí),將其改名為“目標(biāo)文件”;如果“目標(biāo)文件”是目錄名則將源文件移動(dòng)到“目標(biāo)文件”下。
實(shí)例

將文件ex3改名為new1

mv ex3 new1

將目錄/usr/men中的所有文件移到當(dāng)前目錄(用.表示)中:

mv /usr/men/* .

  • rm命令

rm命令可以刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,也可以將某個(gè)目錄及其下屬的所有文件及其子目錄均刪除掉。對(duì)于鏈接文件,只是刪除整個(gè)鏈接文件,而原有文件保持不變。

注意:使用rm命令要格外小心。因?yàn)橐坏﹦h除了一個(gè)文件,就無(wú)法再恢復(fù)它。所以,在刪除文件之前,最好再看一下文件的內(nèi)容,確定是否真要?jiǎng)h除。rm命令可以用-i選項(xiàng),這個(gè)選項(xiàng)在使用文件擴(kuò)展名字符刪除多個(gè)文件時(shí)特別有用。使用這個(gè)選項(xiàng),系統(tǒng)會(huì)要求你逐一確定是否要?jiǎng)h除。這時(shí),必須輸入y并按Enter鍵,才能刪除文件。如果僅按Enter鍵或其他字符,文件不會(huì)被刪除。

語(yǔ)法

rm (選項(xiàng))(參數(shù))

參數(shù)

-d:直接把欲刪除的目錄的硬連接數(shù)據(jù)刪除成0,刪除該目錄;
-f:強(qiáng)制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問(wèn)用戶;
-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
--preserve-root:不對(duì)根目錄進(jìn)行遞歸操作;
-v:顯示指令的詳細(xì)執(zhí)行過(guò)程。

實(shí)例

交互式刪除當(dāng)前目錄下的文件test和example

rm -i test example
Remove test ?n(不刪除文件test)
Remove example ?y(刪除文件example)

刪除當(dāng)前目錄下除隱含文件外的所有文件和子目錄

rm -r *

  • tee命令

讀取標(biāo)準(zhǔn)輸入的數(shù)據(jù),并將其內(nèi)容輸出成文件。
tee命令用于將數(shù)據(jù)重定向到文件,另一方面還可以提供一份重定向數(shù)據(jù)的副本作為后續(xù)命令的stdin。簡(jiǎn)單的說(shuō)就是把數(shù)據(jù)重定向到給定文件和屏幕上。



存在緩存機(jī)制,每1024個(gè)字節(jié)將輸出一次。若從管道接收輸入數(shù)據(jù),應(yīng)該是緩沖區(qū)滿,才將數(shù)據(jù)轉(zhuǎn)存到指定的文件中。若文件內(nèi)容不到1024個(gè)字節(jié),則接收完從標(biāo)準(zhǔn)輸入設(shè)備讀入的數(shù)據(jù)后,將刷新一次緩沖區(qū),并轉(zhuǎn)存數(shù)據(jù)到指定文件。

語(yǔ)法

tee(選項(xiàng))(參數(shù))

選項(xiàng)

-a:向文件中重定向時(shí)使用追加模式;
-i:忽略中斷(interrupt)信號(hào)。

參數(shù)

文件:指定輸出重定向的文件。

實(shí)例

在終端打印stdout同時(shí)重定向到文件中:

ls | tee out.txt
1.sh
1.txt
2.txt
eee.tst
EEE.tst
one
out.txt
string2
www.pdf
WWW.pdf
WWW.pef

ls | tee out.txt | cat -n
1 1.sh
2 1.txt
3 2.txt
4 eee.tst
5 EEE.tst
6 one
7 out.txt
8 string2
9 www.pdf
10 WWW.pdf
11 WWW.pef

  • touch命令

touch命令有兩個(gè)功能:一是用于把已存在文件的時(shí)間標(biāo)簽更新為系統(tǒng)當(dāng)前的時(shí)間(默認(rèn)方式),它們的數(shù)據(jù)將原封不動(dòng)的保留下來(lái);二是用來(lái)創(chuàng)建新的空文件。

語(yǔ)法

touch(選項(xiàng))(參數(shù))

選項(xiàng)

-a:或--time=atime或--time=access或--time=use 只更改存取時(shí)間;
-c:或--no-create 不建立任何文件;
-d:<時(shí)間日期> 使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間;
-f:此參數(shù)將忽略不予處理,僅負(fù)責(zé)解決BSD版本touch指令的兼容性問(wèn)題;
-m:或--time=mtime或--time=modify 只更該變動(dòng)時(shí)間;
-r:<參考文件或目錄> 把指定文件或目錄的日期時(shí)間,統(tǒng)統(tǒng)設(shè)成和參考文件或目錄的日期時(shí)間相同;
-t:<日期時(shí)間> 使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間;
--help:在線幫助;
--version:顯示版本信息。

參數(shù)

文件:指定要設(shè)置時(shí)間屬性的文件列表。

實(shí)例

touch ex2

在當(dāng)前目錄下建立一個(gè)空文件ex2,然后,利用ls -l命令可以發(fā)現(xiàn)文件ex2的大小為0,表示它是空文件。

  • umask命令

umask命令用來(lái)設(shè)置限制新建文件權(quán)限的掩碼。當(dāng)新文件被創(chuàng)建時(shí),最初的權(quán)限由文件創(chuàng)建的掩碼決定。用戶每次注冊(cè)進(jìn)入系統(tǒng)時(shí),umask命令都被執(zhí)行,并自動(dòng)設(shè)置掩碼mode來(lái)限制新文件的權(quán)限。用戶可以通過(guò)再次執(zhí)行umask命令來(lái)改變默認(rèn)值,新的權(quán)限將會(huì)把舊的覆蓋掉。

語(yǔ)法

umask(選項(xiàng))(參數(shù))

選項(xiàng)

-p:輸出的權(quán)限掩碼可直接作為指令來(lái)執(zhí)行;
-S:以符號(hào)方式輸出權(quán)限掩碼。

參數(shù)

權(quán)限掩碼:指定權(quán)限掩碼。

實(shí)例

利用umask命令可以指定哪些權(quán)限將在新文件的默認(rèn)權(quán)限中被刪除。例如,可以使用下面的命令創(chuàng)建掩碼,使得用戶的寫(xiě)權(quán)限,其他用戶的讀、寫(xiě)和執(zhí)行權(quán)限都被取消:

umask u=,g=w,o=rwx

執(zhí)行該命令以后,對(duì)于下面創(chuàng)建的新文件,其文件主的權(quán)限未做任何改變,而組用戶沒(méi)有寫(xiě)權(quán)限,其他用戶的所有權(quán)限都被取消。
不能直接利用umask命令創(chuàng)建一個(gè)可執(zhí)行的文件,用戶只能在其后利用chmod命令使它具有執(zhí)行權(quán)限。假設(shè)執(zhí)行了命令umask u=, g=w, o=rwx,雖然在命令行中,沒(méi)有刪去文件主和組用戶的執(zhí)行權(quán)限,但默認(rèn)的文件權(quán)限還是640(即 rw-r-----),而不是750(rwxr-x---)。但是,如果創(chuàng)建的是目錄或者通過(guò)編譯程序創(chuàng)建的一個(gè)可執(zhí)行文件,將不受此限制。在這種情況 下,會(huì)設(shè)置文件的執(zhí)行權(quán)限。

也可以使用八進(jìn)制數(shù)值來(lái)設(shè)置mode。由于在umask中所指定的權(quán)限是要從文件中刪除的,所以,如果該文件原來(lái)的初始化權(quán)限是777,那么執(zhí)行命令umask 022以后,該文件的權(quán)限將變?yōu)?55:如果該文件原來(lái)的初始化權(quán)限是666,那么該文件的權(quán)限將變?yōu)?44。
可以使用下面的命令檢查新創(chuàng)建文件的默認(rèn)權(quán)限

umask -s

選項(xiàng)-s表示以字符形式顯示當(dāng)前的掩碼。如果直接輸入umask命令,不帶任何參數(shù),那么將以八進(jìn)制形式顯示當(dāng)前的掩碼。系統(tǒng)默認(rèn)的掩碼是0022。

  • whereis命令

whereis命令用來(lái)定位指令的二進(jìn)制程序、源代碼文件和[man]手冊(cè)頁(yè)等相關(guān)文件的路徑。

whereis命令只能用于程序名的搜索,而且只搜索二進(jìn)制文件(參數(shù)-b)、man說(shuō)明文件(參數(shù)-m)和源代碼文件(參數(shù)-s)。如果省略參數(shù),則返回所有信息。

和find命令相比,whereis查找的速度非???,這是因?yàn)閘inux系統(tǒng)會(huì)將 系統(tǒng)內(nèi)的所有文件都記錄在一個(gè)數(shù)據(jù)庫(kù)文件中,當(dāng)使用whereis和下面即將介紹的locate命令時(shí),會(huì)從數(shù)據(jù)庫(kù)中查找數(shù)據(jù),而不是像find命令那樣,通 過(guò)遍歷硬盤(pán)來(lái)查找,效率自然會(huì)很高。 但是該數(shù)據(jù)庫(kù)文件并不是實(shí)時(shí)更新,默認(rèn)情況下時(shí)一星期更新一次,因此,我們?cè)谟脀hereis和locate 查找文件時(shí),有時(shí)會(huì)找到已經(jīng)被刪除的數(shù)據(jù),或者剛剛建立文件,卻無(wú)法查找到,原因就是因?yàn)閿?shù)據(jù)庫(kù)文件沒(méi)有被更新。

語(yǔ)法

whereis(選項(xiàng))(參數(shù))

選項(xiàng)

-b:只查找二進(jìn)制文件;
-B<目錄>:只在設(shè)置的目錄下查找二進(jìn)制文件;
-f:不顯示文件名前的路徑名稱;
-m:只查找說(shuō)明文件;
-M<目錄>:只在設(shè)置的目錄下查找說(shuō)明文件;
-s:只查找原始代碼文件;
-S<目錄>只在設(shè)置的目錄下查找原始代碼文件;
-u:查找不包含指定類型的文件。

參數(shù)

指令名:要查找的二進(jìn)制程序、源文件和man手冊(cè)頁(yè)的指令名。

實(shí)例

將相關(guān)的文件都查找出來(lái)

[root@localhost ~]# whereis tomcat
tomcat:

[root@localhost ~]# whereis svn
svn: /usr/bin/svn /usr/local/svn /usr/share/man/man1/svn.1.gz

說(shuō)明:tomcat沒(méi)安裝,找不出來(lái),svn安裝找出了很多相關(guān)文件

只將二進(jìn)制文件查找出來(lái)

[root@localhost ~]# whereis -b svn
svn: /usr/bin/svn /usr/local/svn

[root@localhost ~]# whereis -m svn
svn: /usr/share/man/man1/svn.1.gz

[root@localhost ~]# whereis -s svn
svn:

說(shuō)明:whereis -m svn 查出說(shuō)明文檔路徑,whereis -s svn找source源文件。

  • which命令

which命令用于查找并顯示給定命令的絕對(duì)路徑,環(huán)境變量PATH中保存了查找命令時(shí)需要遍歷的目錄。which指令會(huì)在環(huán)境變量$PATH設(shè)置的目錄里查找符合條件的文件。也就是說(shuō),使用which命令,就可以看到某個(gè)系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個(gè)位置的命令。

語(yǔ)法

which(選項(xiàng))(參數(shù))

選項(xiàng)

-n<文件名長(zhǎng)度>:制定文件名長(zhǎng)度,指定的長(zhǎng)度必須大于或等于所有文件中最長(zhǎng)的文件名;
-p<文件名長(zhǎng)度>:與-n參數(shù)相同,但此處的<文件名長(zhǎng)度>包含了文件的路徑;
-w:指定輸出時(shí)欄位的寬度;
-V:顯示版本信息。

參數(shù)

指令名:指令名列表。

實(shí)例

查找文件、顯示命令路徑:

[root@localhost ~]# which pwd
/bin/pwd
[root@localhost ~]# which adduser
/usr/sbin/adduser

說(shuō)明:which是根據(jù)使用者所配置的 PATH 變量?jī)?nèi)的目錄去搜尋可運(yùn)行檔的!所以,不同的 PATH 配置內(nèi)容所找到的命令當(dāng)然不一樣的!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容