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

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

WBOY
Freigeben: 2023-05-17 16:56:47
nach vorne
2689 Leute haben es durchsucht

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
Nach dem Login kopieren

zip

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

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

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

#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%)
Nach dem Login kopieren

Silent Output of Zip

# -q:参数就是不输出任何打包信息
[root@abc opt]# zip -r -q etc.zip /etc/
[root@abc opt]# ls -l
Nach dem Login kopieren
#🎜 🎜 #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
Nach dem Login kopieren

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
Nach dem Login kopieren

gzip komprimiert ein Verzeichnis

[root@abc etc]# gzip -r /etc
[root@abc etc]# ls
Nach dem Login kopieren
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
Nach dem Login kopieren
#🎜 🎜# 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 ]
Nach dem Login kopieren
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
Nach dem Login kopieren
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 :
Nach dem Login kopieren
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
Nach dem Login kopieren
  • -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
    Nach dem Login kopieren
    • -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
      Nach dem Login kopieren
    • -v: Zeigt den Komprimierungsprozess des komprimierten Pakets an
    • #🎜 🎜#
      [root@abc test-tar]# tar -c -J  -f etc.tar.xz /etc/
      [root@abc ~]# ls -l
      Nach dem Login kopieren
      • -P: Erlauben Sie die Verwendung absoluter Pfade für die Verpackung

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

      [root@abc ~]# tar -x -v -f etc.tar -C /opt/
      Nach dem Login kopieren
      • -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 ~]#
      Nach dem Login kopieren
      • –exclude : Bestimmte Dateien ausschließen

      # tar解压是按照原来的路径进行解压
      [root@abc test]# tar -x -f etc.tar 
      
      # tar会自动识别压缩功能
      Nach dem Login kopieren
      • –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]#
        Nach dem Login kopieren

      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!

      Verwandte Etiketten:
      Quelle:yisu.com
      Erklärung dieser Website
      Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
      Beliebte Tutorials
      Mehr>
      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage