Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was ist die Methode zum Packen und Komprimieren von Linux-Dateien?

Was ist die Methode zum Packen und Komprimieren von Linux-Dateien?

WBOY
WBOYnach vorne
2023-05-17 16:56:472677Durchsuche

Paketierung und Komprimierung

Führen Sie Dateien oder Ordner zu einem Paket zusammen und komprimieren Sie die Daten dann durch einen Komprimierungsalgorithmus, um die Größe des Pakets zu reduzieren und die Netzwerkübertragung zu erleichtern.

windows:
  zip
  rar

linux:
  zip
  tar
  gz
  bz2
  tar.gz
  tar.bz2

压缩算法:
  gzip
  bzip2

zip

ist ein häufig verwendetes Paketierungs- und Komprimierungstool unter Windows und Linux. Der unterstützte Komprimierungsalgorithmus ist zip. #🎜🎜 ## 🎜🎜#

zip工具需要安装
  yum install zip
#ZIP -Komprimierung einer Datei
# 格式
  zip [参数] 压缩包名称  文件路径

[root@abc ~]# zip 123.zip 123.log 
  adding: 123.log (deflated 87%)
[root@abc ~]# ls -l

#ZIP -Komprimierung

#
# 需要一个-r参数去递归压缩文件夹下的所有内容
[root@abc ~]# zip -r dir.zip dir/
  adding: dir/ (stored 0%)
  adding: dir/one/ (stored 0%)
  adding: dir/123.log (deflated 87%)

Silent Output of Zip

# -q:参数就是不输出任何打包信息
[root@abc opt]# zip -r -q etc.zip /etc/
[root@abc opt]# ls -l
#🎜 🎜 #zip-Dekomprimierungsbefehl (entpacken)

# 格式
  unzip [参数] 压缩包路径

# unzip解压命令只能解压由zip打包的压缩文件
[root@abc ~]# unzip dir.zip 
Archive:  dir.zip
  inflating: dir/123.log             
[root@abc ~]# 

# 其他压缩包由unzip解压时随即报错。
[root@abc opt]# unzip nginx-.tar.gz
Archive:  nginx-.tar.gz
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of nginx-.tar.gz or
        nginx-.tar.gz.zip, and cannot find nginx-.tar.gz.ZIP, period.


# 查看压缩包中压缩那些内容,不解压?
# 只查看压缩包内容不解压需要使用 -l 参数
[root@abc opt]# unzip -l dir.zip 
Archive:  dir.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  03-11-2021 12:04   dir/
---------                     -------
        0                     1 file

# 解压到指定目录(-d)
[root@abc ~]# unzip -d /root/  etc.zip 
[root@abc opt]# cd /root/
[root@abc ~]# ls
]        anaconda-ks.cfg  dir.zip  index.html           test.pdf.gz  xxxeth0xxx           系统优化.md
123.log  demo.txt         etc      nginx-0.1.22.tar.gz  test.txt     上传与下载.md
123.zip  dir              eth0xxx  test                 xxxeth0      文件管理_(高级).pdf

# 静默输出(-q)
[root@abc ~]# rm -rf etc
[root@abc ~]# unzip -q -d /root/ /opt/etc.zip 
[root@abc ~]# ls -l

tar

tar-Komprimierung unterstützt mehrere Komprimierungsalgorithmen

tar.gz gzip ( Am häufigsten verwendet )

tar.bz2 bzip2

gzip

Verwenden Sie den gzip-Komprimierungsalgorithmus, um die Datei auf einen bestimmten Wert zu komprimieren Umfang Volumen, förderlich für die Übertragung, unterstützt keine Verpackung

[root@abc ~]# ls -l
total 4828
-rw-r--r--   1 root root  244977 Mar 10 12:12 index.html
[root@abc ~]# gzip index.html 
[root@abc ~]# ls -l

gzip komprimiert ein Verzeichnis

[root@abc etc]# gzip -r /etc
[root@abc etc]# ls
gzip-Dekomprimierung (-d)
[root@abc ~]# ls -l
-rw-r--r--   1 0 0   22652 Mar 10 12:12 index.html.gz
[root@abc ~]# gzip -d index.html.gz 
[root@abc ~]# ls -l
#🎜 🎜# bzip2

Verwenden Sie den bzip2-Komprimierungsalgorithmus, um Dateien eines bestimmten Volumens zu komprimieren.

