Linux 必學的 60 個命令(6) 其他

Linux 必學的 60 個命令(6) 其他

在前面兒講中,我們把 Linux 命令按照在系統中的作用分成兒個部分分別予以介紹。但是, 還有一些命令不好劃分,然而學習它們同樣是比較重要的。

tar

1.作用

tar 命令是Unix/Linux 系統中備份文件的可靠方法,兒乎可以工作千任何環境中,它的使用權限是所有用戶。

2.格式

tar [主選項+輔選項] 文件或目錄

3.主要參數

使用該命令時,主選項是必須要有的,它告訴tar 要做什麼事情,輔選項是輔助使用的, 可以選用。主選項:

—c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。—r 把要存檔的文件追加到檔案文件的未尾。例如用戶已經做好備份文件,又發現還有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中。

—t 列出檔案文件的內容,查看已經備份了哪些文件。

—u 更新文件。就是說,用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最後。

—x 從檔案文件中釋放文件。輔助選項:

—b 該選項是為磁帶機設定的,其後跟一數字,用來說明區塊的大小,系統預設值為 2O

(2OX512 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 中即可: $OO O6 * * * 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.5O。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 是一種不能免費獲得源代碼的共享件程序,所以在 Linux 平臺上兒乎不存在與其功能匹配的工具,要解壓縮.arJ 文件,就要使用 unarJ 實用程序。unarJ 比 ARJ 慢,能力也不如 ARJ, 但至少能夠順利地抽取大多數.arJ 文件。unarJ 只能將文件抽取到當前的工作目錄、列出檔案內容,或者測試檔案。從 ARJ Software 的站點或攜帶所需 Linux 發行版的 FTP 服務器上可以下載 unarJ 源碼。另外,unarJ 通常是基本 Linux 發行版的一部分,因此可以在主要發行版本的 CD-ROM 上找到它。如果需要可到所有 Linux 發行版鏈接的列表下載,ARJ 軟件網址為

http: //www.arJsoft.com,ARJ 的下載頁面為 http://www.arJsoft.com/files.htm 。unarJ 最新版本是 2.65,注意 unarJ 選項不是以減號(-)開頭的。

mtools 1. 作 用 mtools 實際上是一個命令集合,是 DOS 文件系統的工具程序,它可以模擬許多DOS 命令, 使用起來非常方便。使用權限是所有用戶。Linux 系統提供了一組稱為 mtools 的可移植工具,可以讓用戶輕鬆地從標準的 DOS 軟盤上讀、寫文件和目錄。它們對DOS 和 Linux 環境之間交換文件非常有用。mtools 的使用非常簡單,如果想把軟盤裡所有的文件都拷貝到硬盤上,那麼就可以執行以下命令:

mcopy a:*.*也就是說,只需要在相應的DOS 命令之前加上一個字母“m",就可以完成對應的功能了。一般 Linux 發行版本中都有這個軟件,可以使用下面命令檢查一下。

rpm —qalgrep mtools

如果沒有安裝,也沒有關係,可以從網上下載(http://mtools.linux.lu/)一個最新版本來安裝。目前可供下載的最新 mtools 版本是 3.9.9,下載鏈接為

http://mtools.linux.lu/mtools-3.9.9-3.i386.rpm。下載後安裝一下即可。

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 O1:8O 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)是用 less 程序來看的(可以方便地使屏幕上翻和下翻), 所以在man page 裡可以使用 less 的所有選項。less 中比較重要的功能鍵有:

[q] 退出;

[Enter] 一行行地下翻;

[Space] 一頁頁地下翻;

[b] 上翻一頁;

[/] 後跟一個字符串和[Enter]來查找字符串;

[n] 發現上一次查找的下一個匹配。4.閱讀手冊頁

手冊頁在很少的空間裡提供了很多的信息,這裡簡單介紹一下大多數手冊頁中都有的部分內容。Linux 手冊頁主要有九個部分:用戶指令、系統調用、程序庫、設備說明、文件格式、遊戲、雜項、系統指令、內核。 5. 應 用 實 例 Linux 命令中有一些基礎的、重要的命令,例如 ps、find、cat 和 ls 等。下面來舉一個綜合應用的例子,由此可以看出 man 的地位在 Linux 中可謂至關重要。但是,man 所顯示的信息卻不是普通的文本,如果直接將這些文字重定向到一個文本文件,就會發現在man 中高亮顯示的文字就變成了兩個,而且有不計其數的製表符,使打印、編輯都變得非常不便。不過,使用下面這樣一條語旬就能得到 ps 命令打印。

t: man ps l col —b l 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 l 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 l 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 必學的 6O 個命令已經全部介紹完了。Linux 的命令行方式功能強大,如果熟練掌握了 Linux 的常用命令,往往只需要通過各種技巧就可以組合構成一條複雜的命令,從而完成用戶任務。Linux 系統中的命令實在是太多了,不可能像在 MS DOS 中把所有的命令及參數都記住。Linux 系統提供了一些方法,比如可以通過“help"和“man"來查詢名令。


分享到:


相關文章: