- Linux服務器配置與管理完全學習手冊
- 王健
- 13192字
- 2021-03-19 15:14:37
3.1 Linux控制臺的使用
Linux中的所有管理任務都可以在控制臺中完成。許多情況下,在控制臺下使用程序比使用圖形化的程序更快捷,而且還可以實現額外的功能。此外,所有的控制臺任務都可以寫到腳本中,這樣就可以自動地執行相應的任務。為了真正地駕馭Linux系統,必須掌握在控制臺環境下如何工作。
3.1.1 進入控制臺
如果系統引導進入文本模式(為了降低服務開銷,服務器通常是這樣配置的),那么用戶在以文本形式登錄后就已經在控制臺環境中了。在Linux系統中,通常可以使用快捷鍵Alt+(F1~F6)切換到另外的控制臺。
每一個控制臺都是系統中一個完全獨立的會話,每一個控制臺都可以分別由完全不同的用戶來控制。例如,某用戶可能在控制臺1中以root身份登錄,而在控制臺2中以joeuser身份登錄。兩個控制臺在各自的用戶空間中運行不同的程序。用戶可以在某一虛擬控制臺上運行的工作尚未結束時,切換到另一虛擬控制臺來開始另一項工作。虛擬控制臺可使同一用戶同時在多個不同的控制臺上工作,真正體現Linux系統多用戶的特性。
3.1.2 Linux控制臺命令
在控制臺可以使用的命令很多,其中有一些實際上只在編寫腳本時才會用到。在Linux中,所有的命令和選項都區分大小寫,控制臺命令幾乎全都是小寫的。常用的控制臺命令有以下幾類:安裝和登錄命令、文件處理命令、系統管理命令、網絡操作命令、系統安全相關命令及其他命令。
1.login
(1)作用
login的作用是登錄系統,它的使用權限是所有用戶。
(2)格式
login [name][-p][-h主機名稱]
(3)主要參數
-p:通知login保持現在的環境參數。
-h:用來向遠程登錄的主機傳輸用戶名。
如果選擇用命令行模式登錄Linux,那么看到的第一個Linux命令就是login。
一般界面如下:
Manddrake Linux release 9.1(Bamboo) for i586 kennel 2.4.21-0.13mdk on i686 / tty1 localhost login:root password:
上面代碼中,第一行是Linux發行版本號,第二行是內核版本號和登錄的虛擬控制臺,用戶在第三行輸入登錄名,按Enter鍵在Password后輸入賬戶密碼,即可登錄系統。出于安全考慮,輸入賬戶密碼時字符不會在屏幕上回顯,光標也不移動。登錄后會看到下面這個界面(以超級用戶為例):
[root@localhost root]# last login: Tue, Nov 18 10:00:55 on vc/1
上面顯示的是登錄星期、月、日、時間和使用的虛擬控制臺。
2.shutdown
(1)作用
shutdown命令的作用是關閉計算機,它的使用權限是超級用戶。
(2)格式
shutdown [-h][-i][-k][-m][-t]
(3)主要參數
-h:關機后關閉電源。
-i:關機時顯示系統信息。
-k:并不真正關機,只是發送警告信號給每位登錄者。
-m:將系統改為單用戶模式。
-t:在改變到其他運行級別之前,告訴init程序多久以后關機。
(4)使用說明
shutdown命令可以安全地將系統關閉。有些用戶會使用直接斷掉電源的方式來關閉Linux系統,這是十分危險的。因為Linux系統與Windows系統不同,其后臺運行著許多進程,強制關機可能會導致進程的數據丟失,使系統處于不穩定的狀態,甚至在有的系統中會損壞硬件設備(硬盤)。在系統關機前使用shutdown命令,系統管理員會通知所有登錄的用戶系統將要關閉,并且login指令會被凍結,即新的用戶不能再登錄。
3.halt
(1)作用
halt命令的作用是關閉系統,它的使用權限是超級用戶。
(2)格式
halt [-n] [-w] [-d] [-f] [-i] [-p]
(3)主要參數
-n:防止sync系統調用,用在使用fsck(file system check)命令修補根分區之后,以阻止內核用老版本的超級塊覆蓋修補過的超級塊。
-w:并不是真正的重啟或關機,只是寫wtmp(/var/log/wtmp)記錄。
-d:關閉系統,但不留下記錄。
-f:沒有調用shutdown,而強制關機或重啟。
-i:關機(或重啟)前,關掉所有的網絡接口。
-p:當關機的時候順便做關閉電源的動作。
(4)使用說明
Halt命令就是調用shutdown -h。halt命令執行時,殺死應用進程,執行sync(將存于buffer中的資料強制寫入硬盤中)系統調用,文件系統寫操作完成后就會停止內核。若系統的運行級別為0或6,則關閉系統;否則以shutdown指令(加上-h參數)來取代。
4.reboot
(1)作用
reboot命令的作用是重新啟動計算機,它的使用權限是系統管理者。
(2)格式
reboot [-n] [-w] [-d] [-i]
(3)主要參數
-n:在重開機前不做將記憶體資料寫回硬盤的動作。
-w:并不會真的重開機,只是把記錄寫到/var/log/wtmp文件里。
-d:不把記錄寫到/var/log/wtmp文件里(-n這個參數包含了-d)。
-i:在重開機之前先把所有與網絡相關的裝置停止。
5.exit
(1)作用
exit命令的作用是退出系統,它的使用權限是所有用戶。
(2)格式
exit
(3)參數
exit命令沒有參數,運行后退出系統進入登錄界面。
6.last
(1)作用
last命令的作用是顯示近期用戶或終端的登錄情況,它的使用權限是所有用戶。通過last命令查看該程序的log,管理員可以獲知誰曾經或企圖連接系統。
(2)格式
last[-n][-f file][-t tty] [-h 節點][-i -IP][-y][-x]
(3)主要參數
-n:指定輸出記錄的條數。
-f file:指定用文件file作為查詢用的log文件。
-t tty:只顯示指定的虛擬控制臺上的登錄情況。
-h節點:只顯示指定的節點上的登錄情況。
-i IP:只顯示指定的IP上登錄的情況。
-y:顯示記錄的年、月、日。
-x:顯示系統關閉、用戶登錄和退出的歷史。
7.file
(1)作用
內容判斷文件類型,使用權限是所有用戶。
(2)格式
file [options] 文件名
(3)主要參數
-v:在標準輸出后顯示版本信息,并且退出。
-z:探測壓縮過的文件類型。
-L:允許符合連接。
-f name:從文件namefile中讀取要分析的文件名列表。
(4)使用說明
使用file命令可以知道某個文件究竟是二進制(ELF格式)的可執行文件,還是ShellScript文件,或者是其他的什么格式。file能識別的文件類型有目錄、Shell腳本、英文文本、二進制可執行文件、C語言源文件、文本文件、DOS的可執行文件。
8.mkdir
(1)作用
mkdir命令的作用是建立名稱為dirname的子目錄,與MS DOS下的md命令類似,它的使用權限是所有用戶。
(2)格式
mkdir [options]目錄名
(3)主要參數
-m, --mode=模式:設定權限<模式>,與chmod命令類似。
-p, --parents:需要時創建上層目錄;如果目錄早已存在,則不當作錯誤。
-v, --verbose:每次創建新目錄都顯示信息。
--version:顯示版本信息后離開。
(4)使用說明
在進行目錄創建時可以設置目錄的權限,此時使用的參數是“-m”。假設要創建的目錄名是“tsk”,讓所有用戶都有rwx權限(即讀、寫、執行的權限),那么可以使用以下命令:
$ mkdir -m 777 tsk
9.grep
(1)作用
grep命令可以在指定文件中搜索特定的內容,并將含有這些內容的行標準輸出。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是所有用戶。
(2)格式
grep [options]
(3)主要參數
-c:只輸出匹配行的計數。
-i:不區分大小寫(只適用于單字符)。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字符的文件名。
-n:顯示匹配行及行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
10.dd
(1)作用
dd命令用來復制文件,并根據參數將數據轉換和格式化。
(2)格式
dd [options]
(3)主要參數
bs=字節:同時設置讀/寫緩沖區的字節數(等于設置ibs和obs)。
cbs=字節:每次轉換指定的<字節>。
conv=關鍵字:根據以逗號分隔的關鍵字表示的方式來轉換文件。
count=塊數目:只復制指定<塊數目>的輸入數據。
ibs=字節:每次從緩沖區讀取指定的<字節>。
if=文件:讀取<文件>內容,而非標準輸入的數據。
obs=字節:每次寫入指定的<字節>到緩沖區。
of=文件:將數據寫入<文件>中而不在標準輸出顯示。
seek=塊數目:先略過以obs為單位的指定<塊數目>的輸出數據。
skip=塊數目:先略過以ibs為單位的指定<塊數目>的輸入數據。
(4)使用說明
dd命令常常用來制作Linux啟動盤。先找一個可引導內核,使它的根設備指向正確的根分區,然后使用dd命令將其寫入軟盤:
$ rdev vmlinuz /dev/hda $dd if=vmlinuz of=/dev/fd0
上面代碼是使用rdev命令將可引導內核vmlinuz中的根設備指向/dev/hda,用戶使用時把“hda”換成自己的根分區,接下來用dd命令將該內核寫入軟盤。
11.find
(1)作用
find命令的作用是在目錄中搜索文件,它的使用權限是所有用戶。
(2)格式
find [path][options][expression]
path指定目錄路徑,系統從此處開始沿著目錄樹向下查找文件。它是一個路徑列表,相互用空格分離,如果不寫path,那么默認為當前目錄。
(3)主要參數
[options]參數:
-depth:使用深度級別的查找過程方式,在某層指定目錄中優先查找文件內容。
-maxdepth levels:表示至多查找到開始目錄的第level層子目錄。level是一個非負數,如果level為0表示僅在當前目錄中查找。
-mindepth levels:表示至少查找到開始目錄的第level層子目錄。
-mount:不在其他文件系統(如Msdos、Vfat等)的目錄和文件中查找。
-version:打印版本。
[expression]是匹配表達式,是find命令接受的表達式,find命令的所有操作都是針對表達式的。它的參數非常多,這里只介紹一些常用的參數:
-name:支持通配符*和?。
-atime n:搜索在過去n天讀取過的文件。
-ctime n:搜索在過去n天修改過的文件。
-group groupname:搜索組名為groupname的文件。
-user用戶名:搜索文件屬主為用戶名(ID或名稱)的所有文件。
-size n:搜索文件大小是n個BLOCK的文件。
-print:輸出搜索結果,并且打印。
(4)使用說明
find命令查找文件的幾種方法:
①根據文件名查找
例如,我們想要查找一個文件名是lilo.conf的文件,可以使用如下命令:
find / -name lilo.conf
find命令后的“/”表示搜索整個硬盤。
②快速查找文件
根據文件名查找文件會遇到一個實際問題,就是要花費相當長的一段時間,特別是大型Linux文件系統和大容量硬盤文件放在很深的子目錄中時。如果我們知道了這個文件存放在某個目錄中,那么只要在這個目錄中往下尋找就能節省很多時間。比如smb.conf文件,從它的文件后綴“.conf”可以判斷這是一個配置文件,那么它應該在/etc目錄內,此時可以使用下面命令:
find /etc -name smb.conf
這樣,使用“快速查找文件”方式可以縮短時間。
③根據部分文件名查找方法
有時我們知道某個文件包含有abvd這4個字,那么可以輸入下面命令來查找系統中所有包含這4個字符的文件:
find / -name '*abvd*'
輸入這個命令以后,Linux系統會在/目錄中查找所有的包含有abvd這4個字符的文件(其中*是通配符),比如abvdrmyz等符合條件的文件都能顯示出來。
④使用混合查找方式查找文件
find命令可以使用混合查找的方法,例如,想在/etc目錄中查找大于500000字節,并且在24小時內修改的某個文件,則可以使用-and把兩個查找參數鏈接起來組合成一個混合的查找方式。
find /etc -size +500000c -and -mtime +1
12.mv
(1)作用
mv命令用來為文件或目錄改名,或者將文件由一個目錄移入另一個目錄中,它的使用權限是所有用戶。該命令如同DOS命令中的ren和move的組合。
(2)格式
mv [options] 源文件或目錄 目標文件或目錄
(3)主要參數
-i:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答“y”或“n”,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。mv操作要覆蓋某個已有的目標文件時不給任何指示,指定此參數后i參數將不再起作用。
13.ls
(1)作用
ls命令用于顯示目錄內容,類似DOS下的dir命令,它的使用權限是所有用戶。
(2)格式
ls [options][filename]
(3)主要參數
-a, --all:不隱藏任何以“.”字符開始的項目。
-A, --almost-all:列出除了“.”及“..”以外的任何項目。
--author:印出每個文件著作者。
-b, --escape:以八進制溢出序列表示不可打印的字符。
--block-size=大小:指定size個字節作為塊的單位。
-i, --inode:列出每個文件的inode號。
-I, --ignore=樣式:不打印出任何符合Shell萬用字符<樣式>的項目。
-k:即block-size=1K。
-l:使用較長格式列出信息。
-L, --dereference:當顯示符號鏈接的文件信息時,顯示符號鏈接所指示的對象,而并非符號鏈接本身的信息。
-m:所有項目以逗號分隔,并填滿整行。
-n, --numeric-uid-gid:類似-l,但列出UID及GID號。
-N, --literal:列出未經處理的項目名稱,例如不特別處理控制字符。
-p, --file-type:加上文件類型的指示符號。
-Q, --quote-name:用雙引號標明項目名稱。
-r, --reverse:依相反次序排列。
-R, --recursive:同時列出所有子目錄層。
-s, --size:以塊大小為序。
(4)使用說明
ls命令是Linux系統使用頻率最多的命令,它的參數也是Linux命令中最多的。使用ls命令時會有幾種不同的顏色,其中藍色表示是目錄,綠色表示是可執行文件,紅色表示是壓縮文件,淺藍色表示是鏈接文件,加粗的黑色表示符號鏈接,灰色表示是其他格式文件。
14.diff
(1)作用
diff命令用于兩個文件之間的比較,并指出兩者的不同,它的使用權限是所有用戶。
(2)格式
diff [options] 源文件目標文件
(3)主要參數
-a:將所有文件當作文本文件來處理。
-b:忽略空格造成的不同。
-B:忽略空行造成的不同。
-c:使用綱要輸出格式。
-H:利用試探法加速對大文件的搜索。
-I:忽略大小寫的變化。
-n --rcs:輸出RCS格式。
15.cmp
(1)作用
cmp(“compare”的縮寫)命令用來簡要指出兩個文件是否存在差異,它的使用權限是所有用戶。
(2)格式
cmp[options] 文件名
(3)主要參數
-l:將字節以十進制的方式輸出,并方便將兩個文件中不同的以八進制的方式輸出。
16.cat
(1)作用
cat(“concatenate”的縮寫)命令用于連接并顯示指定的一個和多個文件的有關信息,它的使用權限是所有用戶。
(2)格式
cat [options] 文件1 文件2……
(3)主要參數
-n:由第一行開始對所有輸出的行數編號。
-b:和-n相似,只不過對于空白行不編號。
-s:當遇到有連續兩行以上的空白行時,就代換為一行的空白行。
(4)使用說明
cat命令一個最簡單的用處是顯示文本文件的內容。例如,我們想在命令行看一下README文件的內容,可以使用命令:
$ cat README
有時需要將幾個文件處理成一個文件,并將這種處理的結果保存到一個單獨的輸出文件。cat命令在其輸入上接受一個或多個文件,并將它們作為一個單獨的文件打印到它的輸出。例如,把README和INSTALL的文件內容加上行號(空白行不加)之后,將內容附加到一個新文本文件File1中:
$ cat README INSTALL File1
cat還有一個重要的功能就是可以對行進行編號,這種功能對于程序文檔的編制以及法律和科學文檔的編制很方便,打印在左邊的行號使得參考文檔的某一部分變得容易,這些在編程、科學研究、業務報告甚至是立法工作中都是非常重要的。
17.ln
(1)作用
ln命令用來在文件之間創建鏈接,它的使用權限是所有用戶。
(2)格式
ln [options] 源文件 [鏈接名]
(3)主要參數
-f:鏈接時先將源文件刪除。
-d:允許系統管理者硬鏈接自己的目錄。
-s:進行軟鏈接(Symbolic Link)。
-b:將在鏈接時會被覆蓋或刪除的文件進行備份。
18.df
(1)作用
df命令用來檢查文件系統的磁盤空間占用情況,使用權限是所有用戶。
(2)格式
df [options]
(3)主要參數
-s:對每個Names參數只給出占用的數據塊總數。
-a:遞歸地顯示指定目錄中各文件及子目錄中各文件占用的數據塊數。若既不指定-s,也不指定-a,則只顯示Names中的每一個目錄及其中的各子目錄所占的磁盤塊數。
-k:以1024字節為單位列出磁盤空間使用情況。
-x:跳過在不同文件系統上的目錄不予統計。
-l:計算所有的文件大小,對硬鏈接文件則計算多次。
-i:顯示inode信息而非塊使用量。
-h:以容易理解的格式印出文件系統大小,例如136KB、254MB、21GB。
-P:使用POSIX輸出格式。
-T:顯示文件系統類型。
(4)使用說明
df命令被廣泛地用來生成文件系統的使用統計數據,它能顯示系統中所有的文件系統的信息,包括總容量、可用的空閑空間、目前的安裝點等。超級權限用戶使用df命令時會發現這樣的情況:某個分區的容量超過了100%。這是因為Linux系統為超級用戶保留了10%的空間,由其單獨支配。也就是說,對于超級用戶而言,他所見到的硬盤容量將是110%。這樣的安排對于系統管理而言是有好處的,當硬盤被使用的容量接近100%時系統管理員還可以正常工作。
19.top
(1)作用
top命令用來顯示執行中的程序進程,使用權限是所有用戶。
(2)格式
top [-] [d delay] [q] [c] [S] [s] [i] [n]
(3)主要參數
d:指定更新的間隔,以秒計算。
q:沒有任何延遲的更新。如果使用者有超級用戶,則top命令將會以最高的優先序執行。
c:顯示進程完整的路徑與名稱。
S:累積模式,會將已完成或消失的子行程的CPU時間累積起來。
s:安全模式。
i:不顯示任何閑置(Idle)或無用(Zombie)的行程。
n:顯示更新的次數,完成后將會退出top。
20.free
(1)作用
free命令用來顯示內存的使用情況,使用權限是所有用戶。
(2)格式
free [-b|-k|-m] [-o] [-s delay] [-t] [-V]
(3)主要參數
-b -k -m:分別以字節(KB、MB)為單位顯示內存使用情況。
-s delay:顯示每隔多少秒數來顯示一次內存使用情況。
-t:顯示內存總和列。
-o:不顯示緩沖區調節列。
(4)使用說明
free命令是用來查看內存使用情況的主要命令。和top命令相比,它的優點是使用簡單,并且只占用很少的系統資源。通過-S參數可以使用free命令不間斷地監視有多少內存在使用,這樣可以把它當作一個方便的實時監控器。
#free -b -s5
使用這個命令后終端會連續不斷地報告內存使用情況(以字節為單位),每5秒更新一次。
21.quota
(1)作用
quota命令用來顯示磁盤使用情況和限制情況,使用權限為超級用戶。
(2)格式
quota [-g][-u][-v][-p] 用戶名 組名
(3)參數
-g:顯示用戶所在組的磁盤使用限制。
-u:顯示用戶的磁盤使用限制。
-v:顯示沒有分配空間的文件系統的分配情況。
-p:顯示簡化信息。
(4)使用說明
在企業應用中磁盤配額非常重要,普通用戶要學會看懂自己的磁盤使用情況。要查詢磁盤配額可以使用下面命令(下例中用戶賬號是caojh):
#quota caojh Disk quotas for user caojh(uid 502): Filesystem blocks quota limit grace files quota limit grace /dev/hda3 58 200000 400000 41 500 1000
以上顯示ID號為502的caojh賬號,文件個數設置為500~1000個,硬盤空間限制設置為200MB~400MB。一旦磁盤配額要用完時,就需要刪除一些垃圾文件或向系統管理員請求追加配額。
22.at
(1)作用
at命令用來在指定時刻執行指定的命令序列。
(2)格式
at [-V] [-q] [-f file] [-m] time
(3)主要參數
-V:顯示標準錯誤輸出。
-q:許多隊列輸出。
-f:從文件中讀取作業。
-m:執行完作業后發送電子郵件到用戶。
time:設定作業執行的時間。time格式有嚴格的要求,由小時、分鐘、日期和時間的偏移量組成,其中日期的格式為MM.DD.YY,MM是分鐘,DD是日期,YY是指年份。偏移量的格式為時間+偏移量,單位是minutes、hours和days。
(4)使用說明
#at -f data 15:30 +2 days
該命令表示讓系統在兩天后的17:30執行文件data中指明的作業。
23.lp
(1)作用
lp是打印文件的命令,使用權限是所有用戶。
(2)格式
lp [-c][-d][-m][-number][-title][-p]
(3)主要參數
-c:先拷貝文件再打印。
-d:打印隊列文件。
-m:打印結束后發送電子郵件到用戶。
-number:打印份數。
-title:打印標題。
-p:設定打印的優先級別,最高為100。
24.useradd
(1)作用
useradd命令用來建立用戶賬號和創建用戶的起始目錄,使用權限是超級用戶。
(2)格式
useradd [options] name
(3)主要參數
-c:加上備注文字,備注文字保存在passwd的備注欄中。
-d:指定用戶登錄時的起始目錄。
-D:變更預設值。
-e:指定賬號的有效期限,缺省表示永久有效。
-f:指定在密碼過期后多少天即關閉該賬號。
-g:指定用戶所屬的群組。
-G:指定用戶所屬的附加群組。
-m:自動建立用戶的登錄目錄。
-M:不要自動建立用戶的登錄目錄。
-n:取消建立以用戶名稱為名的群組。
-r:建立系統賬號。
-s:指定用戶登錄后所使用的shell。
-u:指定用戶ID號。
(4)使用說明
useradd可用來建立用戶賬號,它和adduser命令是相同的。賬號建好之后,再用passwd設定賬號的密碼。使用useradd命令所建立的賬號,實際上是保存在/etc/passwd文本文件中。例如,建立一個新用戶賬戶,并設置ID:
#useradd caojh -u 544
需要說明的是,設定ID值時盡量要大于500,以免沖突。因為Linux安裝后會建立一些特殊用戶,一般0~499之間的值留給bin、mail這樣的系統賬號。
25.groupadd
(1)作用
groupadd命令用于將新組加入系統。
(2)格式
groupadd [-g gid] [-o]] [-r] [-f] groupname
(3)主要參數
-g gid:指定組ID號。
-o:允許組ID號,不必唯一。
-r:加入組ID號,低于499系統賬號。
-f:加入已經有的組時,發展程序退出。
(4)使用說明
建立一個新組,并設置組ID加入系統:
#groupadd -g 344 cjh
此時在/etc/passwd文件中產生一個組ID(GID)是344的項目。
26.kill
(1)作用
kill命令用來中止一個進程。
(2)格式
kill [ -s signal | p] pid ... kill -l [ signal ]
(3)主要參數
-s:指定發送的信號。
-p:模擬發送信號。
-l:指定信號的名稱列表。
pid:要中止進程的ID號。
Signal:表示信號。
(4)使用說明
進程是Linux系統中一個非常重要的概念,Linux是一個多任務的操作系統,系統經常同時運行著多個進程。用戶不關心這些進程究竟是如何分配的,或者是內核如何管理分配時間片的,關心的是如何去控制這些進程,讓它們能夠很好地為用戶服務。kill命令的工作原理是向Linux系統的內核發送一個系統操作信號和某個程序的進程標識號,然后系統內核就可以對進程標識號指定的進程進行操作。比如在top命令中,我們看到系統運行許多進程,有時就需要使用kill命令中止某些進程來提高系統資源。
27.ifconfig
(1)作用
ifconfig用于查看和更改網絡接口的地址和參數,包括IP地址、網絡掩碼、廣播地址,使用權限是超級用戶。
(2)格式
ifconfig -interface [options] address
(3)主要參數
-interface:指定的網絡接口名,如eth0和eth1。
up:激活指定的網絡接口卡。
down:關閉指定的網絡接口。
broadcast address:設置接口的廣播地址。
pointtopoint:啟用點對點方式。
address:設置指定接口設備的IP地址。
netmask address:設置接口的子網掩碼。
(4)使用說明
ifconfig是用來設置和配置網卡的命令行工具。為了手工配置網絡,這是一個必須掌握的命令,使用該命令的好處是無須重新啟動機器。
28.ping
(1)作用
ping檢測主機網絡接口狀態,使用權限是所有用戶。
(2)格式
ping [options] IP地址
(3)主要參數
-d:使用Socket的SO_DEBUG功能。
-c:設置完成要求回應的次數。
-f:極限檢測。
-i:指定收發信息的間隔秒數。
-I:網絡界面使用指定的網絡界面送出數據包。
-l:前置載入,設置在送出要求信息之前,先行發出的數據包。
-n:只輸出數值。
-p:設置填滿數據包的范本樣式。
-q:不顯示指令執行過程,開頭和結尾的相關信息除外。
-r:忽略普通的Routing Table,直接將數據包送到遠端主機上。
-R:記錄路由過程。
-s:設置數據包的大小。
-t:設置存活數值TTL的大小。
-v:詳細顯示指令的執行過程。
(4)使用說明
ping命令是使用最多的網絡指令,通常使用它檢測網絡是否連通,它使用ICMP協議。但是有時會有這樣的情況,用戶可以瀏覽查看一個網頁,但是使用ping命令卻無法連通,這是因為一些網站出于安全考慮安裝了防火墻。另外,也可以通過下面的命令使系統對ping命令沒有反應:
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
29.finger
(1)作用
finger用來查詢一臺主機上的登錄賬號的信息,通常會顯示用戶名、主目錄、停滯時間、登錄時間、登錄Shell等信息,使用權限為所有用戶。
(2)格式
finger [選項] [使用者] [用戶@主機]
(3)主要參數
-s:顯示用戶注冊名、實際姓名、終端名稱、寫狀態、停滯時間、登錄時間等信息。
-l:除了-s選項顯示的信息外,還顯示用戶主目錄、登錄Shell、郵件狀態等信息,以及用戶主目錄下的.plan、.project和.forward文件的內容。
-p:除了不顯示.plan文件和.project文件以外,與-l選項相同。
(4)使用說明
如果要查詢遠程機上的用戶信息,需要在用戶名后面接“@主機名”,采用[用戶名@主機名]的格式,不過要查詢的網絡主機需要運行finger守護進程的支持。
30.nslookup
(1)作用
nslookup命令的功能是查詢一臺機器的IP地址和其對應的域名,使用權限是所有用戶。它通常需要一臺域名服務器來提供域名服務。如果用戶已經設置好域名服務器,就可以用這個命令查看不同主機的IP地址對應的域名。
(2)格式
nslookup[IP地址/域名]
(3)使用說明
在本地計算機上使用nslookup命令:
$ nslookup Default Server: name.cao.com.cn Address: 192.168.1.9 >
在符號“>”后面輸入要查詢的IP地址域名,按回車鍵即可。如果要退出該命令,輸入“exit”,并按回車鍵即可。
31.passwd
(1)作用
passwd命令原來修改賬戶的登錄密碼,使用權限是所有用戶。
(2)格式
passwd [選項] 賬戶名稱
(3)主要參數
-l:鎖定已經命名的賬戶名稱,只有具備超級用戶權限的使用者方可使用。
-u:解開賬戶鎖定狀態,只有具備超級用戶權限的使用者方可使用。
-x, --maximum=DAYS:最大密碼使用時間(天),只有具備超級用戶權限的使用者方可使用。
-n, --minimum=DAYS:最小密碼使用時間(天),只有具備超級用戶權限的使用者方可使用。
-d:刪除使用者的密碼,只有具備超級用戶權限的使用者方可使用。
-S:檢查指定使用者的密碼認證種類,只有具備超級用戶權限的使用者方可使用。
32.su
(1)作用
su的作用是變更為其他使用者的身份,超級用戶除外,需要鍵入該使用者的密碼。
(2)格式
su [選項]... [-] [USER [ARG]...]
(3)主要參數
-f,--fast:不必讀啟動文件(如csh、cshrc等),僅用于csh或tcsh兩種Shell。
-l,--login:加了這個參數之后,就好像是重新登錄為該使用者一樣,大部分環境變量(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,并且工作目錄也會改變。如果沒有指定USER,缺省情況下是root。
-m,-p,--preserve-environment:執行su時不改變環境變數。
-c command:變更賬號為USER的使用者,并執行指令(command)后再變回原來的使用者。
USER:打算變更的使用者賬號,ARG傳入新的Shell參數。
33.umask
(1)作用
Umask為用戶文件和目錄的文件創建缺省屏蔽值,若將此命令放入profile文件,就可控制該用戶后續所建文件的存取許可。它告訴系統在創建文件時不給誰存取許可。使用權限是所有用戶。
(2)格式
umask [-p] [-S] [mode]
(3)主要參數
-S:確定當前的umask設置。
-p:修改umask設置。
[mode]:修改數值。
34.chmod
(1)作用
chmod命令非常重要,用于改變文件或目錄的訪問權限,用戶可以用它控制文件或目錄的訪問權限,使用權限是超級用戶。
(2)格式
chmod命令有兩種用法:一種是包含字母和操作符表達式的字符設定法(相對權限設定);另一種是包含數字的數字設定法(絕對權限設定)。
①字符設定法
chmod [who] [+ | - | =] [mode] 文件名
操作對象who可以是下述字母中的任一個或它們的組合:
u 表示用戶,即文件或目錄的所有者。
g 表示同組用戶,即與文件屬主有相同組ID的所有用戶。
o 表示其他用戶。
a 表示所有用戶,它是系統默認值。
操作符號:
+ 添加某個權限。
- 取消某個權限。
= 賦予給定權限,并取消其他所有權限。
設置mode的權限可用下述字母的任意組合:
r 可讀。
w 可寫。
x 可執行。
X 只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加x屬性。
s 文件執行時把進程的屬主或組ID設置為該文件的文件屬主,“u+s”設置文件的用戶ID位,“g+s”設置組ID位。
t 保存程序的文本到交換設備上。
u 與文件屬主擁有一樣的權限。
g 與和文件屬主同組的用戶擁有一樣的權限。
o 與其他用戶擁有一樣的權限。
文件名:以空格分開的要改變權限的文件列表,支持通配符。一個命令行中可以給出多個權限方式,其間用逗號隔開。
②數字設定法
chmod [mode] 文件名
數字屬性的格式應為3個0~7的八進制數,其順序是(u)(g)(o)文件名,以空格分開要改變權限的文件列表,支持通配符。數字表示的權限的含義如下:0001為所有者的執行權限;0002為所有者的寫權限;0000為所有者的讀權限;0010為組的執行權限;0020為組的寫權限;0040為組的讀權限;0100為其他人的執行權限;0200為其他人的寫權限;0400為其他人的讀權限;1000為粘貼位置位;2000表示假如這個文件是可執行文件,則組ID為位置位,否則其中文件鎖定位置位;4000表示假如這個文件是可執行文件,則用戶ID為位置位。
35.chown
(1)作用
更改一個或多個文件或目錄的屬主和屬組。使用權限是超級用戶。
(2)格式
chown [選項] 用戶或組文件
(3)主要參數
--dereference:受影響的是符號鏈接所指示的對象,而非符號鏈接本身。
-h, --no-dereference:會影響符號鏈接本身,而非符號鏈接所指示的目的地(當系統支持更改符號鏈接的所有者,此選項才有效)。
--from=目前所有者:目前組只當每個文件的所有者和組符合選項所指定的,才會更改所有者和組。其中一個可以省略,這已省略的屬性就不需要符合原有的屬性。
-f, --silent, --quiet:去除大部分的錯誤信息。
-R, --recursive:遞歸處理所有的文件及子目錄。
-v, --verbose:處理任何文件都會顯示信息。
(4)使用說明
chown將指定文件的擁有者改為指定的用戶或組,用戶可以是用戶名或用戶ID;組可以是組名或組ID;文件是以空格分開的要改變權限的文件列表,支持通配符。系統管理員經常使用chown命令,在將文件拷貝到另一個用戶的目錄下以后,讓用戶擁有使用該文件的權限。
36.sudo
(1)作用
sudo是一種以限制配置文件中的命令為基礎,在有限時間內給用戶使用,并且記錄到日志中的命令,權限是所有用戶。
(2)格式
sudo [options]
(3)主要參數
-b:在后臺執行命令。
-h:顯示幫助。
-H:將HOME環境變量設為新身份的HOME環境變量。
-k:結束密碼的有效期,即下次將需要輸入密碼。
-l:列出當前用戶可以使用的命令。
-p:改變詢問密碼的提示符號。
-s <shell>:執行指定的Shell。
-u <用戶>:以指定的用戶為新身份,不使用時默認為root。
-v:延長密碼有效期5分鐘。
(4)使用說明
sudo命令的配置在/etc/sudoers文件中。當用戶使用sudo命令時,需要輸入口令以驗證使用者身份。隨后的一段時間內可以使用定義好的命令,當使用配置文件中沒有的命令時,將會有報警的記錄。sudo是系統管理員用來允許某些用戶以root身份運行部分/全部系統命令的程序。一個通用的用途是增強了站點的安全性,如果需要每天以超級用戶的身份做一些日常工作,經常執行一些固定的只有超級用戶身份才能執行的命令,那么用sudo是非常適合的。
37.ps
(1)作用
ps顯示瞬間進程(process)的動態,使用權限是所有使用者。
(2)格式
ps [options] [--help]
(3)主要參數
ps的參數非常多,此處僅列出幾個常用的參數。
-A:列出所有的進程。
-l:顯示長列表。
-m:顯示內存信息。
-w:顯示加寬可以顯示較多的信息。
-e:顯示所有進程。
a:顯示終端上的所有進程,包括其他用戶的進程。
-au:顯示較詳細的信息。
-aux:顯示所有包含其他使用者的進程。
(4)使用說明
要對進程進行監測和控制,首先要了解當前進程的情況,也就是需要查看當前進程。ps命令就是最基本、也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行、運行的狀態、進程是否結束、進程有沒有僵尸、哪些進程占用了過多的資源等,大部分信息都可以通過執行該命令得到。
38.who
(1)作用
who顯示系統中有哪些用戶登錄了系統,顯示的資料包含使用者ID、使用的登錄終端、上線時間、空閑時間、CPU占用,以及做了些什么。使用權限為所有用戶。
(2)格式
who [options] [user]
(3)主要參數
-h:不要顯示標題列。
-u:不要顯示使用者的動作/工作。
-s:使用簡短的格式來顯示。
-f:不要顯示使用者的上線位置。
-V:顯示程序版本。
(4)使用說明
該命令主要用于查看當前在線上的用戶情況,系統管理員希望監視每個登錄的用戶此時此刻的所作所為,也要使用who命令。who命令應用起來非常簡單,可以比較準確地掌握用戶的情況,所以使用非常廣泛。
39.tar
(1)作用
tar命令是Linux系統中備份文件的可靠方法,幾乎可以工作于任何環境中,它的使用權限是所有用戶。
(2)格式
tar [主選項+可選項] 文件或目錄
(3)主要參數
使用該命令時,主選項是必須要有的,可選項是輔助使用的,可以選用。
主選項:
-c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。
-r 把要存檔的文件追加到檔案文件的末尾。例如用戶已經做好備份文件,又發現還有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將目錄或文件追加到備份文件中。
-t 列出檔案文件的內容,查看已經備份了哪些文件。
-u 更新文件。即用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最后。
-x 從檔案文件中釋放文件。
可選項:
-b 該選項是為磁帶機設定的,其后跟一數字,用來說明區塊的大小,系統預設值為20(20×512 bytes)。
-f 使用檔案文件或設備,這個選項通常是必選的。
-k 保存已經存在的文件。例如把某個文件還原,在還原的過程中遇到相同的文件,不會進行覆蓋。
-m 在還原文件時,把所有文件的修改時間設定為現在。
-M 創建多卷的檔案文件,以便在幾個磁盤中存放。
-v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。
-w 每一步都要求確認。
-z 用gzip來壓縮/解壓縮文件,加上該選項后可以將檔案文件進行壓縮,還原時也一定要使用該選項進行解壓縮。
40.unzip
(1)作用
unzip命令位于/usr/bin目錄中,和MS DOS下的pkzip、pkunzip及MS Windows中的winzip軟件功能一樣,將文件壓縮成.zip文件,以節省硬盤空間,當需要的時候再將壓縮文件用unzip命令解開。該命令使用權限是所有用戶。
(2)格式
unzip [-cflptuvz][-agCjLMnoqsVX][-P <密碼>][.zip 文件][文件][-d <目錄>][-x < 文件>]
(3)主要參數
-c:將解壓縮的結果顯示到屏幕上,并對字符做適當的轉換。
-f:更新現有的文件。
-l:顯示壓縮文件內所包含的文件。
-p:與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換。
-t:檢查壓縮文件是否正確。
-u:與-f參數類似,但除了更新現有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中。
-v:執行時顯示詳細的信息。
-z:僅顯示壓縮文件的備注文字。
-a:對文本文件進行必要的字符轉換。
-b:不對文本文件進行字符轉換。
-C:壓縮文件中的文件名稱區分大小寫。
-j:不處理壓縮文件中原有的目錄路徑。
-L:將壓縮文件中的全部文件名改為小寫。
-M:將輸出結果送到more程序處理。
-n:解壓縮時不覆蓋原有的文件。
-o:不詢問用戶,unzip命令執行后覆蓋原有文件。
-P<密碼>:使用zip的密碼選項。
-q:執行時不顯示任何信息。
-s:將文件名中的空白字符轉換為底線字符。
-V:保留VMS的文件版本信息。
-X:解壓縮的同時回存文件原來的UID/GID。
[.zip文件]:指定.zip壓縮文件。
[文件]:指定要處理.zip壓縮文件中的哪些文件。
-d<目錄>:指定文件解壓縮后所要存儲的目錄。
-x<文件>:指定不要處理.zip壓縮文件中的哪些文件。
-Z unzip:-Z等于執行zipinfo指令。在Linux中,還提供了一個叫zipinfo的工具,能夠察看zip壓縮文件的詳細信息。
41.gunzip
(1)作用
gunzip命令的作用是解壓文件,使用權限是所有用戶。
(2)格式
gunzip [-acfhlLnNqrtvV][-s <壓縮字尾字符串>][文件...]或者gunzip [-acfhlLnNqrtvV][-s <壓縮字尾字符串>][目錄]
(3)主要參數
-a或--ascii:使用ASCII文字模式。
-c或--stdout或--to-stdout:把解壓后的文件輸出到標準輸出設備。
-f或-force:強行解開壓縮文件,不管文件名稱或硬連接是否存在,以及該文件是否為符號連接。
-h或--help:在線幫助。
-l或--list:列出壓縮文件的相關信息。
-L或--license:顯示版本與版權信息。
-n或--no-name:解壓縮時,若壓縮文件內含有原來的文件名稱及時間戳記,則將其忽略不予處理。
-N或--name:解壓縮時,若壓縮文件內含有原來的文件名稱及時間戳記,則將其回存到解開的文件上。
-q或--quiet:不顯示警告信息。
-r或--recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
-S<壓縮字尾字符串>或--suffix<壓縮字尾字符串>:更改壓縮字尾字符串。
-t或--test:測試壓縮文件是否正確無誤。
-v或--verbose:顯示指令執行過程。
-V或--version:顯示版本信息。
(4)使用說明
gunzip是個使用廣泛的解壓縮程序,它用于解開用gzip命令壓縮生成的文件,這些壓縮文件最后的擴展名為“.gz”。gunzip命令是gzip命令的硬連接,因此不論是壓縮或解壓縮,都可通過gzip指令單獨完成。
- 30天自制操作系統
- Linux系統架構與運維實戰
- 精通Linux內核開發
- 嵌入式應用程序設計綜合教程(微課版)
- 計算機系統開發與優化實戰
- Linux網絡內核分析與開發
- Windows Phone 8 Application Development Essentials
- 嵌入式系統及其應用(第三版)
- 突破平面3ds Max動畫設計與制作
- Learning Magento 2 Administration
- Delphi Programming Projects
- Social Data Visualization with HTML5 and JavaScript
- Vim 8文本處理實戰
- 微軟360度
- Serverless Architectures with AWS