What is the method of linux file packaging and compression?

WBOY
Release: 2023-05-17 16:56:47
forward
2631 people have browsed it

Packaging and Compression

Merge files or folders into a package, and then compress the data through a compression algorithm to reduce the size of the package and facilitate network transmission.

windows: zip rar linux: zip tar gz bz2 tar.gz tar.bz2 压缩算法: gzip bzip2
Copy after login

zip

is a commonly used packaging and compression tool in Windows and Linux. The supported compression algorithm is zip.

zip工具需要安装 yum install zip
Copy after login

zip compress a file

# 格式 zip [参数] 压缩包名称 文件路径 [root@abc ~]# zip 123.zip 123.log adding: 123.log (deflated 87%) [root@abc ~]# ls -l
Copy after login

zip compressed folder

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

silent output of zip

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

zip decompression command (unzip)

# 格式 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
Copy after login

tar

tar compression supports multiple compression algorithms

tar.gz gzip (most commonly used)

tar.bz2 bzip2

gzip

Use the gzip compression algorithm to compress files to a certain volume, which is beneficial to transmission. Packaging is not supported

[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
Copy after login
gzip compresses a directory
[root@abc etc]# gzip -r /etc [root@abc etc]# ls
Copy after login

gzip decompression (-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
Copy after login

bzip2

Use the bzip2 compression algorithm to compress files of a certain volume.

[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 ]
Copy after login

bzip2 decompression (-d)

bzip2 decompression is for decompressing bzip2 compressed compressed packages.

[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
Copy after login

tar

tar is actually a packaging tool and does not have a compression function, but you can use parameters to call the compression tool for decompression.

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

  • -f: Specify the compressed package name

[root@abc ~]# tar -c -f test.tar 123.log [root@abc ~]# ls -l
Copy after login
  • -z: Specify the use of gzip compression tool for compression

[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
Copy after login
  • -j: Specify Use the bzip2 compression tool for compression

[root@abc ~]# tar -c -j -f 123-bask-one.tar 123.log [root@abc ~]# ls -l
Copy after login
  • -J: Specify the use of the xz compression tool for compression

[root@abc test-tar]# tar -c -J -f etc.tar.xz /etc/ [root@abc ~]# ls -l
Copy after login
  • -t: View the contents of the compressed package

[root@abc ~]# tar -t -f 123-bak.tar.bz2 123.log [root@abc ~]#
Copy after login
  • -v: Display the compression process of the compressed package

[root@abc ~]# tar -x -v -f etc.tar -C /opt/
Copy after login
  • -P: Allow the use of absolute paths for packaging

[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 ~]#
Copy after login
  • -x: Unzip

# tar解压是按照原来的路径进行解压 [root@abc test]# tar -x -f etc.tar # tar会自动识别压缩功能
Copy after login
  • -C: Specify the decompression path

[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]#
Copy after login
  • -exclude: Exclude certain files

[root@abc test-tar]# tar -c -f abc.tar ./* --exclude=abc7 --exclude=abc5 --exclude=abc1 [root@abc test-tar]# tar -t -f abc.tar ./abc2 ./abc3 ./abc4 ./abc6 ./abc8 ./abc9 [root@abc test-tar]#
Copy after login
  • –exclude-from: exclude multiple files based on a certain file list

[root@abc test-tar]# cat list.txt abc995 abc996 abc997 abc998 abc999 [root@abc test-tar]# tar -c -f abc.tar ./* --exclude-from=list.txt
Copy after login
  • -h: package soft link

[root@abc test-tar]# tar -c -h -f bin-h.tar /bin
Copy after login

The above is the detailed content of What is the method of linux file packaging and compression?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!