tar命令
tar能夠爲文件和目錄建立檔案。利用tar,用戶能夠爲某一特定文件建立檔案(備份文件),也能夠在檔案中改變文件,或者向檔案中加入新的文件。tar最初被用來在磁帶上建立檔案,如今,用戶能夠在任何設備上建立檔案,如軟盤。利用tar命令,能夠把一大堆的文件和目錄所有打包成一個文件,這對於備份文件或將幾個文件組合成爲一個文件以便於網絡傳輸是很是有用的。Linux上的tar是GNU版本的。
語法:tar [主選項+輔選項] 文件或者目錄
使用該命令時,主選項是必需要有的,它告訴tar要作什麼事情,輔選項是輔助使用的,能夠選用。
主選項:
c 建立新的檔案文件。若是用戶想備份一個目錄或是一些文件,就要選擇這個選項。
r 把要存檔的文件追加到檔案文件的未尾。例如用戶已經做好備份文件,又發現還有一個目錄或是一些文件忘記備份了,這時可使用該選項,將忘記的目錄或文件追加到備份文件中。
t 列出檔案文件的內容,查看已經備份了哪些文件。
u 更新文件。就是說,用新增的文件取代原備份文件,若是在備份文件中找不到要更新的文件,則把它追加到備份文件的最後。
x 從檔案文件中釋放文件。
輔助選項:
b 該選項是爲磁帶機設定的。其後跟一數字,用來講明區塊的大小,系統預設值爲20(20*512 bytes)。
f 使用檔案文件或設備,這個選項一般是必選的。
k 保存已經存在的文件。例如咱們把某個文件還原,在還原的過程當中,遇到相同的文件,不會進行覆蓋。
m 在還原文件時,把全部文件的修改時間設定爲如今。
M 建立多卷的檔案文件,以便在幾個磁盤中存放。
v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。
w 每一步都要求確認。
z 用gzip來壓縮/解壓縮文件,加上該選項後能夠將檔案文件進行壓縮,但還原時也必定要使用該選項進行解壓縮。
例1:把/home目錄下包括它的子目錄所有作備份文件,備份文件名爲usr.tar。
$ tar cvf usr.tar /home
例2:把/home目錄下包括它的子目錄所有作備份文件,並進行壓縮,備份文件名爲usr.tar.gz 。
$ tar czvf usr.tar.gz /home
例3:把usr.tar.gz這個備份文件還原並解壓縮。
$ tar xzvf usr.tar.gz
例4:查看usr.tar備份文件的內容,並以分屏方式顯示在顯示器上。
$ tar tvf usr.tar | more
要將文件備份到一個特定的設備,只需把設備名做爲備份文件名。
例5:用戶在/dev/fd0設備的軟盤中建立一個備份文件,並將/home 目錄中全部的文件都拷貝到備份文件中。
$ tar cf /dev/fd0 /home
要恢復設備磁盤中的文件,可以使用xf選項:
$ tar xf /dev/fd0
若是用戶備份的文件大小超過設備可用的存貯空間,如軟盤,您能夠建立一個多卷的tar備份文件。M選項指示tar命令提示您使用一個新的存貯設備,當使用M選項向一個軟驅進行存檔時,tar命令在一張軟盤已滿的時候會提醒您再放入一張新的軟盤。這樣您就能夠把tar檔案存入幾張磁盤中。
$ tar cMf /dev/fd0 /home
要恢復幾張盤中的檔案,只要將第一張放入軟驅,而後輸入有x和M選項的tar命令。在必要時您會被提醒放入另一張軟盤。
$ tar xMf /dev/fd0
gzip命令
減小文件大小有兩個明顯的好處,一是能夠減小存儲空間,二是經過網絡傳輸文件時,能夠減小傳輸的時間。gzip是在Linux系統中常常使用的一個對文件進行壓縮和解壓縮的命令,既方便又好用。
語法:gzip [選項] 壓縮(解壓縮)的文件名
各選項的含義:
-c 將輸出寫到標準輸出上,並保留原有文件。
-d 將壓縮文件解壓。
-l 對每一個壓縮文件,顯示下列字段:
壓縮文件的大小
未壓縮文件的大小
壓縮比
未壓縮文件的名字
-r 遞歸式地查找指定目錄並壓縮其中的全部文件或者是解壓縮。
-t 測試,檢查壓縮文件是否完整。
-v 對每個壓縮和解壓的文件,顯示文件名和壓縮比。
-num 用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比)。系統缺省值爲6。
假設一個目錄/home下有文件mm.txt、sort.txt、xx.com。
例1:把/home目錄下的每一個文件壓縮成.gz文件。
$ cd /home
$ gzip *
$ ls
m.txt.gz sort.txt.gz xx.com.gz
例2:把例1中每一個壓縮的文件解壓,並列出詳細的信息。
$ gzip -dv *
mm.txt.gz 43.1%-----replaced with mm.txt
sort.txt.gz 43.1%-----replaced with sort.txt
xx.com.gz 43.1%-----replaced with xx.com
$ ls
mm.txt sort.txt xx.com
例3:詳細顯示例1中每一個壓縮的文件的信息,並不解壓。
$ gzip -l *
compressed uncompr. ratio uncompressed_name
277 445 43.1% mm.txt
278 445 43.1% sort.txt
277 445 43.1% xx.com
$ ls
mm.txt.gz sort.txt.gz xx.com.gz
例4:壓縮一個tar備份文件,如usr.tar,此時壓縮文件的擴展名爲.tar.gz
$ gzip usr.tar
$ ls
usr.tar.gz
unzip命令
用MS Windows下的壓縮軟件winzip壓縮的文件如何在Linux系統下展開呢?能夠用unzip命令,該命令用於解擴展名爲.zip的壓縮文件。
語法:unzip [選項] 壓縮文件名.zip
各選項的含義分別爲:
-x 文件列表 解壓縮文件,但不包括指定的file文件。
-v 查看壓縮文件目錄,但不解壓。
-t 測試文件有無損壞,但不解壓。
-d 目錄 把壓縮文件解到指定目錄下。
-z 只顯示壓縮文件的註解。
-n 不覆蓋已經存在的文件。
-o 覆蓋已存在的文件且不要求用戶確認。
-j 不重建文檔的目錄結構,把全部文件解壓到同一目錄下。
例1:將壓縮文件text.zip在當前目錄下解壓縮。
$ unzip text.zip
例2:將壓縮文件text.zip在指定目錄/tmp下解壓縮,若是已有相同的文件存在,要求unzip命令不覆蓋原先的文件。
$ unzip -n text.zip -d /tmp
例3:查看壓縮文件目錄,但不解壓。
$ unzip -v text.zip
zgrep命令
這個命令的功能是在壓縮文件中尋找匹配的正則表達式,用法和grep命令同樣,只不過操做的對象是壓縮文件。若是用戶想看看在某個壓縮文件中有沒有某一句話,即可用zgrep命令。
第十課(十一) 在Linux環境下運行DOS命令 2000年/3月20日
Linux系統提供了一組稱爲mtools的可移植工具,可讓用戶輕鬆地從標準的DOS軟盤上讀、寫文件和目錄。它們對DOS和Linux環境之間交換文件很是有用。它們是不具有共同的文件系統格式的系統之間交換文件的有力手段。對於一個MS-DOS的軟盤,只要把軟盤放在軟驅中,就能夠利用mtools提供的命令來訪問軟盤上的文件。
mtools的主要命令以下:
mcd 目錄名 改變MSDOS目錄;
mcopy 源文件 目標文件 在MSDOS和Unix之間複製文件;
mdel 文件名 刪除MSDOS文件;
mdir 目錄名 顯示MSDOS目錄;
mformat 驅動器號 在低級格式化的軟盤上建立MSDOS文件系統;
rnlabel 驅動器號 產生MSDOS卷標;
mmd 目錄名 創建MSDOS目錄;
mrd 目錄名 刪除MSDOS目錄;
mren 源文件 目標文件 從新命名已存在的MSDOS文件;
mtype 文件名 顯示MSDOS文件的內容。
這些命令和對應的不加 m的 MSDOS命令很是類似。
例1:在Linux環境下看DOS盤最上層的目錄的內容:
$ mdir a:
Volume in drive A has no label
Volume Serial Number is 15F6-3362
Directory of A:\
SS6 CPP 331 09-24-99 7:41 ss6.cpp
CH9
11-20-99 16:22 ch9
XXQ 0 11-20-99 16:24 xxq
95CZXTA DOC 36,864 06-15-98 22:51 95czxta.doc
95CZXTB DOC 39,936 06-16-98 7:18 95czxtb.doc
HTCA DOC 27,136 01-08-99 0:13 htca.doc
HTCB DOC 27,136 01-08-99 0:12 htcb.doc
6 file(s) 131,403 bytes
1 dir(s) 1,295,872 bytes free
例2:將DOS盤上的文件xxq複製到當前目錄下,並用ls命令進行驗證。
$ mcopy a:\htca.doc
$ ls –l htca.doc
-rw-r— -r- - 1 xxq xxq 27136 Jan 1 01:80 htca.doc
正則表達式