28Linux 命令基礎入門--Linux操作命令(四)

which 命令

which 命令的作用是侦啸,在 PATH 變量指定的路徑中搜索可執(zhí)行文件的所在位置痘括。它一般用來確認系統中是否安裝了指定的軟件密任。
命令格式
which 可執(zhí)行文件名稱
常用范例
例一:確認是否安裝了 gcc构捡,可以使用如下命令:

which gcc
image.png

例二:查看 cd 命令的位置路徑果漾,可以使用如下命令:

which cd
image.png

從上面的顯示信息可以看到在當前實驗樓使用的系統中 cd 是一個 shell 內建命令。
但是在某些環(huán)境中虹曙,我們可以看到 cd 并不是一個內建函數而是一個 shell 函數迫横。


image.png

再來在我本地 linux 系統上執(zhí)行 which cd 命令,顯示的結果如下:


image.png

顯示在 PATH 變量指定的路徑下沒有 cd 命令酝碳。為什么顯示沒有呢矾踱?這是因為 cd 是 shell 內建命令,而 which 默認是找 PATH 內所指定的目錄疏哗,內建命令不在其指定的目錄中呛讲,所以當然找不到。
那么就有個問題返奉,為什么有的環(huán)境中 cd 是一個 shell 函數贝搁,而有的又是內建命令呢?這跟所使用的 bash 有關芽偏。
image.png

顯示在 PATH 變量指定的路徑下沒有 cd 命令雷逆。為什么顯示沒有呢?這是因為 cd 是 shell 內建命令哮针,而 which 默認是找 PATH 內所指定的目錄,內建命令不在其指定的目錄中,所以當然找不到十厢。

那么就有個問題等太,為什么有的環(huán)境中 cd 是一個 shell 函數,而有的又是內建命令呢蛮放?這跟所使用的 bash 有關缩抡。


image.png

image.png

echo $SHELL 命令可以查看當前使用的 shell。

補充知識

到底什么是命令包颁?
命令可以是下面四種形式之一:
是一個可執(zhí)行程序瞻想,就像我們所看到的位于目錄/usr/bin中的文件一樣。屬于這一類的程序娩嚼,可以編譯成二進制文件蘑险,諸如用 C 和 C++ 語言寫成的程序,也可以是由腳本語言寫成的程序岳悟,比如說 shell佃迄,perl,python贵少,ruby呵俏,等等。
是一個內建于 shell 自身的命令滔灶。bash 支持若干命令普碎,內部叫做 shell 內部命令 (builtins)。例如录平,上面我本地環(huán)境中的 cd 命令麻车,就是一個 shell 內部命令。
是一個 shell 函數萄涯。這些是小規(guī)模的 shell 腳本绪氛,它們混合到環(huán)境變量中。 比如上面講到的 cd 命令涝影,在某些環(huán)境中就是一個 shell 函數枣察。
是一個命令別名。我們可以定義自己的命令燃逻,建立在其它命令之上序目。

whereis 命令

whereis 命令主要用于定位可執(zhí)行文件、源代碼文件和幫助文件在文件系統中的位置伯襟。whereis 命令還具有搜索源代碼猿涨、指定備用搜索路徑和搜索不尋常項的功能。
whereis 命令查找速度非衬饭郑快叛赚,這是因為它根本不是在磁盤中漫無目的亂找澡绩,而是在一個數據庫中(/var/lib/mlocate/mlocate.db)查詢。這個數據庫是 Linux 系統自動創(chuàng)建的俺附,包含有本地所有文件的信息肥卡,并且每天通過自動執(zhí)行 updatedb 命令更新一次。也正是因為這個數據庫要每天才更新一次事镣,就會使得 whereis 命令的搜索結果有時候會不準確步鉴,比如剛添加的文件可能搜不到。
命令格式
whereis [選項] 文件
常用參數

image.png

常用范例
例一:搜索 gcc 可執(zhí)行文件的路徑璃哟,可以使用如下命令:

whereis -b gcc

例二:搜索 gcc 幫助文件的路徑氛琢,可以使用如下命令:

whereis -m gcc

例三:搜索 gcc 源代碼的路徑,可以使用如下命令:

whereis -s gcc
image.png

locate 命令

locate 命令跟 whereis 命令類似随闪,且它們使用的是相同的數據庫阳似。但 whereis 命令只能搜索可執(zhí)行文件、聯機幫助文件和源代碼文件蕴掏,如果要獲得更全面的搜索結果障般,可以使用 locate 命令。
locate 命令使用了十分復雜的匹配語法盛杰,可以使用特殊字元(如’*’和’?’)來指定需要查找的樣本挽荡。
命令格式
locate [選項][搜索字符串]
常用參數

image.png

常用范例
首先需要安裝并更新數據庫:

sudo apt-get install locate
sudo updatedb

例一:搜索 etc 目錄下所有以 sh 開頭的文件,可以使用如下命令:

locate /etc/sh
image.png

例二:搜索 etc 目錄下文件名包含 lou 的文件即供,可以使用如下命令:

locate /etc/*lou*
image.png
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末定拟,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子逗嫡,更是在濱河造成了極大的恐慌青自,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驱证,死亡現場離奇詭異延窜,居然都是意外死亡,警方通過查閱死者的電腦和手機抹锄,發(fā)現死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門逆瑞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人伙单,你說我怎么就攤上這事获高。” “怎么了吻育?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵念秧,是天一觀的道長。 經常有香客問我布疼,道長摊趾,這世上最難降的妖魔是什么币狠? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮砾层,結果婚禮上总寻,老公的妹妹穿的比我還像新娘。我一直安慰自己梢为,他們只是感情好,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布轰坊。 她就那樣靜靜地躺著铸董,像睡著了一般。 火紅的嫁衣襯著肌膚如雪肴沫。 梳的紋絲不亂的頭發(fā)上粟害,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音颤芬,去河邊找鬼悲幅。 笑死,一個胖子當著我的面吹牛站蝠,可吹牛的內容都是我干的汰具。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼菱魔,長吁一口氣:“原來是場噩夢啊……” “哼留荔!你這毒婦竟也來了?” 一聲冷哼從身側響起澜倦,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤聚蝶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后藻治,有當地人在樹林里發(fā)現了一具尸體碘勉,經...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年桩卵,在試婚紗的時候發(fā)現自己被綠了验靡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡吸占,死狀恐怖晴叨,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情矾屯,我是刑警寧澤兼蕊,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站件蚕,受9級特大地震影響孙技,放射性物質發(fā)生泄漏产禾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一牵啦、第九天 我趴在偏房一處隱蔽的房頂上張望亚情。 院中可真熱鬧,春花似錦哈雏、人聲如沸楞件。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽土浸。三九已至,卻和暖如春彭羹,著一層夾襖步出監(jiān)牢的瞬間黄伊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工派殷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留还最,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓毡惜,卻偏偏與公主長得像拓轻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子经伙,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內容