日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

linux 文件壓縮命令

  • .Z 使用 compress 壓縮文件
  • .zip 使用zip壓縮文件
  • .gz 使用gzip壓縮文件
  • .bz2 使用bzip2壓縮文件
  • .xz 使用xz壓縮文件
  • .tar 使用tar 工具打包歸檔,沒有壓縮文件
  • .tar.gz 使用tar 歸檔 在 gz 壓縮文件
  • .tar.bz2 使用tar歸檔在bz2壓縮文件
  • .tar.xz 使用tar歸檔在xz壓縮文件

其中,compress已經過時了,因為太老,個別版本的linux已經不支持了,linux下的壓縮工具還是以gzip和bzip2以及后加入的xz作為主力,但是由于這些工具,最早不能壓縮目錄,只能針對單一文件進行壓縮,所以在日常使用中,他們都是配合著tar這個打包工具,由tar把目錄中的很多文件打包成一個文件,再經由對應的工具進行壓縮,所以我們會看上面的那些tar.*的壓縮包。好了我們先來學習下這些壓縮工具如何使用

壓縮文件的優點如下

  • 文件更小,便于網絡傳輸,效率更高;
  • 避免雜亂,可以減少文件個數,多個文件一起壓縮;
  • 有些文件不能直接傳輸,比如安裝程序,壓縮后就可以傳輸了

壓縮工具使用

compress

-d   解壓壓縮文件
-c   保留源文件,標準輸出
-b   指定壓縮率 9-16之間,值越大壓縮效率越高
-f   強制解壓覆蓋源文件
-r   遞歸處理,將指定目錄下的所有文件及子目錄一并處理
-v   壓縮統計信息
# 壓縮文件
[root@ym test]# compress bigfile
[root@ym test]# ls bigfile.Z 
bigfile.Z
# -d 加壓縮
[root@ym test]# compress -d bigfile.Z
[root@ym test]# ls
1test.sh  2test.sh  bigfile  --delete  file  passwd  test.sh
# -c 保留源文件
[root@ym test]# compress -c bigfile > bigfile.Z
[root@ym test]# ls bigfile*
bigfile  bigfile.Z

# -f 強制壓縮文件不管是否存在
[root@ym test]# ls bigfile*
bigfile  bigfile.Z
[root@ym test]# compress -f bigfile
[root@ym test]# ls bigfile*
bigfile.Z

# -b 指定壓縮率
[root@ym test]# compress -d bigfile.Z
# -r 遞歸壓縮文件
[root@ym tmp]# compress -r ym
[root@ym tmp]# ls ym/test
1test.sh.Z  2test.sh.Z  bigfile.Z  --delete.Z  file.Z  passwd.Z

uncompress

-d   解壓壓縮文件
-c   保留源文件,標準輸出
-b   指定壓縮率 9-16之間,值越大壓縮效率越高
-f   強制解壓覆蓋源文件
-r   遞歸處理,將指定目錄下的所有文件及子目錄一并處理
-v   壓縮統計信息

gzip

[root@ym ~]# gzip -h
Usage: gzip [OPTION]... [FILE]...
  -c, --stdout     保留源文件,把壓縮后的文件輸出到標準輸出設備
  -d, --decompress 解壓縮文件
  -f, --force      強制壓縮文件,不管是什么類型的文件及是否存在
  -h, --help       在線幫助
  -k, --keep       保留源文件不刪除文件
  -l, --list       列出壓縮文件的相關信息
  -L, --license    顯示版本與版權信息
  -n, --no-name    壓縮文件時,不保存原來的文件名稱及時間戳記
  -N, --name       壓縮文件時,保存原來的文件名稱及時間戳記
  -q, --quiet      不顯示警告信息
  -r, --recursive  遞歸處理,將指定目錄下的所有文件及子目錄一并處理
  -S, --suffix=SUF <壓縮字尾字符串>或----suffix<壓縮字尾字符串>  更改壓縮字尾字符串
  -t, --test        測試壓縮文件是否正確無誤
  -v, --verbose     顯示指令執行過程
  -V, --version     顯示版本信息
  -1, --fast        此參數的效果和指定"-1"參數相同
  -9, --best        此參數的效果和指定"-9"參數相同
[root@ym test]# tar -c passwd > passwd.gz # 將passwd內容通過>標準輸出到 passwd.gz 
[root@ym test]# ls
1test.sh  2test.sh  file.gz  passwd  passwd.gz  test.sh
[root@ym test]# gzip -d file.gz  # -d 選項 將壓縮文件file.gz解壓成file文件
[root@ym test]# ls
1test.sh  2test.sh  file  passwd  passwd.gz  test.sh
[root@ym test]# gzip -k file # -k選項壓縮文件同時保留源文件
[root@ym test]# ls
1test.sh  2test.sh  file  file.gz  passwd  passwd.gz  test.sh
[root@ym test]# gzip -l file.gz # 查看壓縮率信息
         compressed        uncompressed  ratio uncompressed_name
               1055                2660  61.2% file
#使用 dd 命令生成一個10M的文件
[root@ym test]# dd if=/dev/zero of=./bigfile bs=1M count=10
記錄了10+0 的讀入
記錄了10+0 的寫出
10485760 bytes (10 MB, 10 MiB) copied, 0.00384293 s, 2.7 GB/s
# 使用-9壓縮率最高
[root@ym test]# gzip -9 bigfile
[root@ym test]# gzip -l bigfile.gz 
         compressed        uncompressed  ratio uncompressed_name
              10216            10485760  99.9% bigfile
# 解壓并使用壓縮率最低重新壓縮查看
[root@ym test]# gzip -d bigfile.gz 
[root@ym test]# gzip -1 bigfile 
[root@ym test]# gzip -l bigfile.gz 
         compressed        uncompressed  ratio uncompressed_name
              45780            10485760  99.6% bigfile 
[root@ym ~]# gzip -r test # 壓縮目錄下所有文件 
[root@ym ~]# cd test
[root@ym test]# ls
1test.sh.gz  2test.sh.gz  bigfile.gz  file.gz  passwd.gz  test.sh.gz

zcat:不解壓顯示文件按內容

[root@ym test]# zcat 1test.sh.gz 
#!/bin/sh
seq 1 5 > /tmp/test.log
#exec < /tmp/test.log
cat /tmp/test.log
while read line
do
    echo $line
    
done
echo "ok"

bzip2

[root@ym ~]# bzip2 -h
   -h --help           打印幫助信息
   -d --decompress     強制解壓文件
   -z --compress       強制壓縮文件
   -k --keep           保留源文件不刪除文件
   -f --force          覆蓋輸出文件
   -t --test           測試壓縮文件
   -c --stdout         輸出到標準輸出
   -q --quiet          不顯示警告信息
   -v --verbose        顯示指令執行過程
   -L --license        顯示版本
   -V --version        顯示版本信息
   -s --small          使用最小內存
   --fast              -1 快速壓縮,壓縮比例最低
   --best              -9 壓縮比例最高,壓縮速度慢
[root@ym test]# bzip2 -z file # 壓縮文件
[root@ym test]# ls
1test.sh  2test.sh  bigfile  file.bz2  passwd  test.sh
[root@ym test]# bzip2 -d file.bz2 #加壓文件
[root@ym test]# bzip2 -k file # 保留源文件并壓縮
[root@ym test]# ls
1test.sh  2test.sh  bigfile  file  file.bz2  passwd  test.sh

# 使用 -f 壓縮文件會覆蓋目錄下同名的文件
[root@ym test2]# ls
file  file.bz2
[root@ym test2]# bzip2 -f file
[root@ym test2]# ls
file.bz2
# -c 使用管道符重定向到一個文件
[root@ym test2]# bzip2 -c file > file.bz2
[root@ym test2]# ls
file  file.bz2

bzcat:不解壓顯示文件內容

[root@ym test2]# bzcat file.bz2 
hello shell
hello Python/ target=_blank class=infotextkey>Python

xz

[root@ym ~]# xz --help
Usage: xz [OPTION]... [FILE]...
  -z, --compress      壓縮文件
  -d, --decompress    解壓文件
  -t, --test          測試壓縮文件
  -l, --list          列出信息關于xz文件
  -k, --keep          保留原文不刪除
  -f, --force         覆蓋解壓
  -c, --stdout        將信息輸出
  -0 ... -9           指定壓縮級別                     
  -e, --extreme       使用大量CPU快速壓縮                    
  -T, --threads=NUM   使用多線程壓縮                    
  -q, --quiet         不顯示警告信息
  -v, --verbose       顯示執行過程
  -h, --help          查看幫助
  -H, --long-help     更詳細幫助信息
  -V, --version       像是版本信息
[root@ym test2]# xz -z file # -z 壓縮文件file位file.xz
[root@ym test2]# ls
file.bz2  file.xz
# -d 解壓 file.xz 位 file
[root@ym test2]# xz -d file.xz 
[root@ym test2]# ls
file  file.bz2
# -f 覆蓋源文件壓縮
[root@ym test2]# xz -f file
[root@ym test2]# ls
file.bz2  file.xz
# -l 顯示壓縮文件內容
[root@ym test2]# xz -l file.xz
Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename
    1       1         84 B         26 B  3.231  CRC64   file.xz
# -e 會消耗大量cpu 壓縮文件
[root@ym test2]# xz -e file
[root@ym test2]# ls
file.bz2.xz  file.xz
# -T 指定使用的線程數解壓
[root@ym test2]# xz -d file.xz
[root@ym test2]# xz -T 4 file
[root@ym test2]# ls
file.bz2.xz  file.xz
# -C 壓縮文件
[root@ym test2]# xz -d file.xz
[root@ym test2]# xz -c file > file.xz
[root@ym test2]# ls
file  file.bz2.xz  file.xz
[root@ym test2]# xz -l file.xz
Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename
    1       1         84 B         26 B  3.231  CRC64   file.xz

xzcat:不顯示解壓的前提下查看文件內容

[root@ym test2]# xzcat file.xz
hello shell
hello python

zip

-q:不顯示執行過程
-v:顯示執行過程
-r:遞歸處理,將指定目錄下的所有文件和子目錄一并處理
-d:從壓縮文件中刪除指定文件
[root@ym test2]# zip file.zip file
  adding: file (deflated 12%)
[root@ym test2]# ls
file  file.bz2.xz  file.xz  file.zip
# -q 不顯示壓縮過程
[root@ym test2]# zip -q file1.zip file
[root@ym test2]# ls
file  file1.zip  file.bz2.xz  file.xz  file.zip

# -r 遞歸壓縮目錄問價
zip -r test test.zip

zip error: Nothing to do! (try: zip -r test . -i test.zip)
[root@ym ~]# zip -r abc.zip test
  adding: test/ (stored 0%)
  adding: test/1test.sh (deflated 29%)
  adding: test/2test.sh (deflated 31%)
  adding: test/bigfile (deflated 100%)
  adding: test/passwd (deflated 61%)
  adding: test/test.sh (deflated 14%)
  adding: test/file (deflated 61%)
  adding: test/file.bz2 (stored 0%)
# -v 顯示壓縮過程
[root@ym test2]# zip -rv test.zip test
  adding: test/ (in=0) (out=0) (stored 0%)
  adding: test/1test.sh (in=122) (out=87) (deflated 29%)
  adding: test/2test.sh (in=203) (out=141) (deflated 31%)
  adding: test/bigfile .    (in=10485760) (out=10190) (deflated 100%)
  adding: test/file (in=2660) (out=1032) (deflated 61%)
  adding: test/passwd   (in=2660) (out=1032) (deflated 61%)
  adding: test/test.sh  (in=37) (out=32) (deflated 14%)
total bytes=10491442, compressed=12514 -> 100% savings

unzip

-c:將解壓縮的結果顯示到屏幕上,并對字符做適當的轉換
-d:指定解壓路徑
-l:顯示壓縮文件內所包含的文件
-v:執行時顯示詳細的信息
-q:不顯示解壓過程
# -c顯示解壓內容到屏幕,并不解壓文件按
[root@ym test2]# unzip -c test.zip
Archive:  test.zip
 extracting: test/                   

  inflating: test/1test.sh           
#!/bin/sh
seq 1 5 > /tmp/test.log
#exec < /tmp/test.log
cat /tmp/test.log
while read line
do
    echo $line
    
done
echo "ok"
........省略

# -d 指定解壓路徑
[root@ym test2]# unzip test.zip -d /tmp/
Archive:  test.zip
   creating: /tmp/test/
  inflating: /tmp/test/1test.sh      
  inflating: /tmp/test/2test.sh      
  inflating: /tmp/test/bigfile       
  inflating: /tmp/test/file          
  inflating: /tmp/test/passwd        
  inflating: /tmp/test/test.sh

# -l 顯示解壓信息,并不解壓文件
[root@ym test2]# unzip -l test.zip
Archive:  test.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  07-08-2022 21:10   test/
      122  07-04-2022 00:11   test/1test.sh
      203  07-04-2022 00:17   test/2test.sh
 10485760  07-08-2022 19:40   test/bigfile
     2660  07-08-2022 19:30   test/file
     2660  07-08-2022 18:55   test/passwd
       37  07-08-2022 18:59   test/test.sh
---------                     -------
 10491442                     7 files

[root@ym test2]# unzip -q test.zip

tar

[root@ym test2]# tar --help
tar [選項...] [FILE]...
-c: 創建歸檔文件
-f:使用歸檔文件
-z: 壓縮成gzip格式的歸檔文件
-j:壓縮成bzip2 格式歸檔文件
-J:壓縮xz 格式歸檔文件
-C:指定解壓文件的位置
-r: 添加文件到歸檔末尾
-u: --update 僅追加比歸檔中副本更新的文件
-t: 列出存檔中文件的目錄
-k: 保留源文件
-x: 解壓歸檔文件
-P: 保留路徑符號
-v: 解壓詳細信息
--delete:從存檔中刪除
# 創建tar 歸檔文件操作

# -c 創建歸檔文件 -f 使用歸檔文件
[root@ym test]# tar cf passwd.tar passwd
[root@ym test]# ls
1test.sh  2test.sh  bigfile  file  passwd  passwd.tar  test.sh
# -rf 添加文件到歸檔文件中去
[root@ym test]# tar rf passwd.tar file
[root@ym test]# tar ft passwd.tar
passwd
file


# 創建tar.gz歸檔壓縮文件

# cfz 創建歸檔壓縮文件格式:.tar.gz
[root@ym test]# tar cfz passwd.tar.gz passwd
[root@ym test]# ls
1test.sh  2test.sh  bigfile  file  passwd  passwd.tar  passwd.tar.gz  test.sh

# cfj 創建歸檔壓縮文件格式:.tar.bz
[root@ym test]# tar cfj passwd.tar.bz passwd
[root@ym test]# ls
1test.sh  bigfile  passwd      passwd.tar.bz  test.sh
2test.sh  file     passwd.tar  passwd.tar.gz

# cfx 創建歸檔壓縮文件:tar.xz
[root@ym test]# tar cfJ passwd.tar.xz passwd
[root@ym test]# ls passwd.tar.xz
passwd.tar.xz

# 解壓歸檔文件并指定保存位置
[root@ym test]# tar xfz passwd.tar.gz -C /tmp/
[root@ym test]# tar xfj passwd.tar.bz -C /tmp/
[root@ym test]# tar xfJ passwd.tar.xz -C /tmp/
# --delete 從歸檔文件中刪除指定文件
[root@ym test]# tar --delete file -f passwd.tar
[root@ym test]# tar tf passwd.tar
passwd

# -P 保留歸檔中的文件路徑(大寫)
[root@ym ~]# tar cfP test.tar /tmp/ym/test
[root@ym a]# tar tfP test.tar 
/tmp/ym/test/
/tmp/ym/test/passwd.tar
/tmp/ym/test/1test.sh
/tmp/ym/test/2test.sh
/tmp/ym/test/bigfile
/tmp/ym/test/file
/tmp/ym/test/passwd
/tmp/ym/test/test.sh
/tmp/ym/test/passwd.tar.xz
/tmp/ym/test/passwd.tar.gz
/tmp/ym/test/passwd.tar.bz
/tmp/ym/test/passwd.gar.xz
/tmp/ym/test/--delete

分享到:
標簽:壓縮 Linux
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定