linux下必學的60個命令及詳解(下)

來源:互聯網
上載者:User

Linux必學的60個命令(5)-網路安全命令Linux必學的60個命令:系統安全相關命令
雖然Linux和Windows NT/2000系統一樣是一個多使用者的系統,但是它們之間有不少重要的差別。對於很多習慣了Windows系統的管理員來講,如何保證Linux作業系統安全、可靠將會面臨許多新的挑戰。本文將重點介紹Linux系統安全的命令。
passwd
1.作用
passwd命令原來修改賬戶的登陸密碼,使用許可權是所有使用者。
2.格式
passwd [選項] 賬戶名稱
3.主要參數
-l:鎖定已經命名的賬戶名稱,只有具備超級使用者權限的使用者方可使用。
-u:解開賬戶鎖定狀態,只有具備超級使用者權限的使用者方可使用。
-x, --maximum=DAYS:最大密碼使用時間(天),只有具備超級使用者權限的使用者方可使用。
-n, --minimum=DAYS:最小密碼使用時間(天),只有具備超級使用者權限的使用者方可使用。
-d:刪除使用者的密碼, 只有具備超級使用者權限的使用者方可使用。
-S:檢查指定使用者的密碼認證種類, 只有具備超級使用者權限的使用者方可使用。
4.應用執行個體
$ passwd
Changing password for user cao.
Changing password for cao
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
從上面可以看到,使用passwd命令需要輸入舊的密碼,然後再輸入兩次新密碼。
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參數。
4.應用執行個體
變更帳號為超級使用者,並在執行df命令後還原使用者。 su -c df root
umask
1.作用
umask設定使用者檔案和目錄的檔案建立預設屏蔽值,若將此命令放入profile檔案,就可控制該使用者後續所建檔案的存取許可。它告訴系統在建立檔案時不給誰存取許可。使用許可權是所有使用者。
2.格式
umask [-p] [-S] [mode]
3.參數
-S:確定當前的umask設定。
-p:修改umask 設定。
[mode]:修改數值。
4.說明

統Unix的umask值是022,這樣就可以防止同屬於該組的其它使用者及別的組的使用者修改該使用者的檔案。既然每個使用者都擁有並屬於一個自己的私人組,那
麼這種“組保護模式”就不在需要了。嚴密的許可權設定構成了Linux安全的基礎,在許可權上犯錯誤是致命的。需要注意的是,umask命令用來設定進程所創
建的檔案的讀寫權限,最保險的值是0077,即關閉建立檔案的進程以外的所有進程的讀寫權限,表示為-rw-------。在
~/.bash_profile中,加上一行命令umask 0077可以保證每次啟動Shell後, 進程的umask許可權都可以被正確設定。
5.應用執行個體
umask -S
u=rwx,g=rx,o=rx
umask -p 177
umask -S
u=rw,g=,o=
上述5行命令,首先顯示目前狀態,然後把umask值改為177,結果只有檔案所有者具有讀寫檔案的許可權,其它使用者不能訪問該檔案。這顯然是一種非常安全的設定。
chgrp
1.作用
chgrp表示修改一個或多個檔案或目錄所屬的組。使用許可權是超級使用者。
2.格式
chgrp [選項]... 組 檔案...

chgrp [選項]... --reference=參考檔案 檔案...
將每個的所屬組設定為。
3.參數
-c, --changes :像 --verbose,但只在有更改時才顯示結果。
--dereference:會影響符號連結所指示的對象,而非符號連結本身。
-h, --no-dereference:會影響符號連結本身,而非符號連結所指示的目的地(當系統支援更改符號連結的所有者,此選項才有效)。
-f, --silent, --quiet:去除大部分的錯誤資訊。
--reference=參考檔案:使用的所屬組,而非指定的。
-R, --recursive:遞迴處理所有的檔案及子目錄。
-v, --verbose:處理任何檔案都會顯示資訊。
4.應用說明
該命令改變指定指定檔案所屬的使用者組。其中group可以是使用者組ID,也可以是/etc/group檔案中使用者組的組名。檔案名稱是以空格分開的要改變屬組的檔案清單,支援萬用字元。如果使用者不是該檔案的屬主或超級使用者,則不能改變該檔案的組。
5.應用執行個體
改變/opt/local /book/及其子目錄下的所有檔案的屬組為book,命令如下:
$ chgrp - R book /opt/local /book
chmod
1.作用
chmod命令是非常重要的,用於改變檔案或目錄的存取權限,使用者可以用它控制檔案或目錄的存取權限,使用許可權是超級使用者。
2.格式
chmod命令有兩種用法。一種是包含字母和操作符運算式的字元設定法(相對許可權設定);另一種是包含數位數字設定法(絕對許可權設定)。
(1)字元設定法
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:與其它使用者擁有一樣的許可權。
檔案名稱:以空格分開的要改變許可權的檔案清單,支援萬用字元。
一個命令列中可以給出多個許可權方式,其間用逗號隔開。
(2) 數字設定法
數字設定法的一般形式為: chmod [mode] 檔案名稱
數字屬性的格式應為3個0到7的八位元,其順序是(u)(g)(o)檔案名稱,以空格分開的要改變許可權的檔案清單,支援萬用字元。

字表示的許可權的含義如下:0001為所有者的執行許可權;0002為所有者的寫入權限;0004為所有者的讀許可權;0010為組的執行許可權;0020為組的寫
許可權;0040為組的讀許可權;0100為其他人的執行許可權;0200為其他人的寫入權限;0400為其他人的讀許可權;1000為粘貼位置位;2000表示假
如這個檔案是可執行檔,則為組ID為位置位,否則其中檔案鎖定位置位;4000表示假如這個檔案是可執行檔,則為使用者ID為位置位。
3.執行個體
如果一個系統管理員寫了一個表格(tem)讓所有使用者填寫,那麼必須授權使用者對這個檔案有讀寫權限,可以使用命令:#chmod 666 tem

面代碼中,這個666數字是如何計算出來的呢?0002為所有者的寫入權限,0004為所有者的讀許可權,0020為組的寫入權限,0040為組的讀許可權,
0200為其他人的寫入權限,0400為其他人的讀許可權,這6個數字相加就是666(注以上數字都是八位元),結果見圖1所示。
圖1 用chmod數字方法設定檔案許可權
從圖1可以看出,tem檔案的許可權是-rw-rw-rw-,即使用者對這個檔案有讀寫權限。
如果用字元許可權設定使用下面命令:
#chmod a =wx tem
chown
1.作用
更改一個或多個檔案或目錄的屬主和屬組。使用許可權是超級使用者。
2.格式
chown [選項] 使用者或組 檔案
3.主要參數
--dereference:受影響的是符號連結所指示的對象,而非符號連結本身。
-h, --no-dereference:會影響符號連結本身,而非符號連結所指示的目的地(當系統支援更改符號連結的所有者,此選項才有效)。
--from=目前所有者:目前組只當每個檔案的所有者和組符合選項所指定的,才會更改所有者和組。其中一個可以省略,這已省略的屬性就不需要符合原有的屬性。
-f, --silent, --quiet:去除大部分的錯誤資訊。
-R, --recursive:遞迴處理所有的檔案及子目錄。
-v, --verbose:處理任何檔案都會顯示資訊。
4.說明
chown 將指定檔案的擁有者改為指定的使用者或組,使用者可以是使用者名稱或使用者ID;組可以是組名或組ID;檔案是以空格分開的要改變許可權的檔案清單,支援萬用字元。系統管理員經常使用chown命令,在將檔案拷貝到另一個使用者的目錄下以後,讓使用者擁有使用該檔案的許可權。
5.應用執行個體
1.把檔案shiyan.c的所有者改為wan
$ chown wan shiyan.c
2.把目錄/hi及其下的所有檔案和子目錄的屬主改成wan,屬組改成users。
$ chown - R wan.users /hi
chattr
1.作用
修改ext2和ext3檔案系統屬性(attribute),使用許可權超級使用者。
2.格式
chattr [-RV] [-+=AacDdijsSu] [-v version] 檔案或目錄
3.主要參數
-R:遞迴處理所有的檔案及子目錄。
-V:詳細顯示修改內容,並列印輸出。
-:失效屬性。
+:啟用屬性。
= :指定屬性。
A:Atime,告訴系統不要修改對這個檔案的最後訪問時間。
S:Sync,一旦應用程式對這個檔案執行了寫操作,使系統立刻把修改的結果寫到磁碟。
a:Append Only,系統只允許在這個檔案之後追加資料,不允許任何進程覆蓋或截斷這個檔案。如果目錄具有這個屬性,系統將只允許在這個目錄下建立和修改檔案,而不允許刪除任何檔案。
i:Immutable,系統不允許對這個檔案進行任何的修改。如果目錄具有這個屬性,那麼任何的進程只能修改目錄之下的檔案,不允許建立和刪除檔案。
D:檢查壓縮檔中的錯誤。
d:No dump,在進行檔案系統備份時,dump程式將忽略這個檔案。
C:Compress,系統以透明的方式壓縮這個檔案。從這個檔案讀取時,返回的是解壓之後的資料;而向這個檔案中寫入資料時,資料首先被壓縮之後才寫入磁碟。
s:Secure Delete,讓系統在刪除這個檔案時,使用0填充檔案所在的地區。
u:Undelete,當一個應用程式請求刪除這個檔案,系統會保留其資料區塊以便以後能夠恢複刪除這個檔案。
4.說明
chattr
命令的作用很大,其中一些功能是由Linux核心版本來支援的,如果Linux核心版本低於2.2,那麼許多功能不能實現。同樣-D檢查壓縮檔中的錯誤
的功能,需要2.5.19以上核心才能支援。另外,通過chattr命令修改屬效能夠提高系統的安全性,但是它並不適合所有的目錄。chattr命令不能
保護/、/dev、/tmp、/var目錄。
5.應用執行個體
1.恢複/root目錄,即子目錄的所有檔案
# chattr -R +u/root
2.用chattr命令防止系統中某個關鍵檔案被修改
在Linux下,有些設定檔(passwd ,fatab)是不允許任何人修改的,為了防止被誤刪除或修改,可以設定該檔案的“不可修改位(immutable)”,命令如下:
# chattr +i /etc/fstab
sudo
1.作用
sudo是一種以限制設定檔中的命令為基礎,在有限時間內給使用者使用,並且記錄到日誌中的命令,許可權是所有使用者。
2.格式
sudo [-bhHpV] [-s ] [-u ] [指令]
sudo [-klv]
3.主要參數
-b:在後台執行命令。
-h:顯示協助。
-H:將HOME環境變數設為新身份的HOME環境變數。
-k:結束密碼的有效期間,即下次將需要輸入密碼。
-l:列出目前使用者可以使用的命令。
-p:改變詢問密碼的提示符號。
-s :執行指定的Shell。
-u :以指定的使用者為新身份,不使用時預設為root。
-v:延長密碼有效期間5分鐘。
4.說明
sudo
命令的配置在/etc/sudoers檔案中。當使用者使用sudo時,需要輸入口令以驗證使用者身份。隨後的一段時間內可以使用定義好的命令,當使用配置
檔案中沒有的命令時,將會有警示的記錄。sudo是系統管理員用來允許某些使用者以root身份運行部分/全部系統命令的程式。一個明顯的用途是增強了網站
的安全性,如果需要每天以超級使用者的身份做一些日常工作,經常執行一些固定的幾個只有超級使用者身份才能執行的命令,那麼用sudo是非常適合的。
ps
1.作用
ps顯示瞬間進程 (process) 的動態,使用許可權是所有使用者。
2.格式
ps [options] [--help]
3.主要參數
ps的參數非常多, 此出僅列出幾個常用的參數。
-A:列出所有的進程。
-l:顯示長列表。
-m:顯示記憶體資訊。
-w:顯示加寬可以顯示較多的資訊。
-e:顯示所有進程。
a:顯示終端上的所有進程,包括其它使用者的進程。
-au:顯示較詳細的資訊。
-aux:顯示所有包含其它使用者的進程。
4.說明

對進程進行監測和控制,首先要瞭解當前進程的情況,也就是需要查看當前進程。ps命令就是最基本、也是非常強大的進程查看命令。使用該命令可以確定有哪些
進程正在運行、啟動並執行狀態、進程是否結束、進程有沒有殭屍、哪些進程佔用了過多的資源等。圖2給出了ps-aux命令詳解。大部分資訊都可以通過執行該命
令得到。最常用的三個參數是u、a、x。下面就結合這三個參數詳細說明ps命令的作用:ps aux
圖2 ps-aux命令詳解
圖2第2行代碼中,USER表示進程擁有者;PID表示進程標示符;%CPU表示佔用的CPU使用率;%MEM佔用的實體記憶體使用率;VSZ表示佔用的虛擬記憶體大小;RSS為進程佔用的實體記憶體值;TTY為終端的次要裝置號碼。
STAT
表示進程的狀態,其中D為不可中斷的靜止(I/O動作);R正在執行中;S靜止狀態;T暫停執行;Z不存在,但暫時無法消除;W沒有足夠的記憶體分頁可分
配;高優先序的進程;N低優先序的進程;L有記憶體分頁分配並鎖在記憶體體內 (即時系統或
I/O)。START為進程開始時間。TIME為執行的時間。COMMAND是所執行的指令。
4.應用執行個體
在進行系統維護時,經常會出現記憶體使用量量驚人,而又不知道是哪一個進程佔用了大量進程的情況。除了可以使用top命令查看記憶體使用量情況之外,還可以使用下面的命令:
ps aux | sort +5n
who
1.作用
who顯示系統中有哪些使用者登陸系統,顯示的資料包含了使用者ID、使用的登陸終端、上線時間、獃滯時間、CPU佔用,以及做了些什麼。 使用許可權為所有使用者。
2.格式
who - [husfV] [user]
3.主要參數
-h:不要顯示標題列。
-u:不要顯示使用者的動作/工作。
-s:使用簡短的格式來顯示。
-f:不要顯示使用者的上線位置。
-V:顯示程式版本。
4.說明

命令主要用於查看當前線上上的使用者情況。如果使用者想和其它使用者建立即時通訊,比如使用talk命令,那麼首先要確定的就是該使用者確實線上上,不然
talk進程就無法建立起來。又如,系統管理員希望監視每個登入的使用者此時此刻的所作所為,也要使用who命令。who命令應用起來非常簡單,可以比較准
確地掌握使用者的情況,所以使用非常廣泛。
動手練習
1.使用Linux命令檢測系統入侵者

裝過Mandrake Linux和Red Hat
Linux的使用者都會知道,Linux系統會內建三種不同層級(標準、高、更高)的防火牆,當進行了Linux伺服器的安裝和一些基本的設定後,伺服器應
該說是比較安全的,但是也會有駭客通過各種方法利用系統管理員的疏忽侵入系統。如何快速尋找駭客非常重要。一般來說,可以使用命令查詢駭客是否入侵,見表
1。
表1 查詢駭客入侵現象的命令對應表
舉例說明,如果駭客嗅探網路,那麼它必須使網卡介面處於混雜模式,使用下面命令進行查詢:
#ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:00:E8:A0:25:86
inet addr:192.168.1.7 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING PROMISCUOUS MTU:1500 Metric:1
......

這個命令的輸出中,可以看到上面講到的這些概念。第一行的00:00:E8:A0:25:86是mac地址,第二行的192.168.1.7是IP地址,
第四行講的是接收資料狀態,這時正在被駭客嗅探。一般而言,網卡有幾種接收資料幀的狀態,如Broadcast、Multicast、
Promiscuous等。Broadcast是指接收所有類型為廣播報文的資料幀;Multicast是指接收特定的組播報文;Promiscuous
則是通常說的混雜模式,是指對報文中的目的硬體地址不加任何檢查、全部接收的工作模式。
2.限制su命令的濫用

們知道,超級使用者在Linux中有最大的權利,幾乎所有駭客都想得到這個目標。Linux可以增加對切換到超級使用者的限制。使用PAM
(Pluggable Authentication
Modules)可以禁止除在wheel組以外的任何人su成root,修改/etc/pam.d/su檔案,除去屏蔽標識#。使用
/usr/sbin/usermod G10 bjecadm將bjecadm這個帳號加入gid為10的組,就是wheel組。命令如下:
/etc/pam.d/su # 使用密碼驗證#
auth sufficient /lib/security/pam_wheel.so debug
# 限制只有wheel組使用者才可以切換到root#
auth required /lib/security/pam_wheel.so use_uid
chmod -G10 bjecadm
另外,每當使用者試圖使用su命令進入系統使用者時,命令將在/usr/adm/sulog檔案中寫一條資訊,若該檔案記錄了大量試圖用su進入root的無效操作資訊,則表明了可能有人企圖破譯root口令。
Linux命令有著強大的功能。對於Linux系統管理員來說,往往只需要通過各種安全命令技巧,組合構成安全防線。從電腦安全的角度看,世界上沒有絕對安全的電腦系統,Linux系統也不例外。
Linux必學的60個命令(6)-其他命令
Linux必學的60個命令:其它命令
在前面幾講中,我們把Linux命令按照在系統中的作用分成幾個部分分別予以介紹。但是,還有一些命令不好劃分,然而學習它們同樣是比較重要的。
tar
1.作用
tar命令是Unix/Linux系統中備份檔案的可靠方法,幾乎可以工作於任何環境中,它的使用許可權是所有使用者。
2.格式
tar [主選項+輔選項] 檔案或目錄
3.主要參數
使用該命令時,主選項是必須要有的,它告訴tar要做什麼事情,輔選項是輔助使用的,可以選用。
主選項:
-c 建立新的檔案檔案。如果使用者想備份一個目錄或是一些檔案,就要選擇這個選項。
-r 把要存檔的檔案追加到檔案檔案的未尾。例如使用者已經做好備份檔案,又發現還有一個目錄或是一些檔案忘記備份了,這時可以使用該選項,將忘記的目錄或檔案追加到備份檔案中。
-t 列出檔案檔案的內容,查看已經備份了哪些檔案。
-u 更新檔案。就是說,用新增的檔案取代原備份檔案,如果在備份檔案中找不到要更新的檔案,則把它追加到備份檔案的最後。
-x 從檔案檔案中釋放檔案。
輔助選項:
-b 該選項是為磁帶機設定的,其後跟一數字,用來說明區塊的大小,系統預設值為20(20×512 bytes)。
-f 使用檔案檔案或裝置,這個選項通常是必選的。
-k 儲存已經存在的檔案。例如把某個檔案還原,在還原的過程中遇到相同的檔案,不會進行覆蓋。
-m 在還原檔案時,把所有檔案的修改時間設定為現在。
-M 建立多卷的檔案檔案,以便在幾個磁碟中存放。
-v 詳細報告tar處理的檔案資訊。如無此選項,tar不報告檔案資訊。
-w 每一步都要求確認。
-z 用gzip來壓縮/解壓縮檔案,加上該選項後可以將檔案檔案進行壓縮,但還原時也一定要使用該選項進行解壓縮。
4.應用說明
tar 是Tape Archive(磁帶歸檔)的縮寫,最初設計用於將檔案打包到磁帶上。如果下載過Linux的原始碼,或許已經碰到過tar檔案
請注意,不要忘了Linux是區分大小寫。例如,tar命令應該總是以小寫形式執行。命令列開關可以是大寫、小寫或大小寫混合。例如,-t和-T執行不同的功能。檔案或目錄名稱可以混合使用大小寫,而且就像命令和命令列開關一樣是區分大小寫。
5.應用執行個體
tar是一個命令列的工具,沒有圖形介面。使用Konsole開啟一個終端視窗,接下來是一個簡單的備份命令(在/temp目錄中建立一個back.tar的檔案,/usr目錄中所有內容都包含在其中。):
$tar cvf - /usr > /temp/back.tar

外,tar命令支援前面第三講中講過的crontab命令,可以用crontab工具設定成基於時間的有規律地運行。例如,每晚6點把/usr目錄備份到
hda—第一個IDE介面的主磁碟機 (總是位於第一個硬碟)中,只要將下面語句添加到root的crontab中即可:
$00 06 * * * tar cvf /dev/hda1/usrfiles.tar - /usr
一般情況下,以下這些目錄是需要備份的:
◆/etc 包含所有核心設定檔,其中包括網路設定、系統名稱、防火牆規則、使用者、組,以及其它全域系統項。
◆ /var 包含系統守護進程(服務)所使用的資訊,包括DNS配置、DHCP租期、郵件緩衝檔案、HTTP伺服器檔案、dB2執行個體配置等。
◆/home 包含所有預設使用者的主目錄,包括個人設定、已下載的檔案和使用者不希望失去的其它資訊。
◆/root 根(root)使用者的主目錄。
◆/opt 是安裝許多非系統檔案的地方。IBM軟體就安裝在這裡。OpenOffice、JDK和其它軟體在預設情況下也安裝在這裡。
有些目錄是可以不備份的:
◆ /proc 應該永遠不要備份這個目錄。它不是一個真實的檔案系統,而是運行核心和環境的虛擬化視圖,包括諸如/proc/kcore這樣的檔案,這個檔案是整個運行記憶體的虛擬視圖。備份這些檔案只是在浪費資源。
◆/dev 包含硬體裝置的檔案表示。如果計劃還原到一個空白的系統,就可以備份/dev。然而,如果計劃還原到一個已安裝的Linux 系統,那麼備份/dev是沒有必要的。
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壓縮檔的詳細資料。unzip最新版本是5.50。
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指令單獨完成。gunzip最新版本是1.3.3 。
unarj
1.作用
unarj解壓縮格式為.arj格式的檔案,使用許可權是所有使用者。
2.格式
unarj [eltx][.arj壓縮檔]
3.主要參數
e:解壓縮.arj檔案。
l:顯示壓縮檔內所包含的檔案。
t:檢查壓縮檔是否正確。
x:解壓縮時保留原有的路徑。
4.說明
帶有.arj副檔名的檔案是由用於MS DOS和Windows的ARJ公用程式建立的。因為ARJ是一種不能免費獲得原始碼的共用件程式,所以在
mtools
1.作用
mtools
實際上是一個命令集合,是DOS檔案系統的工具程式,它可以類比許多DOS命令,使用起來非常方便。使用許可權是所有使用者。Linux系統提供了一組稱為
mtools的可移植工具,可以讓使用者輕鬆地從標準的DOS磁碟片上讀、寫檔案和目錄。它們對DOS和Linux環境之間分頁檔非常有用。mtools的
使用非常簡單,如果想把磁碟片裡所有的檔案都拷貝到硬碟上,那麼就可以執行以下命令:
mcopy a:*.*
也就是說,只需要在相應的DOS命令之前加上一個字母“m”,就可以完成對應的功能了。一般Linux發行版本中都有這個軟體,可以使用下面命令檢查一下。
rpm -qa|grep mtools
如果沒有安裝,也沒有關係,可以從網上下載(http://mtools.linux.lu/)一個最新版本來安裝。目前可供下載的最新mtools版本是
2.包括的命令
mcd 目錄名:改變MS DOS下的目錄。
mcopy 源檔案 目標檔案:在MS DOS和Unix之間複製檔案。
mdel 檔案名稱:刪除MS DOS下的檔案。
mdir 目錄名:顯示MS DOS下的目錄。
mformat 磁碟機代號:在低階格式化的磁碟片上建立MS DOS檔案系統。
rnlabel 磁碟機代號:產生MS DOS下的卷標。
mmd 目錄名:建立MS DOS下的目錄。
mrd 目錄名:刪除MS DOS下的目錄。
mren 源檔案 目標檔案:重新命名已存在的MS DOS檔案。
mtype 檔案名稱:顯示MS DOS檔案的內容。
請注意,這些命令和對應的MS DOS命令非常相似。在mtools命令中,“/”和“\”是可以混用的。因為檔案清單的是DOS系統下的文檔,對大小寫並不敏感,所以“CDE”和“cde”在這裡是一樣的。
3.應用執行個體
(1)如果把磁碟片進行快速格式化,可以使用命令mformat:
mformat A:
mtools
當初發展的目的是用來處理DOS檔案系統的,所以只能用在FAT檔案格式的分區上。需要注意的是,如果用mount命令來掛載了FAT16/32分區,那
麼就不能使用mtools的指令來處理這些分區上的檔案。這是因為一旦FAT16/32分區掛到了Linux檔案目錄下,Linux就會將其視為檔案系統
本身的一部分,這時如果要對其操作就必須使用Linux本身所附帶的指令集。
(2)將DOS盤上的檔案htca.c複製到目前的目錄下,並用ls命令進行驗證。
$ mcopy a:\htca.c
$ ls -l htca.c
-rw-r- -r- - 1 xxq xxq 27136 Jan 1 01:80 htca.c
man
1.作用
man命令用來提供線上協助,使用許可權是所有使用者。在Linux系統中儲存著一部聯機使用的手冊,以供使用者在終端上尋找。使用man命令可以調閱其中的協助資訊,非常方便和實用。
2.格式
man 命令名稱
man [-acdfhkKtwW] [-m system] [-p string] [-C config_file] [-M path] [-P pager] [-S section_list] [section] name ...
3.參數
-C config_file:指定設定檔案man.conf,預設值是/etc/man.conf。
-M path:指定了線上手冊的搜尋路徑, 如果沒有指定則使用環境變數MANPATH的設定;如果沒有使用MANPATH, 則會使用/usr/lib/man.conf內的設定;如果MANPATH是空字串,則表示使用預設值。
-P pager:指定使用何種pager.man會優先使用此選項設定,然後是依環境變數MANPAGER設定,然後是環境變數PAGER;man預設使用/usr/bin/less -is。
-S section_list man:所搜尋的章節列表(以冒號分隔),此選項會覆蓋環境變數MANSECT的設定。
-a man:預設情況是在顯示第一個找到的手冊之後,就會停止搜尋,使用此選項會強迫man繼續顯示所有符合name的線上手冊。
-c:即使有最新的cat page,也繼續對線上手冊重新作排版,本選項在螢幕的行列數改變時或已排版的線上手冊損壞時特別有意義。
-d:不要真的顯示線上手冊,只顯示除錯訊息。
-D:同時顯示線上手冊與除錯訊息。
-h:顯示求助訊息然後結束程式 。
-K:對所有的線上手冊搜尋所指定的字串。請注意,本功能回應速度可能很慢,如果指定section(地區)會對速度有協助。
-m system:依所指定的system名稱而指定另一組的線上手冊。
man:是manual(手冊)的縮寫。在輸入命令有困難時,可以立刻得到這個文檔。例如, 如果使用ps命令時遇到困難,可以輸入man ps得到協助資訊,此時會顯示出ps的手冊頁(man page)。
由於手冊頁man page是用less程式來看的(可以方便地使螢幕上翻和下翻), 所以在man page裡可以使用less的所有選項。
less中比較重要的功能鍵有:
[q] 退出;
[Enter] 一行行地下翻;
[Space] 一頁頁地下翻;
上翻一頁;
[/] 後跟一個字串和[Enter]來尋找字串;
[n] 發現上一次尋找的下一個匹配。
4.閱讀手冊頁
手冊頁在很少的空間裡提供了很多的資訊, 這裡簡單介紹一下大多數手冊頁中都有的部分內容。Linux手冊頁主要有九個部分:使用者指令、系統調用、程式庫、裝置說明、檔案格式、遊戲、雜項、系統指令、核心,手冊頁快照見圖1所示。
圖1 ps命令手冊頁快照
Linux手冊頁布局見表1。
5.應用執行個體
Linux
命令中有一些基礎的、重要的命令,例如ps、find、cat和ls等。下面來舉一個綜合應用的例子,由此可以看出man的地位在Linux中可謂至關重
要。但是,man所顯示的資訊卻不是普通的文本,如果直接將這些文字重新導向到一個文字檔,就會發現在man中高亮顯示的文字就變成了兩個,而且有不計其
數的定位字元,使列印、編輯都變得非常不便。不過,使用下面這樣一條語句就能得到ps命令列印。
# man ps | col -b | lpr
這條命令同時運用了輸出重新導向和管道兩種技巧,作用是將ps命令的協助資訊可以直接列印出來。更多的Man檔案可以查看Linux Man
unencode
1.作用
unencode命令可以把一個二進位檔案表編碼為一個文字檔,使用許可權是所有使用者。
2.格式
uuencode [-hv] [源檔案] 目標檔案
3.主要參數
-h:列出指令使用格式(help) 。
-v:列出版本資訊。
4.應用說明
uuencode指令可以將二進位檔案轉化成可使用電子郵件發送的ASCII編碼形式。uuencode編碼後的資料都以 begin開始,以end作為結束,且通常其中的每一行的開始均為“M”,中間部分是編碼過的檔案,編碼後的檔案比源檔案要大一些。
uudecode
1.作用
uudecode命令用來將uuencode編碼後的檔案還原,uudecode只會將begin與end標記之間的編碼資料還原,程式會跳過權杖以外的資料。它的使用許可權為所有使用者。
2.格式
uuencode [-hv] [file1 ...]
3.主要參數
-h:列出指令使用格式(help)。
-v:列出版本資訊。
4.應用執行個體
使用下面命令一次還原幾個檔案:
uuencode file1.uud file2.uud file3.uud
動手練習
1.在Linux命令列下發送郵件
雖然Linux案頭應用發展很快,但是命令列(Shell)在Linux中依然有很強的生命力。如果能確認電子郵件伺服器支援8bit的位元組,就可以直接使用下面命令:
cat <附件檔案名稱> | mail <郵件地址>
cat(cat是concatenate的縮寫)命令是將幾個檔案處理成一個檔案,並將這種處理的結果儲存到一個單獨的輸出檔案,這裡我們用它來合并郵件的文本。
寫好郵件名稱,比如叫cjkmail,然後使用下面命令:
$uuencode <附件檔案名稱> <附件檔案名稱> >>cjkmail
這樣就可以用vi編輯器寫cjkmail檔案,並在前面寫上信的本文,然後寄出。
對方收到信後,把信中屬於cjkmail中的內容拷貝出來,存為themail.uue。如果對方是在Windows下,就可以用WinRAR或WinZip解壓,這樣就可以看到附件。
如果對方也使用Linux,可以用undecode命令還原:
$ uudencode -o<附件檔案名稱> themail.uue
2.實現tar的分卷
筆者想把一個378MB的檔案壓縮成多個63MB的檔案(筆者的USB為64MB),使用下面命令:
$tar czvf - dir | split -d -b 63m
然後合并命令:
$cat x* > dir.tgz
以上例子實際是由三個命令組合完成的,即用tar打包,用split分割,用cat合并。“tar czvf - dir”的意思是把dir目錄打包,並輸出到標準輸出(argv),這樣就可以直接用管道輸出給split。
3.連續執行一個命令
使用watch命令,可以反覆執行命令。如果和ls配合,可以達到觀察某檔案大小變化的效果。
$watch ls -l file.name
4.用tar命令匯出一個檔案
有一個tar格式的DVD檔案GLvPro6.4_linux.tar,因為該檔案非常大(4.7GB),如果全部解壓比較麻煩,可以用下面命令先匯出readme.txt看看。
tar xvf GLvPro6.4_linux.tar readme.txt
這樣readme.txt就單獨被匯出了。
5.用tar打包一個目錄時只備份其中的幾個子目錄
tar cf --exclude home/cjh home/cao
這樣home目錄下只有cjh和cao兩個子目錄備份。


此為止,Linux必學的60個命令已經全部介紹完了。Linux的命令列方式功能強大,如果熟練掌握了Linux的常用命令,往往只需要通過各種技巧就
可以組合構成一條複雜的命令,從而完成使用者任務。Linux系統中的命令實在是太多了,不可能像在MS
DOS中把所有的命令及參數都記住。Linux系統提供了一些方法,比如可以通過“help”和“man”來查詢名令。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.