溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux基礎(chǔ)篇之五基礎(chǔ)命令 ---- 3

發(fā)布時(shí)間:2020-07-20 20:26:16 來(lái)源:網(wǎng)絡(luò) 閱讀:461 作者:ccs_Chan 欄目:數(shù)據(jù)庫(kù)

在linux中,我們經(jīng)常需要查找某些文件,以及文件所在目錄等。那么我們需要用到一些基本的文件查找類命令。

文件查找命令主要有以下幾個(gè):


·which    查看命令或可執(zhí)行文件的完整路徑

·whereis   顯示二進(jìn)制文件路徑、使用手冊(cè)文件路徑、源碼文件路徑

·locate    配合數(shù)據(jù)庫(kù)查看文件路徑

·find     搜索硬盤(pán)查詢特定文件



·which

which命令的作用,在指定的PATH路徑中,搜索某個(gè)系統(tǒng)命令的位置,并且返回第一搜索結(jié)果??梢圆榭茨硞€(gè)系統(tǒng)命令是否存在,且命令所在的源文件位置。


·命令格式:

which [options] [--] programname [...]


·選項(xiàng)參數(shù):

-a:將所有PATH目錄中可以找到的命令均列出,而不止第一被找到的命令名稱

--skip-alias:忽略別名


    例1:分別用root和普通用戶搜索useradd命令的完整路徑

    Linux基礎(chǔ)篇之五基礎(chǔ)命令 ---- 3

    root用戶可以找到ifconfig的完整路徑

    

    Linux基礎(chǔ)篇之五基礎(chǔ)命令 ---- 3

    我們發(fā)現(xiàn)普通用戶提示找不到useradd命令。

    因?yàn)閣hich命令是根據(jù)用戶所設(shè)定的PATH變量?jī)?nèi)的目錄去搜索命令的。

    所以,不同的PATH設(shè)定內(nèi)容找到的命令當(dāng)然不一樣!

    

    例2:用which查找which本身會(huì)發(fā)生什么?

    Linux基礎(chǔ)篇之五基礎(chǔ)命令 ---- 3

    有兩個(gè)which,其中一個(gè)alias which是命令別名,等于后面的那一串命令+參數(shù)

    我們可以通過(guò)追加選項(xiàng)--skip-alias來(lái)忽略別名,如下圖所示

    Linux基礎(chǔ)篇之五基礎(chǔ)命令 ---- 3


    例3:查找cd命令的完整路徑

    Linux基礎(chǔ)篇之五基礎(chǔ)命令 ---- 3

    找不到cd命令的完整路徑,證明cd命令所在的目錄,PATH中并沒(méi)有定義



·whereis

whereis命令可顯示二進(jìn)制程序文件路徑、使用手冊(cè)文件路徑、源碼文件路徑


·命令格式:

whereis [-bmsu] [-BMS directory...  -f] filename...


·選項(xiàng)參數(shù):

-b:僅搜索二進(jìn)制程序文件的路徑(常用)

    例如:

    Linux基礎(chǔ)篇之五基礎(chǔ)命令 ---- 3     

    Linux基礎(chǔ)篇之五基礎(chǔ)命令 ---- 3

    注意,普通用戶通過(guò)which命令找不到adduser,而whereis卻可以找到!

    這是因?yàn)橄到y(tǒng)本身存在adduser這個(gè)文件,which命令找不到是因?yàn)镻ATH命令沒(méi)有加入指定目錄

    所以,當(dāng)你找不到某些命令式,不妨向用文件搜索命令找找看。


-m:僅搜索使用手冊(cè)文件路徑(常用)

    例如:

    Linux基礎(chǔ)篇之五基礎(chǔ)命令 ---- 3

    

-s:僅搜索源代碼路徑

-u:搜索默認(rèn)路徑下除以上3種路徑以外的其他文件路徑

-B:指定搜索可執(zhí)行文件的路徑。

-M:指定搜索幫助文件的路徑。

-S:指定搜索源代碼文件的路徑。

   



·locate

locate命令可以在搜索數(shù)據(jù)庫(kù)時(shí)快速找到指定的文件。數(shù)據(jù)庫(kù)由updatedb命令來(lái)更新,updatedb是由cron daemon周期性建立的。locate命令在搜索數(shù)據(jù)庫(kù)時(shí)比由整個(gè)硬盤(pán)來(lái)搜索文件來(lái)的快,但是有一個(gè)缺點(diǎn),locate命令無(wú)法搜索到最近或更名的文件,需要updatedb命令來(lái)更新數(shù)據(jù)庫(kù)。默認(rèn)情況下,updatedb每天運(yùn)行一次,可以通過(guò)修改 /etc/crontab 文件來(lái)更改更新時(shí)間的設(shè)定值。


·命令格式:

locate [-eir]... PATTERN...


·選項(xiàng)參數(shù):

-e:確認(rèn)文件的確在文件系統(tǒng)中才列出此文件,否則,不會(huì)列出。(常用)

-i:忽略大小寫(xiě)(常用)

-r:后面可以正規(guī)表示法的顯示方式(常用)


    范例1:找出系統(tǒng)中所有與pwd有關(guān)的文件

    Linux基礎(chǔ)篇之五基礎(chǔ)命令 ---- 3


    范例二:找出 /etc 目錄中所有以sh開(kāi)頭的文件

    Linux基礎(chǔ)篇之五基礎(chǔ)命令 ---- 3










未完待續(xù)!!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI