1.which
指令用于查找并顯示給定指令的絕對路徑,環境變量PATH中儲存了查找指令時需要周遊的目錄。which指令會在環境變量$PATH設定的目錄裡查找符合條件的檔案。也就是說,使用which指令,就可以看到某個系統指令是否存在,以及執行的到底是哪一個位置的指令。
文法
which(選項)(參數)
選項
-n<檔案名長度>:制定檔案名長度,指定的長度必須大于或等于所有檔案中最長的檔案名;
-p<檔案名長度>:與-n參數相同,但此處的<檔案名長度>包含了檔案的路徑;
-w:指定輸出時欄位的寬度;
-V:顯示版本資訊。
參數
指令名:指令名清單。
執行個體
查找檔案、顯示指令路徑:
[root@localhost~]# which pwd
/bin/pwd
[root@localhost~]# which adduser
/usr/sbin/adduser
說明:which是根據使用者所配置的 PATH 變量内的目錄去搜尋可運作檔的!是以,不同的 PATH 配置内容所找到的指令當然不一樣的!
2.whereis
指令用來定位指令的二進制程式、源代碼檔案和man手冊頁等相關檔案的路徑。
whereis指令隻能用于程式名的搜尋,而且隻搜尋二進制檔案(參數-b)、man說明檔案(參數-m)和源代碼檔案(參數-s)。如果省略參數,則傳回所有資訊。
和find相比,whereis查找的速度非常快,這是因為linux系統會将 系統内的所有檔案都記錄在一個資料庫檔案中,當使用whereis和下面即将介紹的locate時,會從資料庫中查找資料,而不是像find指令那樣,通 過周遊硬碟來查找,效率自然會很高。但是該資料庫檔案并不是實時更新,預設情況下時一星期更新一次,是以,我們在用whereis和locate 查找檔案時,有時會找到已經被删除的資料,或者剛剛建立檔案,卻無法查找到,原因就是因為資料庫檔案沒有被更新。
whereis(選項)(參數)
-b:隻查找二進制檔案;
-B<目錄>:隻在設定的目錄下查找二進制檔案;
-f:不顯示檔案名前的路徑名稱;
-m:隻查找說明檔案;
-M<目錄>:隻在設定的目錄下查找說明檔案;
-s:隻查找原始代碼檔案;
-S<目錄>隻在設定的目錄下查找原始代碼檔案;
-u:查找不包含指定類型的檔案。
指令名:要查找的二進制程式、源檔案和man手冊頁的指令名。
将相關的檔案都查找出來
[root@localhost~]# whereis tomcat
tomcat:
[root@localhost~]# whereis svn
svn:/usr/bin/svn /usr/local/svn /usr/share/man/man1/svn.1.gz
說明:tomcat沒安裝,找不出來,svn安裝找出了很多相關檔案
隻将二進制檔案查找出來
[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:
說明:whereis -m svn查出說明文檔路徑,whereis -s svn找source源檔案。
3.whatis
指令是用于查詢一個指令執行什麼功能,并将查詢結果列印到終端上。
whatis指令在用catman -w指令建立的資料庫中查找command參數指定的指令、系統調用、庫函數或特殊檔案名。whatis指令顯示手冊部分的頁眉行。然後可以發出man指令以擷取附加的資訊。whatis指令等同于使用man -f指令。
whatis
[root@localhost~]# whatis ls
ls (1) - list directory contents
ls (1p) - list directory contents
[root@localhost~]# whatis cp
cp (1) - copy files and directories
cp (1p) - copy files
[root@localhost~]# whatis chown
chown (1) - change file owner and group
chown (1p) - change the file ownership
chown (2) - change ownership of a file
chown (3p) - change owner and group of a file
[root@localhost~]# whatis man
man (1) - format and display the on-line manual pages
man (1p) - display system documentation
man (7) - macros to format man pages
man (rpm) - A set of documentationtools: man, apropos and whatis.
man-pages (rpm) - Man (manual) pages from theLinux Documentation Project.
man.config[man] (5) -configuration data for man
4.du
指令也是檢視使用空間的,但是與df指令不同的是Linux du指令是對檔案和目錄磁盤使用的空間的檢視,還是和df指令有一些差別的。
du [選項][檔案]
-a或-all 顯示目錄中個别檔案的大小。
-b或-bytes 顯示目錄或檔案大小時,以byte為機關。
-c或--total 除了顯示個别目錄或檔案的大小外,同時也顯示所有目錄或檔案的總和。
-k或--kilobytes 以KB(1024bytes)為機關輸出。
-m或--megabytes 以MB為機關輸出。
-s或--summarize 僅顯示總計,隻列出最後加總的值。
-h或--human-readable 以K,M,G為機關,提高資訊的可讀性。
-x或--one-file-xystem 以一開始處理時的檔案系統為準,若遇上其它不同的檔案系統目錄則略過。
-L<符号連結>或--dereference<符号連結> 顯示選項中所指定符号連結的源檔案大小。
-S或--separate-dirs 顯示個别目錄的大小時,并不含其子目錄的大小。
-X<檔案>或--exclude-from=<檔案> 在<檔案>指定目錄或檔案。
--exclude=<目錄或檔案> 略過指定的目錄或檔案。
-D或--dereference-args 顯示指定符号連結的源檔案大小。
-H或--si 與-h參數相同,但是K,M,G是以1000為換算機關。
-l或--count-links 重複計算硬體連結的檔案。
顯示目錄或者檔案所占空間:
[root@localhosttest]# du
608 ./test6
308 ./test4
4 ./scf/lib
4 ./scf/service/deploy/product
4./scf/service/deploy/info
12./scf/service/deploy
16 ./scf/service
4 ./scf/doc
4 ./scf/bin
32 ./scf
8 ./test3
1288 .
隻顯示目前目錄下面的子目錄的目錄大小和目前目錄的總的大小,最下面的1288為目前目錄的總大小
顯示指定檔案所占空間:
[root@localhosttest]# du log2012.log
300 log2012.log
檢視指定目錄的所占空間:
[root@localhosttest]# du scf
4 scf/lib
4scf/service/deploy/product
4scf/service/deploy/info
12scf/service/deploy
16 scf/service
4 scf/doc
4 scf/bin
32 scf
顯示多個檔案所占空間:
[root@localhosttest]# du log30.tar.gz log31.tar.gz
4 log30.tar.gz
4 log31.tar.gz
隻顯示總和的大小:
[root@localhosttest]# du -s
[root@localhosttest]# du -s scf
[root@localhosttest]# cd ..
[root@localhostsoft]# du -s test
1288 test
5.who
指令是顯示目前登入系統的使用者資訊。執行who指令可得知目前有那些使用者登入系統,單獨執行who指令會列出登入帳号,使用的終端機,登入時間以及從何處登入或正在使用哪個X顯示器。
who(選項)(參數)
-H或--heading:顯示各欄位的标題資訊列;
-i或-u或--idle:顯示閑置時間,若該使用者在前一分鐘之内有進行任何動作,将标示成"."号,如果該使用者已超過24小時沒有任何動作,則标示出"old"字元串;
-m:此參數的效果和指定"am i"字元串相同;
-q或--count:隻顯示登入系統的帳号名稱和總人數;
-s:此參數将忽略不予處理,僅負責解決who指令其他版本的相容性問題;
-w或-T或--mesg或--message或--writable:顯示使用者的資訊狀态欄;
--help:線上幫助;
--version:顯示版本資訊。
檔案:指定查詢檔案。
[root@localhost~]# who
root pts/0 2013-08-19 15:04 (192.168.0.134)
root pts/1 2013-12-20 10:37 (180.111.155.40)
[root@localhost~]# who -q
root root
# users=2
[root@localhost~]# who -H
NAME LINE time COMMENT
[root@localhost~]# who -w
root + pts/0 2013-08-19 15:04 (192.168.0.134)
root + pts/1 2013-12-20 10:37 (180.111.155.40)
6.w
指令用于顯示已經登陸系統的使用者清單,并顯示使用者正在執行的指令。執行這個指令可得知目前登入系統的使用者有那些人,以及他們正在執行的程式。單獨執行w指令會顯示所有的使用者,您也可指定使用者名稱,僅顯示某位使用者的相關資訊。
w(選項)(參數)
-h:不列印頭資訊;
-u:當顯示目前程序和cpu時間時忽略使用者名;
-s:使用短輸出格式;
-f:顯示使用者從哪登入;
使用者:僅顯示指定使用者。
w
20:39:37 up 136 days, 3:58, 1 user, load average: 0.00, 0.00,0.00
USER TTY FROM login@ IDLE JCPU PCPU WHAT
root pts/0 222.94.97.122 20:39 1.00s 0.00s 0.00s w
7.whoami
指令用于列印目前有效的使用者名稱,相當于執行id -un指令。
whoami(選項)
[root@localhost~]# whoami
root
[root@localhost~]# id -un
本文轉自 Runs_ 51CTO部落格,原文連結:http://blog.51cto.com/12667170/1906884,如需轉載請自行聯系原作者