Linux文件壓縮和打包


gzip壓縮工具

1.將etc下的所有conf文件查看后循環追加到1.txt文件中

[root@bogon gzip]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \;
[root@bogon gzip]# ls
1.txt

2.用gzip進行壓縮后

[root@bogon gzip]# ll -sh 1.txt
628K -rw-r--r-- 1 root root 628K 12月 26 09:18 1.txt
[root@bogon gzip]# wc -l 1.txt 
18297 1.txt
[root@bogon gzip]# gzip 1.txt 
[root@bogon gzip]# ll -h 1.txt.gz 
-rw-r--r-- 1 root root 166K 12月 26 09:18 1.txt.gz
[root@bogon gzip]# 

3.gzip -d 或 gunzip  解壓的文件名

[root@bogon gzip]# gzip -d 1.txt.gz 
[root@bogon gzip]# du -sh 1.txt 
628K    1.txt
[root@bogon gzip]# 

4.gzip -(1-9) 指定壓縮級別,用 -1 壓縮后變為196k ,-9是壓縮比最大的 默認是-6級別。

[root@bogon gzip]# du -sh 1.txt 
628K    1.txt
[root@bogon gzip]# gzip -1 1.txt 
[root@bogon gzip]# du -sh 1.txt.gz 
196K    1.txt.gz
[root@bogon gzip]# 

5.用gzip -9 壓縮一下試試,變成了168k

[root@bogon gzip]# gzip -9 1.txt 
[root@bogon gzip]# du -sh 1.txt.gz 
168K    1.txt.gz
[root@bogon gzip]# 

6.file命令可以查看壓縮文件信息

[root@bogon gzip]# file 1.txt.gz 
1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Tue Dec 26 09:18:00 2017, max compression
[root@bogon gzip]# 

7.zcat 命令可以查看壓縮文件內容

8.壓縮文件指定到一個目錄下,並且原文件不消失。

[root@bogon gzip]# gzip -c 1.txt > /tmp/1.txt.gz
[root@bogon gzip]# ll
總用量 628
-rw-r--r-- 1 root root 642394 12月 26 09:18 1.txt
[root@bogon gzip]# ls /tmp/1.txt.gz 
/tmp/1.txt.gz
[root@bogon gzip]# 

9.解壓文件同樣也可以指定目錄

[root@bogon gzip]# gzip -d -c /tmp/1.txt.gz > /tmp/gzip/2.txt
[root@bogon gzip]# ls
1.txt  2.txt
[root@bogon gzip]# 

10.查看文件大小和行數

[root@bogon gzip]# wc -l 1.txt 2.txt 
  18297 1.txt
  18297 2.txt
  36594 總用量
[root@bogon gzip]# du -sh 1.txt 2.txt 
628K    1.txt
628K    2.txt
[root@bogon gzip]# 

11.gzip 不能壓縮目錄

bzip2壓縮工具

1.bzip2比gzip壓縮的更狠

[root@bogon bzip2]# bzip2 1.txt 
[root@bogon bzip2]# du -sh 1.txt.bz2 
152K    1.txt.bz2
[root@bogon bzip2]# 

2.解壓使用bzip2 -d 或者 bunzip2  1.txt.bz2 ,不支持壓縮目錄,支持-c 指定壓縮到某個目錄

[root@bogon bzip2]# bzip2 -d 1.txt.bz2 
[root@bogon bzip2]# ll
總用量 628
-rw-r--r-- 1 root root 642394 12月 26 15:19 1.txt
[root@bogon bzip2]# 

 

[root@bogon bzip2]# bzip2 -c 1.txt > /tmp/1.txt.bz2
[root@bogon bzip2]# du -sh /tmp/1.txt.bz2 
152K    /tmp/1.txt.bz2
[root@bogon bzip2]# 

3.支持 -d -c 選項

[root@bogon bzip2]# bzip2 -d -c /tmp/1.txt.bz2 > 3.txt
[root@bogon bzip2]# ls
1.txt  3.txt
[root@bogon bzip2]# 

4.bzip2也有壓縮級別,默認的壓縮級別就是9

5.bzcat 也是查看壓縮文件內容的。

xz壓縮工具

1.xz壓縮工具壓縮比比bzip2更狠不支持壓縮目錄

2.xz 文件名

[root@bogon xz]# xz 1.txt 
[root@bogon xz]# ls
1.txt.xz
[root@bogon xz]# ll
總用量 144
-rw-r--r-- 1 root root 144124 12月 26 16:14 1.txt.xz
[root@bogon xz]# du -sh 1.txt.xz 
144K    1.txt.xz
[root@bogon xz]# 

3.用xz -d或unxz 解壓縮

[root@bogon xz]# xz -d 1.txt.xz 
[root@bogon xz]# ls
1.txt
[root@bogon xz]#

4.支持 -d -c 

[root@bogon xz]# ls
1.txt
[root@bogon xz]# xz -c 1.txt > /tmp/2.txt.xz
[root@bogon xz]# xz -d -c /tmp/2.txt.xz > ./2.txt
[root@bogon xz]# ll
總用量 1256
-rw-r--r-- 1 root root 642394 12月 26 16:14 1.txt
-rw-r--r-- 1 root root 642394 12月 26 16:18 2.txt
[root@bogon xz]# 

5.可以用xzcat查看壓縮包內容

zip壓縮工具

1.cp -r 功能上是等價的。不加-r或者-R的時候,只拷貝文件,不拷貝文件夾;加上后則會拷貝文件夾——包括下一級的子文件夾,以及子文件夾中的子文件夾,余此類推。

2.zip壓縮文件,保留文件不刪除

[root@bogon zip]# zip 1.txt.zip 1.txt 
  adding: 1.txt (deflated 74%)
[root@bogon zip]# ll
總用量 796
-rw-r--r-- 1 root root 642394 12月 26 18:06 1.txt
-rw-r--r-- 1 root root 170088 12月 27 09:25 1.txt.zip
[root@bogon zip]# 

3.zip壓縮目錄和文件

[root@bogon tmp]# zip -r gzip.zip dnsmasq.txt gzip
  adding: dnsmasq.txt (deflated 64%)
  adding: gzip/ (stored 0%)
  adding: gzip/1.txt (deflated 74%)
  adding: gzip/2.txt (deflated 74%)
[root@bogon tmp]# 
[root@bogon tmp]# ll *.zip
-rw-r--r-- 1 root root 349639 12月 27 09:37 gzip.zip
[root@bogon tmp]# 

4.unzip 減壓zip壓縮包

[root@bogon tmp]# unzip gzip.zip 
Archive:  gzip.zip
replace dnsmasq.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  inflating: dnsmasq.txt             
  inflating: gzip/1.txt              
  inflating: gzip/2.txt              
[root@bogon tmp]# 

5.將文件減壓到test目錄

[root@bogon tmp]# unzip gzip.zip -d test/
Archive:  gzip.zip
  inflating: test/dnsmasq.txt        
   creating: test/gzip/
  inflating: test/gzip/1.txt         
  inflating: test/gzip/2.txt         
[root@bogon tmp]# 

6.zip沒有zipcat命令,可以用unzip -l 查看文件列表

[root@bogon tmp]# unzip -l gzip.zip 
Archive:  gzip.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
    25194  12-22-2017 17:49   dnsmasq.txt
        0  12-26-2017 14:16   gzip/
   642394  12-26-2017 09:18   gzip/1.txt
   642394  12-26-2017 14:16   gzip/2.txt
---------                     -------
  1309982                     4 files
[root@bogon tmp]# 

tar打包 

1.tar c創建 v可視化 f后面跟打包成什么

[root@bogon tar]# tar cvf zip.tar zip/
zip/
zip/1.txt
zip/1.txt.zip
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
[root@bogon tar]#

2.解包用xvf 從檔案文件中釋放文件

[root@bogon tar]# tar -xvf zip.tar 
zip/
zip/1.txt
zip/1.txt.zip
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
[root@bogon tar]# ll
總用量 2060
drwxr-xr-x 3 root root      45 12月 27 10:02 zip
-rw-r--r-- 1 root root 2109440 12月 27 10:07 zip.tar
[root@bogon tar]# 

3.tar可以目錄文件一起打包

[root@bogon tar]# tar -cvf zip.tar zip 1.txt 2.txt 
zip/
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
zip/1.txt
zip/1.txt.zip
1.txt
2.txt
[root@bogon tar]# 

4.tar -tf 可以查看包文件列表

[root@bogon tar]# tar -tf zip.tar 
zip/
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
zip/1.txt
zip/1.txt.zip
1.txt
2.txt
[root@bogon tar]# 

5.--exclude 指定打包時不包含的目錄

[root@bogon tar]# tar -tf zip.tar                  
zip/
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
zip/1.txt
zip/1.txt.zip
1.txt
2.txt
[root@bogon tar]# tar -cvf zip.tar --exclude gzip zip 1.txt 2.txt 
zip/
zip/1.txt
zip/1.txt.zip
1.txt
2.txt
[root@bogon tar]#

6.--exclude 可以寫多個不包含*.txt 

[root@bogon tar]# tar -cvf zip.tar --exclude gzip --exclude "*.txt" zip 1.txt 2.txt 
zip/
zip/1.txt.zip
[root@bogon tar]# 

7.tar打包並壓縮成gz格式tar -zcvf

[root@bogon tar]# tar -zcvf zip.tar.gz zip
zip/
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
zip/1.txt
zip/1.txt.zip
[root@bogon tar]# du -sh zip.tar.gz 
664K    zip.tar.gz
[root@bogon tar]# 

8.支持bz2

[root@bogon tar]# tar -jcvf zip.tar.bz2 zip
zip/
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
zip/1.txt
zip/1.txt.zip
[root@bogon tar]# 

9.支持xz壓縮

[root@bogon tar]# tar -Jcvf zip.tar.xz zip  
zip/
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
zip/1.txt
zip/1.txt.zip
[root@bogon tar]# du -sh zip.tar.xz 
308K    zip.tar.xz
[root@bogon tar]# 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM