本次實驗將介紹 linux 命令中 which、whereis、locate 命令的用法。which命令的作用是,在path變數指定的路徑中搜尋可執行檔案的所在唔知。它一般用來確認系統中是否安裝了指定的軟體。
【命令格式】:which 可執行檔名稱
【常用引數】:
【常用範例】:
1.確認是否安裝了gcc
which2.檢視cd命令的位置路徑gcc
從上面的顯示資訊可以看到在實驗樓的系統中 cd 是乙個 shell 函式。
再來在我本地 linux 系統上執行 which cd 命令,顯示的結果如下:
顯示在 path 變數指定的路徑下沒有 cd 命令。為什麼顯示沒有呢?這是因為 cd 是 shell 內建命令,而 which 預設是找 path 內所指定的目錄,內建命令不在其指定的目錄中,所以當然一定找不到。
那麼就有個問題,為什麼實驗樓環境中 cd 是乙個 shell 函式,而其他 linux 環境中 cd 是內建命令呢?這跟所使用的 bash 有關。
echo $shell 命令檢視當前使用的 shell。到底什麼是命令?
命令可以是下面四種形式之一:
是乙個可執行程式,就像我們所看到的位於目錄/usr/bin 中的檔案一樣。 屬於這一類的程式,可以編譯成二進位制檔案,諸如用 c 和 c++語言寫成的程式, 也可以是由指令碼語言寫成的程式,比如說 shell,perl,python,ruby,等等。
是乙個內置於 shell 自身的命令。bash 支援若干命令,內部叫做 shell 內部命令 (builtins)。例如,上面我本地環境中的 cd 命令,就是乙個 shell 內部命令。
是乙個 shell 函式。這些是小規模的 shell 指令碼,它們混合到環境變數中。 比如上面講到的 cd 命令,在實驗樓環境中就是乙個 shell 函式。
是乙個命令別名。我們可以定義自己的命令,建立在其它命令之上。
whereis命令主要用於定位可執行檔案、源**檔案、幫助檔案在檔案系統中的位置。whereis命令還具有搜尋源**、指定備用搜尋路徑和搜尋不尋常項的能力。
whereis命令查詢速度非常快,因為它根本不是在磁碟中漫無目的亂找。而是在乙個資料庫中(var/lib/mlocatr)查詢。這個資料庫是linux系統自動建立的,包含有本地所有檔案的資訊,並且每天通過自動執行updatedb命令更新一次。也正是因為這個資料庫要每天才更新一次,就會使得whereis命令的搜尋結果有時候會不準確,比如剛剛新增的檔案可能搜不到。
【命令格式】:whereis [選項] 檔案
【常用引數】:
-b:定位可執行檔案【常用範例】:-m:定位幫助檔案
-s:定位源**檔案
-u:預設搜尋路徑下除可執行檔案、源**檔案、幫助檔案以外的其他檔案
-b:指定搜尋可執行檔案的路徑
-m;指定搜尋幫助檔案的路徑
-s:指定搜尋源**檔案的路徑
1.搜尋gcc可執行檔案的路徑
whereis -b gcc2.搜尋gcc源**的路徑
whereis -s gcclocate和whereis類似。且它們使用的是相同的資料庫。但whereis命令只能搜尋可執行檔案、聯機幫助檔案、源**檔案,如果要獲得更全面的搜尋結果,可以使用locate命令。
locate命令使用了十分複雜的匹配語法,可以使特殊字元(如'*'和'?')來指定需要查詢的樣本。
【命令格式】:locate [選項] [搜尋字串]
【常用引數】:
-q:安靜模式,不會顯示任何錯誤訊息【常用範例】:-n:至多顯示n個輸出
-r:使用正規表示式做尋找的條件
-v:顯示版本訊息
1.搜尋etc目錄下所有以sh開頭的檔案
locate /etc/sh注意在實驗樓環境中一開始執行這個命令會報錯:locate 無法執行
stat() 『/var/lib/mlocate/mlocate.db』
:沒有那個檔案或目錄。
解決辦法是執行sudo updatedb
命令。
2.搜尋etc目錄下檔名包含lou的檔案
locate /etc/*lou*
Linux命令列操作入門(四)
磁碟管理命令 df 檢視整個磁碟的使用情況 空間以位元組表示 df h h可以理解為human,適合人類理解的指令 檢視真個磁碟的使用情況 空間以m表示,空間m為單位比以位元組為單位更適合人類檢視 df 路徑 檢視該路徑對應的磁碟掛載區的空間大小 例如 df 檢視家目錄下的掛載區對應的磁碟空間大小 ...
linux常用命令操作(四)
戶建立建立 戶使 的命令為 useradd 戶名 戶刪除刪除 戶使 的命令為 userdel 戶名 三 修改密碼 passwd 使用者名稱 passwd lm 先在root賬戶中修改密碼,按回車鍵確認 再輸入exit退出root賬戶,用新密碼登陸自己的賬戶。四 切換使用者,注意 使用者名稱前面有空格...
Linux命令(四) 學習命令
1 使用man查詢命令相關資訊man ls 開啟手冊介面,man是manual的縮寫 man rm 開啟rm命令的幫助資訊2 基於命令的名稱來快速弄清其功能man f 後面跟命令名稱 或whatis 後面跟命令名稱3 基於其功能搜尋命名man k 或4 讀取命令的特定手冊man 1 8 5 使用in...