windows下面有专门的压缩和解压软件,例如WinRAR,用起来十分的方便。在linux下面,执行某些命令就可以达到压缩和解压的效果。
![86d777ec4e4c79f8e084ed8870cf872d.png](https://i-blog.csdnimg.cn/blog_migrate/d257493dd626dba18ce216084a9ff299.jpeg)
归档管理:tar
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
tar使用格式:
tar [参数] 打包文件名 文件
tar命令很特殊,其参数前面可以使用“-”,也可以不使用。
常用参数:
参数含义-c生成档案文件,创建打包文件-v列出归档解档的详细过程,显示进度-f指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后-t列出档案中包含的文件-x解开档案文件
注意:除了f需要放在参数的最后,其它参数的顺序任意。
常用命令:
- 打包
当前目录所有文件tar -cvf xxx.tar *
以.txt结尾的文件tar -cvf xxx.tar *.txt
- 解包
解包到当前目录:tar -xvf xxx.tar
解包到指定目录:tar -xvf xxx.tar -C my-dir
文件压缩解压:gzip
![6086fdca06e97438000f8d64e4da9d9d.png](https://i-blog.csdnimg.cn/blog_migrate/8d87d9d9e062f6c8b983b780be9ac9b5.jpeg)
tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。也会见到缩写的.tgz这种扩展名。
gzip使用格式如下:
gzip [选项] 被压缩文件
常用选项:
选项含义无压缩gzip xxx.tar-d解压gzip -d xxx.tar.gz-r压缩所有子目录
tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项-z可以调用gzip实现压缩的功能,最终实行一个先打包后压缩的过程。
-z :指定压缩包的格式为 xxx.tar.gz
tar压缩:tar zcvf xxx.tar.gz 文件1 文件2 ...
tar解压:tar zxvf xxx.tar.gz
解压到指定目录:tar zxvf xxx.tar.gz -C target_dir/ (大写字母“C”)
文件压缩解压:bzip2
![c18cf15867fa487c089ade83f7c2f5bd.png](https://i-blog.csdnimg.cn/blog_migrate/e70336b7a1fde22d92d8d564055d8aac.jpeg)
bzip2压缩算法比gzip更优,所以现在bzip2命令也十分常用。
tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。
tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.bz2。
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法:tar -jcvf 压缩包包名 文件1 文件2...(例:tar jcvf bak.tar.bz2 *.c)
解压用法:tar -jxvf 压缩包包名 (例:tar jxvf bak.tar.bz2)
文件压缩解压:zip、unzip
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
压缩文件:zip [-r] 目标文件(没有扩展名) 源文件
文件:zip bak * 当前目录所有文件,也可以指定文件
文件夹:zip -r bak * 当前目录所有文件&目录递归
解压文件:unzip -d 解压后目录文件 压缩文件
解压到指定目录:unzip -d ./target_dir bak.zip
解压到当前目录:unzip bak.zip