壓縮gz
⑴ 如何解壓gz文件
當在備份重要文件和通過網路發送大文件的時候,對文件進行壓縮非常有用。請注意,壓縮一個已經壓縮過的文件會增加額外開銷,因此你將會得到一個更大一些的文件。所以,請不要壓縮已經壓縮過的文件。在 GNU/linux 中,有許多程序可以用來壓縮和解壓縮文件。在這篇教程中,我們僅學習其中兩個應用程序。
在類 Unix 系統中,最常見的用來壓縮文件的程序是:
gzip
bzip2
- $ gzip ostechnix.txt
- $ ls -l Downloads/ | gzip > ostechnix.txt.gz
- $ gzip -c ostechnix.txt > output.txt.gz
- $ gzip -c -d output.txt.gz > ostechnix1.txt
- $ gzip -d ostechnix.txt.gz
- $ gunzip ostechnix.txt.gz
- $ gunzip -c ostechnix1.txt.gz
- $ zcat ostechnix.txt.gz
- $ gunzip -c ostechnix1.txt.gz | less
- $ zcat ostechnix.txt.gz | less
- $ zless ostechnix1.txt.gz
1– 最快 (最差)
9– 最慢 (最好)
6– 默認級別
- $ gzip -9 ostechnix.txt
- $ gzip -c ostechnix1.txt > output.txt.gz
- $ gzip -c ostechnix2.txt >> output.txt.gz
- $ gunzip -c output.txt.gz
- $ gunzip -c output.txt
- $ zcat output.txt.gz
- $ zcat output.txt
- $ man gzip
- $ bzip2 ostechnix.txt
- $ bzip2 -c ostechnix.txt > output.txt.bz2
- $ bzip2 -d ostechnix.txt.bz2
- $ bunzip2 ostechnix.txt.bz2
- $ bunzip2 -c ostechnix.txt.bz2
- $ bzcat ostechnix.txt.bz2
- $ man bzip2
1. 使用 gzip 程序來壓縮和解壓縮文件
gzip是一個使用 Lempel-Ziv 編碼(LZ77)演算法來壓縮和解壓縮文件的實用工具。
1.1 壓縮文件
如果要壓縮一個名為ostechnix.txt的文件,使之成為 gzip 格式的壓縮文件,那麼只需運行如下命令:
上面的命令運行結束之後,將會出現一個名為ostechnix.txt.gz的 gzip 格式壓縮文件,代替了原始的ostechnix.txt文件。
gzip命令還可以有其他用法。一個有趣的例子是,我們可以將一個特定命令的輸出通過管道傳遞,然後作為gzip程序的輸入來創建一個壓縮文件。看下面的命令:
上面的命令將會創建一個 gzip 格式的壓縮文件,文件的內容為Downloads目錄的目錄項。
1.2 壓縮文件並將輸出寫到新文件中(不覆蓋原始文件)
默認情況下,gzip程序會壓縮給定文件,並以壓縮文件替代原始文件。但是,你也可以保留原始文件,並將輸出寫到標准輸出。比如,下面這個命令將會壓縮ostechnix.txt文件,並將輸出寫入文件output.txt.gz。
類似地,要解壓縮一個gzip格式的壓縮文件並指定輸出文件的文件名,只需運行:
上面的命令將會解壓縮output.txt.gz文件,並將輸出寫入到文件ostechnix1.txt中。在上面兩個例子中,原始文件均不會被刪除。
1.3 解壓縮文件
如果要解壓縮ostechnix.txt.gz文件,並以原始未壓縮版本的文件來代替它,那麼只需運行:
我們也可以使用gunzip程序來解壓縮文件:
1.4 在不解壓縮的情況下查看壓縮文件的內容
如果你想在不解壓縮的情況下,使用gzip程序查看壓縮文件的內容,那麼可以像下面這樣使用-c選項:
或者,你也可以像下面這樣使用zcat程序:
你也可以通過管道將輸出傳遞給less命令,從而一頁一頁的來查看輸出,就像下面這樣:
另外,zless程序也能夠實現和上面的管道同樣的功能。
1.5 使用 gzip 壓縮文件並指定壓縮級別
gzip的另外一個顯著優點是支持壓縮級別。它支持下面給出的 3 個壓縮級別:
要壓縮名為ostechnix.txt的文件,使之成為「最好」壓縮級別的 gzip 壓縮文件,可以運行:
1.6 連接多個壓縮文件
我們也可以把多個需要壓縮的文件壓縮到同一個文件中。如何實現呢?看下面這個例子。
上面的兩個命令將會壓縮文件ostechnix1.txt和ostechnix2.txt,並將輸出保存到一個文件output.txt.gz中。
你可以通過下面其中任何一個命令,在不解壓縮的情況下,查看兩個文件ostechnix1.txt和ostechnix2.txt的內容:
如果你想了解關於gzip的更多細節,請參閱它的 man 手冊。
2. 使用 bzip2 程序來壓縮和解壓縮文件
bzip2和gzip非常類似,但是bzip2使用的是 Burrows-Wheeler 塊排序壓縮演算法,並使用哈夫曼(Huffman)編碼。使用bzip2壓縮的文件以 「.bz2」 擴展結尾。
正如我上面所說的,bzip2的用法和gzip幾乎完全相同。只需在上面的例子中將gzip換成bzip2,將gunzip換成bunzip2,將zcat換成bzcat即可。
要使用bzip2壓縮一個文件,並以壓縮後的文件取而代之,只需運行:
如果你不想替換原始文件,那麼可以使用-c選項,並把輸出寫入到新文件中。
如果要解壓縮文件,則運行:
或者,
如果要在不解壓縮的情況下查看一個壓縮文件的內容,則運行:
或者,
如果你想了解關於bzip2的更多細節,請參閱它的 man 手冊。
總結
在這篇教程中,我們學習了gzip和bzip2程序是什麼,並通過 GNU/Linux 下的一些例子學習了如何使用它們來壓縮和解壓縮文件。接下來,我們將要學習如何在 Linux 中將文件和目錄歸檔。
乾杯!
⑵ Windows下如何將文件打包壓縮成 .tar.gz格式
Windows下將文件打包壓縮成 .tar.gz格式步驟如下:
1、網路搜索7-zip,第一個條目,下載並安裝。
⑶ ubuntu如何壓縮成.gz格式
壓縮: tar czvf 壓縮文件名.tar.gz 被壓縮文件夾
解壓: tar zvxf 壓縮文件名.tar.gz
參數
-c 壓縮
-x 解壓
-z 支持gzip解壓文件
-v 顯示操作過程
-f 使用檔名
請留意,在f之後要立即接檔名!不要再加參數!
⑷ gz後綴怎麼解壓
1、在Windows系統環境下,安裝解壓軟體
⑸ gz是什麼文件
以·tar.gz為後綴的文件是一種壓縮文件,在Linux和macOS下常見,Linux和macOS都可以直接解壓使用這種壓縮文件。
windows下的WinRAR也可以使用,相當於常見的RAR和ZIP格式。
.tar.gz一般情況下都是源代碼的安裝包,需要先解壓再經過編譯、安裝.才能執行。總而言之它是一個壓縮文件。
解壓:[*******]$ tar -zxvf FileName.tar.gz
壓縮:[*******]$ tar -zcvf FileName.tar.gz DirName
所謂的 tarball 文件,其實就是將軟體的所有原始碼檔案先以 tar 打包,然後再以壓縮技術來壓縮,通常最常見的就是以 gzip 來壓縮了。因為利用了 tar 與 gzip 的功能,所以 tarball 檔案一般的附檔名就會寫成 .tar.gz 或者是簡寫為 .tgz
(5)壓縮gz擴展閱讀:
詳細安裝步驟,步驟後附解釋:
[yonghu@localhost ~]# su root
口令:
[root@localhost ~]# cd /home/new/Desktop
[root@localhost Desktop]# tar -xzvf fcitx-3.4.2.tar.gz
[root@localhost Desktop]# cd /home/new/Desktop/fcitx-3.4.2
[root@localhost fcitx-3.4.2]#./configure --prefix=/opt/fictx
[root@localhost fcitx-3.4.2]#make
[root@localhost fcitx-3.4.2]#make install
各步驟詳解
[yonghu@localhost ~]#su root //(使用root帳戶登錄,使用其他用戶,之後操作有可能許可權不夠)
口令: // 輸入root密碼
[root@localhost ~]# cd /home/new/Desktop
// (切換到tar.gz文件所在目錄,這里我的tar.gz文件在桌面)
[root@localhost Desktop]#tar -xzvf fcitx-3.4.2.tar.gz
// (解壓tar.gz文件,這里以fcitx-3.4.2來舉例,解壓得到fcitx-3.4.2文件夾)
[root@localhost Desktop]#cd /home/new/Desktop/fcitx-3.4.2
//(切換目錄到fcitx-3.4.2,軟體解壓的目錄)
[root@localhost fcitx-3.4.2]#./configure --prefix=/opt/fictx
//(配置,把文件存放在/opt/fictx下,刪除時,卸載軟體時,只要刪除這個文件就行了)
[root@localhost fcitx-3.4.2]#make (編譯)
[root@localhost fcitx-3.4.2]#make install (安裝)
⑹ linux中gz文件是壓縮文件嗎
如果是.gz壓縮包(不帶tar),用gzip命令即可(-d選項可以解壓),格式是
gzip 壓縮包名(包括後面的.gz) -d 解壓位置
如果不指定解壓位置,將解壓到當前工作文件夾里
如果是.tar.gz壓縮包,需要使用tar命令的-z和-f選項(解壓需要-x),格式
tar -zxf 壓縮包名(包括後面的.tar.gz) -C 解壓位置
注意後面的-C是大寫C,如果不指定解壓位置需要去掉-C,系統會把壓縮包中所有文件解壓到當前工作文件夾
更多內容請在網路查找gzip命令、bzip2命令、tar命令
如果你是在XWindow桌面環境操作,而不是在命令行,一般可以直接在任何壓縮包上右鍵單擊選擇解包(.rar包除外,需要rarlinux軟體包支持)
⑺ 怎樣在linux下對目錄進行壓縮生成gz文件
在linux下,使用gzip命令可以對目錄壓縮生成gz文件,具體步驟如下:
1、首先,連接相應linux主機,進入到linux命令行狀態下,等待輸入shell指令。
⑻ 把文件壓縮成gz文件用什麼工具壓縮
需要使用winrar或者7_zip壓縮工具,如果你已經安裝了應該會自動關聯到滑鼠右鍵的。以winrar為例:
選中你要壓縮的文件,右鍵選擇添加到檔案文件(如果是7zip則是添加到壓縮文件),然後命名壓縮文件,注意後綴為.gz,格式選擇正常,開始壓縮就可以了,如果是7zip的話也差不多,希望能幫到你。
⑼ 壓縮級別。這三個分別是什麼意思 zip 7z gz
這三個就是不同的擴展名,只是三種不同的壓縮文件而已
ZIP是經典的壓縮格式,WINDOWS系統在沒有壓縮軟體的情況下都可以打開,缺點是壓縮率低,另外就是對一些語言支持比較奇葩,它的升級版zipx倒是有所改善,但國內不常見
7Z是壓縮率較高的格式,設置得當的話比zip小
gz是一種WINDOWS系統不常見的壓縮格式,一般用戶估計平常都見不到,不多說了
所謂的壓縮級別就是選取的壓縮率,壓縮率越低(注意壓縮率是壓縮文件/原文件,故越低越好)對應的壓縮等級就越高,但將壓縮率降低在壓縮時會佔用更多的系統資源與時間,解壓也是一樣,舉例如果選擇「快速壓縮」,壓縮的比較快解壓也比較快,但壓縮率可能不讓人滿意
話雖如此,具體壓縮率也要看文件等情況不同
⑽ 如何解壓縮.gz文件
public static void makeZip(List<File> fileList,String zipPath,boolean isDelete) {
byte[] buf = new byte[1024];
try {
// Create the ZIP file
File zipFile = new File(zipPath);
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFile));
// Compress the files
for (int i = 0; i < fileList.size(); i++) {
FileInputStream in = new FileInputStream(fileList.get(i));
// Add ZIP entry to output stream.
out.putNextEntry(new ZipEntry(fileList.get(i).getName()));
// Transfer bytes from the file to the ZIP file
int len;
while ( (len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
// Complete the entry
out.closeEntry();
in.close();
}
// Complete the ZIP file
out.close();
System.out.println("壓縮完成.");
//把舊的文件刪除
if(isDelete == true){
for (int i = 0; i < fileList.size(); i++) {
File oldFile = fileList.get(i);
oldFile.delete();
}
}
}
catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args){
File in1=new File("D:\\a.txt");
File in2=new File("D:\\b.txt");
File[] file=new File[]{in1,in2};
File zip=new File("D:\\ab.zip");
IDMZip mgr=new IDMZip();
mgr.ZipFiles(file, zip);
}
這個方法不管你是在windows下還是在linux下,都能正常執行。
追問
謝謝,但是我是要解壓這樣20140718_185819.data.tar.gz 不是zip的
回答
你可以試試。還有這個方法。都是我項目里曾經用到過的。都是可用的。
public static List unZip(String path) throws FileNotFoundException,
IOException {
path = path.replaceAll("\\\\","/");
String zipPath = path.substring(0,path.lastIndexOf("/")+1);
List xmlFileNameList = new ArrayList();
byte[] data = new byte[1024*2];
FileInputStream fis = new FileInputStream(path);
ZipInputStream zis = new ZipInputStream(fis);
ZipEntry entry = null;
while((entry = zis.getNextEntry())!= null){
if(entry.isDirectory()){
File file = new File(zipPath+entry.getName());
file.mkdirs();
continue;
}