一、歸檔
# 歸檔:
tar -zcvf [歸檔后文件的名稱] [你要歸檔的文件、目錄]
如: tar -zcvf test.tar.gz a.js b.json cDir
//test.tar.gz:是歸檔后文件的名字; a.js、b.json、cDir是需要歸檔的目標。
tar
-c: 建立壓縮檔案 ===> 歸檔
-x:解壓 ====>解檔
-t:查看內(nèi)容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件
這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但
只能用其中一個。
下面的參數(shù)是根據(jù)需要在壓縮或解壓檔案時可選的。
-z:有g(shù)zip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過程
-O:將文件解開到標準輸出
下面的參數(shù)-f是必須的
-f: 使用檔案名字,切記,這個參數(shù)是最后一個參數(shù),后面只能接檔案名。
1、
tar -cf all.tar *.jpg
這條命令是將所有.jpg的文件打成一個名為all.tar的包。-c是表示產(chǎn)生新的包,-f指定包的文件名。
2、
tar -rf all.tar *.gif
這條命令是將所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
3、
# tar -uf all.tar logo.gif
這條命令是更新原來tar包all.tar中l(wèi)ogo.gif文件,
-u是表示更新文件的意思。
4、
# tar -tf all.tar
這條命令是列出all.tar包中所有文件,
-t是列出文件的意思
二、解檔
tar -xvf file.tar //解壓 tar包
tar -xzvf file.tar.gz //解壓tar.gz
tar -xjvf file.tar.bz2 //解壓 tar.bz2
tar -xZvf file.tar.Z //解壓tar.Z
unrar e file.rar //解壓rar
總結(jié)
1、.tar 用 tar -xvf 解壓
2、.gz 用 gzip -d 或者 gunzip 解壓
3、.tar.gz和.tgz 用 tar -xzf 解壓
4、.bz2 用 bzip2 -d或者用bunzip2 解壓
5、.tar.bz2用tar -xjf 解壓
6、.Z 用 uncompress 解壓
7、.tar.Z 用tar -xZf 解壓
8、.rar 用 unrar e解壓
9、.zip 用 unzip 解壓
三、解/壓縮
1.zip
$ zip -r myfile.zip ./*(或者是想要壓縮的文件夾)
將當前目錄下的所有文件和文件夾全部壓縮成myfile.zip文件,
-r表示遞歸壓縮子目錄下所有文件。
2.unzip
$ unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解壓到 /home/sunny/
-o:不提示的情況下覆蓋文件;
-d:-d /home/sunny 指明將文件解壓縮到/home/sunny目錄下;
3.其他
$ zip -d myfile.zip smart.txt
刪除壓縮文件中smart.txt文件
$ zip -m myfile.zip ./rpm_info.txt
向壓縮文件中myfile.zip中添加rpm_info.txt文件
要使用 zip 來壓縮文件,在 shell 提示下鍵入下面的命令:
zip -r filename.zip filesdir
在這個例子里,filename.zip 代表你創(chuàng)建的文件,filesdir 代表你想放置新 zip 文件的目錄。-r 選項指定你想遞歸地(recursively)包括所有包括在 filesdir 目錄中的文件。
要抽取 zip 文件的內(nèi)容,鍵入以下命令:
unzip filename.zip
你可以使用 zip 命令同時處理多個文件和目錄,方法是將它們逐一列出,并用空格間隔:
zip -r filename.zip file1 file2 file3 /usr/work/school
上面的命令把 file1、file2、 file3、以及 /usr/work/school 目錄的內(nèi)容(假設(shè)這個目錄存在)壓縮起來,然后放入 filename.zip 文件中。
zip Linux上適用的參數(shù):
-1 : 最快壓縮,壓縮率最差。
-9 : 最大壓縮,壓縮率最佳。
-b : 暫存文件的路徑。這個參數(shù)一般在要產(chǎn)生的 zip 文件存在,而硬盤現(xiàn)有空間不足時。
-c : 替新增或更新的文件增加一行注解。
-d : 從 zip 文件移出一個文件。
-D : 不要在 zip 文件中儲存文件的目錄信息。
-f : 以新文件取代現(xiàn)有文件。
-F : 修復(fù)已經(jīng)損毀的壓縮文件。
-g : 將文件壓縮附加到 zip 文件中。
-h : 顯示輔助說明。
-i : 指定要含入的某些特定文件。
-j : 只儲存文件的名稱,不含目錄。
-k : 強迫使用 MSDOS 格式文件名。
-l : 將 CR ( Carriage Return ) LF ( Line Feed ) 轉(zhuǎn)換成 LF,一般是要將 MS-DOS 上的文本文件壓縮后拿到 UNIX 下使用時才使用此參數(shù)。這只適用于文本文件 ( .txt ),如果用于二進制文件則會造成二進制文件損毀。
-L : 顯示 zip 命令的版權(quán)。
-m : 將特定文件移入 zip 文件中,并且刪除特定文件。
-n : 不壓縮特定擴展名的文件。
-o : 將 zip 文件的時間設(shè)成最后修正 zip 文件的時間。
-q : 安靜模式,不會顯示相關(guān)訊息和提示。
-r : 包括子目錄。
-t : 只處理 mmddyy 日期以后的文件。
-T : 測試 zip 文件是否正常。
-u : 只更新改變過的文件和新文件。
-v : 顯示版本資訊或詳細訊息。
-x : 不需要壓縮的文件。
-y : 將 symbolic link 壓縮,而不是壓縮所連結(jié)到的文件。
-z : 為 zip 文件增加注解。
-# : 設(shè)定壓縮速度,-0 表示不壓縮,-1 表示最快速度的壓縮,
-9 表示最慢速度的壓縮 ( 最佳化的壓縮 ),預(yù)設(shè)值為 -6。
-@ : 從標準輸入讀取文件名稱。
unzip Linux上適用的參數(shù):
-x 文件列表 解壓縮文件,但不包括指定的file文件。
-v 查看壓縮文件目錄,但不解壓。
-t 測試文件有無損壞,但不解壓。
-d 目錄 把壓縮文件解到指定目錄下。
-z 只顯示壓縮文件的注解。
-n 不覆蓋已經(jīng)存在的文件。
-o 覆蓋已存在的文件且不要求用戶確認。
-j 不重建文檔的目錄結(jié)構(gòu),把所有文件解壓到同一目錄下。
例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命令。
按照約定俗成,用 gzip 來壓縮的文件的擴展名是 .gz;用 bzip2 來壓縮的文件的擴展名是 .bz2;用 zip 壓縮的文件的擴展名是 .zip。
用 gzip 壓縮的文件可以使用 gunzip 來解壓;用 bzip2 壓縮的文件可以使用 bunzip2 來解壓;用 zip 壓縮的文件可以使用 unzip 來解壓。
bzip2 和 bunzip2
要使用 bzip2 來壓縮文件,在 shell 提示下鍵入以下命令:
bzip2 filename
文件即會被壓縮并被保存為 filename.bz2。
要擴展壓縮的文件,鍵入以下命令:
bunzip2 filename.bz2
filename.bz2 文件會被刪除,而繼之以 filename。
你可以使用 bzip2 命令同時處理多個文件和目錄,方法是將它們逐一列出,并用空格間隔:
bzip2 filename.bz2 file1 file2 file3 /usr/work/school
上面的命令把 file1、file2、 file3、以及 /usr/work/school 目錄的內(nèi)容(假設(shè)這個目錄存在)壓縮起來,然后放入 filename.bz2 文件中。
gzip 和 gunzip
要使用 gzip 來壓縮文件,在 shell 提示下鍵入以下命令:
gzip filename
文件即會被壓縮,并被保存為 filename.gz。
要擴展壓縮的文件,鍵入以下命令:
gunzip filename.gz
filename.gz 會被刪除,而繼之以 filename。
你可以使用 gzip 命令同時處理多個文件和目錄,方法是將它們逐一列出,并用空格間隔:
gzip -r filename.gz file1 file2 file3 /usr/work/school
上面的命令把 file1、file2、 file3、以及 /usr/work/school 目錄的內(nèi)容(假設(shè)這個目錄存在)壓縮起來,然后放入 filename.gz 文件中。
要獲得有關(guān)這兩個命令的詳細信息,在 shell 提示下鍵入 man gzip 和 man gunzip 來閱讀 gzip 和 gunzip 命令的說明書頁。
zip 和 unzip
要使用 zip 來壓縮文件,在 shell 提示下鍵入下面的命令:
zip -r filename.zip filesdir
在這個例子里,filename.zip 代表你創(chuàng)建的文件,filesdir 代表你想放置新 zip 文件的目錄。-r 選項指定你想遞歸地(recursively)包括所有包括在 filesdir 目錄中的文件。
要抽取 zip 文件的內(nèi)容,鍵入以下命令:
unzip filename.zip
你可以使用 zip 命令同時處理多個文件和目錄,方法是將它們逐一列出,并用空格間隔:
zip -r filename.zip file1 file2 file3 /usr/work/school
上面的命令把 file1、file2、 file3、以及 /usr/work/school 目錄的內(nèi)容(假設(shè)這個目錄存在)壓縮起來,然后放入 filename.zip 文件中。