Rumah > Operasi dan penyelenggaraan > operasi dan penyelenggaraan linux > Apakah kaedah pembungkusan dan pemampatan fail linux?

Apakah kaedah pembungkusan dan pemampatan fail linux?

WBOY
Lepaskan: 2023-05-17 16:56:47
ke hadapan
2718 orang telah melayarinya

Pembungkusan dan Pemampatan

Gabungkan fail atau folder ke dalam pakej, dan kemudian mampatkan data melalui algoritma pemampatan untuk mengurangkan saiz pakej dan memudahkan penghantaran rangkaian.

windows:
  zip
  rar

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

压缩算法:
  gzip
  bzip2
Salin selepas log masuk

zip

ialah alat pembungkusan dan pemampatan yang biasa digunakan dalam Windows dan Linux Algoritma pemampatan yang disokong ialah zip.

zip工具需要安装
  yum install zip
Salin selepas log masuk

zip memampatkan fail

# 格式
  zip [参数] 压缩包名称  文件路径

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

zip memampatkan folder

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

output senyap zip

# -q:参数就是不输出任何打包信息
[root@abc opt]# zip -r -q etc.zip /etc/
[root@abc opt]# ls -l
Salin selepas log masuk

perintah penyahmampatan zip (nyahzip)

# 格式
  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
Salin selepas log masuk

tar

mampatan tar menyokong berbilang algoritma mampatan

tar.gz gzip (paling biasa digunakan)

tar.bz2 bzip2

gzip

Gunakan algoritma pemampatan gzip untuk memampatkan fail ke volum tertentu, yang bermanfaat untuk penghantaran Pembungkusan tidak disokong

[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
Salin selepas log masuk
gzip. memampatkan direktori
[root@abc etc]# gzip -r /etc
[root@abc etc]# ls
Salin selepas log masuk

penyahmampatan gzip (-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
Salin selepas log masuk

bzip2

Gunakan algoritma mampatan bzip2 untuk memampatkan fail dengan volum tertentu.

[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 ]
Salin selepas log masuk

penyahmampatan bzip2 (-d)

penyahmampatan bzip2 adalah untuk menyahmampat pakej termampat bzip2.

[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
Salin selepas log masuk

tar

tar sebenarnya adalah alat pembungkusan yang tidak mempunyai fungsi mampatan, tetapi anda boleh menggunakan parameter untuk memanggil alat mampatan untuk penyahmampatan.

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

  • -f: Tentukan nama pakej termampat

[root@abc ~]# tar -c -f test.tar 123.log 
[root@abc ~]# ls -l
Salin selepas log masuk
  • -z: Nyatakan penggunaan alat pemampatan gzip untuk pemampatan

rreee
  • -j: Nyatakan Gunakan alat pemampatan bzip2 untuk pemampatan

[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
Salin selepas log masuk
  • -J: Tentukan untuk menggunakan alat pemampatan xz untuk pemampatan

rreee
  • -t: Lihat kandungan pakej termampat

[root@abc ~]# tar -c -j -f 123-bask-one.tar 123.log 
[root@abc ~]# ls -l
Salin selepas log masuk
  • -v: Paparkan proses mampatan pakej termampat

[root@abc test-tar]# tar -c -J  -f etc.tar.xz /etc/
[root@abc ~]# ls -l
Salin selepas log masuk
  • -P: Benarkan penggunaan laluan mutlak untuk pembungkusan

[root@abc ~]# tar -t -f 123-bak.tar.bz2 
123.log
[root@abc ~]#
Salin selepas log masuk
  • -x : Nyahmampat

[root@abc ~]# tar -x -v -f etc.tar -C /opt/
Salin selepas log masuk
  • -C: Tentukan laluan penyahmampatan

[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 ~]#
Salin selepas log masuk
  • –kecualikan: Kecualikan fail tertentu

# tar解压是按照原来的路径进行解压
[root@abc test]# tar -x -f etc.tar 

# tar会自动识别压缩功能
Salin selepas log masuk
  • –kecualikan-daripada: Kecualikan berbilang fail berdasarkan senarai fail

[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]#
Salin selepas log masuk
  • -h: Pek pautan lembut

rreee

Atas ialah kandungan terperinci Apakah kaedah pembungkusan dan pemampatan fail linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan