Linux:常用压缩及解压缩命令

编程入门 行业动态 更新时间:2024-10-10 11:29:56

Linux:常用压缩及<a href=https://www.elefans.com/category/jswz/34/1770316.html style=解压缩命令"/>

Linux:常用压缩及解压缩命令

Linux:常用压缩及解压缩命令


后缀:tar解包:tar xf redis-4.0.10.tar打包:tar cf redis-4.0.10.tar redis-4.0.10说明:-c, --createcreate a new archive-x, --extract, --getextract files from an archive-f, --file=ARCHIVEuse archive file or device ARCHIVE-v, --verboseverbosely list files processed例如:$ ls -l
total 7500
-rw-rw-r--. 1 test1280 test1280 7680000 Aug 17 04:52 redis-4.0.10.tar
$ tar xf redis-4.0.10.tar 
$ ls -l
total 7504
drwxrwxr-x. 6 test1280 test1280    4096 Jun 13  2018 redis-4.0.10
-rw-rw-r--. 1 test1280 test1280 7680000 Aug 17 04:52 redis-4.0.10.tar
$ tree -L 2
.
├── redis-4.0.10
│   ├── 00-RELEASENOTES
│   ├── BUGS
│   ├── CONTRIBUTING
│   ├── COPYING
│   ├── deps
│   ├── INSTALL
│   ├── Makefile
│   ├── MANIFESTO
│   ├── README.md
│   ├── redis.conf
│   ├── runtest
│   ├── runtest-cluster
│   ├── runtest-sentinel
│   ├── sentinel.conf
│   ├── src
│   ├── tests
│   └── utils
└── redis-4.0.10.tar5 directories, 14 files
$ rm redis-4.0.10.tar 
$ ls -l
total 4
drwxrwxr-x. 6 test1280 test1280 4096 Jun 13  2018 redis-4.0.10
$ tar cf redis-4.0.10.tar redis-4.0.10
$ ls -l
total 7504
drwxrwxr-x. 6 test1280 test1280    4096 Jun 13  2018 redis-4.0.10
-rw-rw-r--. 1 test1280 test1280 7680000 Aug 17 04:58 redis-4.0.10.tar$ file redis-4.0.10.tar 
redis-4.0.10.tar: POSIX tar archive (GNU)

后缀:tar.gz、tgz解压:tar zxf redis-4.0.10.tar.gz压缩:tar zcf redis-4.0.10.tar.gz redis-4.0.10说明:-z, --gzipfilter the archive through gzip-j, --bzip2filter the archive through bzip2tar jcf 打包压缩生成 tar.bz2 文件
tar jxf 解压解包获取 目录/文件-c, --createcreate a new archive-x, --extract, --getextract files from an archive-f, --file=ARCHIVEuse archive file or device ARCHIVE-v, --verboseverbosely list files processed
例如:$ ls -l 
total 1716
-rw-rw-r--. 1 test1280 test1280 1753203 Aug 17 04:50 redis-4.0.10.tar.gz
$ tar zxf redis-4.0.10.tar.gz 
$ ls -l
total 1720
drwxrwxr-x. 6 test1280 test1280    4096 Jun 13  2018 redis-4.0.10
-rw-rw-r--. 1 test1280 test1280 1753203 Aug 17 04:50 redis-4.0.10.tar.gz
$ tree -L 2
.
├── redis-4.0.10
│   ├── 00-RELEASENOTES
│   ├── BUGS
│   ├── CONTRIBUTING
│   ├── COPYING
│   ├── deps
│   ├── INSTALL
│   ├── Makefile
│   ├── MANIFESTO
│   ├── README.md
│   ├── redis.conf
│   ├── runtest
│   ├── runtest-cluster
│   ├── runtest-sentinel
│   ├── sentinel.conf
│   ├── src
│   ├── tests
│   └── utils
└── redis-4.0.10.tar.gz5 directories, 14 files
$ rm redis-4.0.10.tar.gz
$ ls -l
total 4
drwxrwxr-x. 6 test1280 test1280 4096 Jun 13  2018 redis-4.0.10
$ tar zcf redis-4.0.10.tar.gz redis-4.0.10
$ ls -l
total 1720
drwxrwxr-x. 6 test1280 test1280    4096 Jun 13  2018 redis-4.0.10
-rw-rw-r--. 1 test1280 test1280 1753203 Aug 17 04:52 redis-4.0.10.tar.gz$ file redis-4.0.10.tar.gz 
redis-4.0.10.tar.gz: gzip compressed data, from Unix, last modified: Sat Aug 17 04:52:57 2019

后缀:zip解压:unzip redis-4.0.10.zip压缩:zip -r redis-4.0.10.zip redis-4.0.10说明:unzip:-q     perform operations quietly (-qq = even quieter).zip:-q--quietQuiet mode; eliminate informational messages and comment prompts.  (Useful, for example, in shell scripts and background tasks).-r--recurse-pathsTravel the directory structure recursively;例如:$ ls -l
total 2040
-rw-rw-r--. 1 test1280 test1280 2086113 Aug 17 05:14 redis-4.0.10.zip
$ unzip redis-4.0.10.zip 
Archive:  redis-4.0.10.zipcreating: redis-4.0.10/inflating: redis-4.0.10/.gitignore  
……inflating: redis-4.0.10/utils/whatisdoing.sh  
$ ls -l
total 2044
drwxrwxr-x. 6 test1280 test1280    4096 Jun 13  2018 redis-4.0.10
-rw-rw-r--. 1 test1280 test1280 2086113 Aug 17 05:14 redis-4.0.10.zip
$ tree -L 2
.
├── redis-4.0.10
│   ├── 00-RELEASENOTES
│   ├── BUGS
│   ├── CONTRIBUTING
│   ├── COPYING
│   ├── deps
│   ├── INSTALL
│   ├── Makefile
│   ├── MANIFESTO
│   ├── README.md
│   ├── redis.conf
│   ├── runtest
│   ├── runtest-cluster
│   ├── runtest-sentinel
│   ├── sentinel.conf
│   ├── src
│   ├── tests
│   └── utils
└── redis-4.0.10.zip5 directories, 14 files
$ rm redis-4.0.10.zip 
$ zip -r redis-4.0.10.zip redis-4.0.10adding: redis-4.0.10/ (stored 0%)
……adding: redis-4.0.10/utils/whatisdoing.sh (deflated 35%)
$ ls -l
total 2044
drwxrwxr-x. 6 test1280 test1280    4096 Jun 13  2018 redis-4.0.10
-rw-rw-r--. 1 test1280 test1280 2086113 Aug 17 05:16 redis-4.0.10.zip$ file redis-4.0.10.zip 
redis-4.0.10.zip: Zip archive data, at least v1.0 to extract

后缀:gz解压:gunzip redis-4.0.10.tar.gzgzip -d redis-4.0.10.tar.gz压缩:gzip redis-4.0.10.tar说明:gzip只能针对文件压缩,不能对目录压缩;如果要压缩目录,需要使用tar先将目录打包成单个文件(tar),然后再压缩。所以我们看到的tar.gz的后缀文件,其实都是使用tar打包gzip压缩的产物。-d --decompress --uncompressDecompress.例如:解压缩(或使用gunzip替代gzip -d):$ ls -l
total 1716
-rw-r--r--. 1 test1280 test1280 1753182 Sep 14  2018 redis-4.0.10.tar.gz
$ gzip -d redis-4.0.10.tar.gz 
$ ls -l
total 7500
-rw-r--r--. 1 test1280 test1280 7680000 Sep 14  2018 redis-4.0.10.tar获得压缩前的单个tar文件,继续:$ tar xf redis-4.0.10.tar 
$ ls -l
total 7504
drwxrwxr-x. 6 test1280 test1280    4096 Jun 13  2018 redis-4.0.10
-rw-r--r--. 1 test1280 test1280 7680000 Sep 14  2018 redis-4.0.10.tar获得解包后的目录。当然,可以通过 tar zxf redis-4.0.10.tar.gz 一步到位。压缩:gzip不能打包压缩目录,需要先tar打包目录:$ tar cf redis-4.0.10.tar redis-4.0.10
$ ls -l
total 7504
drwxrwxr-x. 6 test1280 test1280    4096 Jun 13  2018 redis-4.0.10
-rw-rw-r--. 1 test1280 test1280 7680000 Aug 17 05:50 redis-4.0.10.tar使用gzip压缩tar文件:$ gzip redis-4.0.10.tar 
$ ls -l
total 1720
drwxrwxr-x. 6 test1280 test1280    4096 Jun 13  2018 redis-4.0.10
-rw-rw-r--. 1 test1280 test1280 1753220 Aug 17 05:50 redis-4.0.10.tar.gz同样,可以通过 tar zcf redis-4.0.10.tar.gz redis-4.0.10 一步到位。

后缀:bz2解压:bunzip2 redis-4.0.10.tar.bz2bzip2 -d redis-4.0.10.tar.bz2压缩:bzip2 redis-4.0.10.tar说明:bzip2只能针对文件压缩,不能对目录压缩;如果要压缩目录,需要使用tar先将目录打包成单个文件(tar),然后再压缩。所以我们看到的tar.bz2的后缀文件,其实都是使用tar打包bzip2压缩的产物。-d --decompressForce decompression.例如:解压缩(或使用bunzip2替代bzip2 -d):$ ls -l
total 1356
-rw-rw-r--. 1 test1280 test1280 1388011 Aug 17 05:56 redis-4.0.10.tar.bz2
$ bzip2 -d redis-4.0.10.tar.bz2 
$ ls -l
total 7500
-rw-rw-r--. 1 test1280 test1280 7680000 Aug 17 05:56 redis-4.0.10.tar获得压缩前的单个tar文件,继续:$ tar xf redis-4.0.10.tar 
$ ls -l
total 7504
drwxrwxr-x. 6 test1280 test1280    4096 Jun 13  2018 redis-4.0.10
-rw-r--r--. 1 test1280 test1280 7680000 Sep 14  2018 redis-4.0.10.tar获得解包后的目录。当然,可以通过 tar jxf redis-4.0.10.tar.bz2 一步到位。压缩:bzip2不能打包压缩目录,需要先tar打包目录:$ tar cf redis-4.0.10.tar redis-4.0.10
$ ls -l
total 7504
drwxrwxr-x. 6 test1280 test1280    4096 Jun 13  2018 redis-4.0.10
-rw-rw-r--. 1 test1280 test1280 7680000 Aug 17 05:50 redis-4.0.10.tar使用bzip2压缩tar文件:$ bzip2 redis-4.0.10.tar 
$ ls -l
total 1356
-rw-rw-r--. 1 test1280 test1280 1388011 Aug 17 06:04 redis-4.0.10.tar.bz2同样,可以通过 tar jcf redis-4.0.10.tar.bz2 redis-4.0.10 一步到位。

总结:

命令功能
tar打包、解包
gzip压缩(单个文件,结合tar打包来压缩目录);gzip -d 解压缩
gunzip解压,等同于 gzip -d
bzip2压缩(单个文件,结合tar打包来压缩目录);bzip2 -d 解压缩
bunzip2解压,等同于 bzip2 -d
zip压缩(单个文件或目录递归)
unzip解压
xz压缩
unxz解压
compress压缩
uncompress解压
后缀操作命令
.tar.gz打包,压缩tar zcf test1280.tar.gz test1280
.tar.bz2打包,压缩tar jcf test1280.tar.bz2 test1280
.gz压缩gzip file
.bz2压缩bzip2 file
.zip压缩zip [-r] test1280.zip test1280
.tar打包tar cf test1280.tar test1280
.tar.gz解压,解包tar zxf test1280.tar.gz
.tar.bz2解压,解包tar jxf test1280.tar.bz2
.gz解压gunzip file.gz
.bz2解压bunzip2 file.bz2
.zip解压unzip test1280.zip
.tar解包tar xf test1280.tar

Linux中文件后缀可以随意修改,有时不能确认真实的文件格式,可以使用file命令查看文件的真实格式,例如:

$ file redis-4.0.10.tar 
redis-4.0.10.tar: POSIX tar archive (GNU)

其他:

tar Jxf redis-4.0.10.tar.xz
tar Jcf redis-4.0.10.tar.xz redis-4.0.10man tar:-J, --xzfilter the archive through xz

tar支持z(gzip)、j(bzip2)、J(xz)、Z(compress)等几类。

关于rar文件,需要安装单独的rar工具压缩和解压。

试试 which xz、which compress


参考:

1.
2..html
3.
4.
5.
6..html
7./%E5%8E%8B%E7%BC%A9%E4%B8%8E%E8%A7%A3%E5%8E%8B

更多推荐

Linux:常用压缩及解压缩命令

本文发布于:2024-02-07 05:08:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1753456.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:解压缩   命令   常用   Linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!