[root@abc ~]# ls -l
total 4828
-rw-r--r--   1 root root  646165 Mar  9 10:31 123.log     
[root@abc ~]# bzip2 123.log 
[root@abc ~]# ls -l
total 4240
-rw-r--r--   1 root root       0 Mar 10 12:04 ]
bzip2-Dekomprimierung (-d)

bzip2-Dekomprimierung dient zum Dekomprimieren von bzip2-komprimierten Paketen.

[root@abc ~]# ls -l
total 4240
-rw-r--r--   1 root root   42210 Mar  9 10:31 123.log.bz2
[root@abc ~]# bzip2 -d 123.log.bz2 
[root@abc ~]# ls -l
tar

tar ist eigentlich ein Verpackungstool, das keine Komprimierungsfunktion hat, aber Sie können Parameter verwenden, um das Komprimierungstool aufzurufen zur Dekompression.

tar参数
  -c : 创建压缩
  -f ; 指定压缩包名称
  -z : 使用gzip压缩工具进行压缩
  -j : 使用bzip2压缩工具进行压缩
  -J : 使用xz压缩工具进行压缩
  -t : 显示压缩包内容,不解压
  -v : 显示压缩过程
  -P : 允许使用绝对路径进行压缩
  -x : 解压
  -C : 指定解压路径
  -h : 打包软连接
  --exclude : 排除某些文件
  --exclude-from :
Parameter

-c : Erstellen Sie ein komprimiertes Paket
  • # 🎜 🎜#-f: Geben Sie den Namen des komprimierten Pakets an

[root@abc ~]# tar -c -f test.tar 123.log 
[root@abc ~]# ls -l
  • -z: Geben Sie die Verwendung des gzip-Komprimierungstools für die Komprimierung an#🎜 🎜##🎜 🎜#
  • [root@abc ~]# tar  -c -z -f test-one.tar 123.log 
    [root@abc ~]# ls -l 
    total 5084
    -rw-r--r--   1 root root   85279 Mar 11 15:56 test-one.tar
    
    # 注:使用-z参数,不会自动添加.gz后缀
    
    [root@abc ~]# tar -c -z -f anaconda.tar.gz  anaconda-ks.cfg 
    [root@abc ~]# ls -l
    • -j : Geben Sie an, dass das bzip2-Komprimierungstool für die Komprimierung verwendet werden soll #

      -J: Geben Sie die Verwendung des xz-Komprimierungstools für die Komprimierung an der Inhalt des komprimierten Pakets
      [root@abc ~]# tar -c -j -f 123-bask-one.tar 123.log 
      [root@abc ~]# ls -l
    • -v: Zeigt den Komprimierungsprozess des komprimierten Pakets an
    • #🎜 🎜#
      [root@abc test-tar]# tar -c -J  -f etc.tar.xz /etc/
      [root@abc ~]# ls -l
      • -P: Erlauben Sie die Verwendung absoluter Pfade für die Verpackung

      [root@abc ~]# tar -t -f 123-bak.tar.bz2 
      123.log
      [root@abc ~]#
      • #🎜🎜 #-x: Entpacken

      [root@abc ~]# tar -x -v -f etc.tar -C /opt/
      • -C: Geben Sie den Dekomprimierungspfad an

      [root@abc ~]# tar -c -P -f 123-three.tar /etc/passwd
      [root@abc ~]# tar -c -f 123-three.tar /etc/passwd
      tar: Removing leading `/' from member names
      [root@abc ~]#
      • –exclude : Bestimmte Dateien ausschließen

      # tar解压是按照原来的路径进行解压
      [root@abc test]# tar -x -f etc.tar 
      
      # tar会自动识别压缩功能
      • –exclude-from : Mehrere ausschließen Dateien, die auf einer bestimmten Dateiliste basieren
        [root@abc ~]# tar -x -f etc.tar -C /opt/
        tar: Removing leading `/' from member names
        [root@abc ~]# cd /opt/
        [root@abc opt]# ls
        abc23  dir  dir.zip  etc  nginx-0.1.22.tar.gz  nginx-.tar.gz  xxx
        [root@abc opt]#

      Das obige ist der detaillierte Inhalt vonWas ist die Methode zum Packen und Komprimieren von Linux-Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

      Stellungnahme:
      Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen