不管在windows中还是在linux中,我们会经常看到各种压缩的文件,此刻我们需要使用就得解压,在这就介绍介绍linux中解压、压缩的命令。
在做实验之前,我们先创建几个文件,大小都是100M,方便我们更能清晰理解。
一、compress【选项】file(不是太常用,而且tab键还不能补齐)
①compress file 压缩文件,其中我们可以看到compress压缩的文件是.Z结尾的压缩包。
② -d file 解压文件,但压缩文件会丢失,相当于uncompress
在这我们可以看到,不管是压缩还是解压,原文件都没了,那此刻是否想到我想要既压缩或者解压都想要原文件存在,那下面就是喽。
③-c file 结果输出至标准输出,不删除原文件
哇,压缩过后原来100M的文件就只有23K了,这个压缩有点厉害啊,嘿嘿,厉害的还在后面呢,这只是开胃小菜。
④-v file就是过错可见,但是一般配合d、c来使用。
二、gzip【选项】file (常用,tab键能补齐)
①gzip file压缩文件,可以看到是gzip是以.gz结尾的压缩文件。
②-d file 解压文件,但压缩文件会丢失,相当于gunzip。
③-c将压缩或解压缩的结果输出至标准输出
④-v过程可见。
三、bzip2 【选项】file (常用,tab键能补齐)
①bzip2 file压缩文件,可以看出bzip2是以.bz2结尾的压缩文件。
②-d 解压缩文件,但是压缩文件会丢失.相当于bunzip2
③-c将压缩或解压缩的结果输出至标准输出
④-k keep保留原文件。
此处,我们复a3改名为a3.sh,然后-k可以看到压缩后原文件也在,这个实验可以看出-k和-c将压缩或解压缩的结果输出至标准输出完全一样。
⑤-v过程可见。
⑥-# 1-9,默认压缩比是9,数越大压缩等级越高,文件越小。
四、xz【选项】file (不常用,能用tab键补齐)
①xz file 压缩文件,是以.xz结尾的压缩文件,原文件会丢失。
②-d解压缩,相当于unxz,压缩文件会丢失。
③-c将压缩或解压缩的结果输出至标准输出
④-k: keep, 保留原文件和-c将压缩或解压缩的结果输出至标准输出完全一样。
⑤-#:1-9,压缩比,默认为6
总结规律:从上面实验中可以看到compress、gzip、bzip2、xz的选项基本都是一样的,不同的就是压缩后的结尾后缀不同,在学习中要学会善于总结规律,这样会让你事半功倍。
五、zip 【选项】file.zip file
①zip file.zip file 是以.zip结尾的压缩文件。在同一目录下压缩,原文件不会丢失。
②-r 递归压缩。
③unzip解压。
六、tar
①-cf 创建包名字 原文件(可以指定多个)
②-tf 包名字 显示包中的文件名
-tvf 详细显示包中的文件名
③-rf 包名字 新文件名(可以指定多个)追加文件到压缩包,但不能追加压缩文件
④--delete -f 包名字 被删除的文件名(可以指定多个)
⑤-xf 包名字 解出所有的文件到当前目录
-C 解包到指定目录
-v 显示过程
⑥-Jcf 创建包的名字(.tar.xz) 原文件(可以指定多个) 打包并用xz压缩
-jcf 创建包的名字(.tar.bz2) 原文件(可以指定多个) 打包并用bzip压缩
-zcf 创建包的名字(.tar.gz) 原文件(可以指定多个) 打包并用gzip压缩
上面三个举一个例子试验一下:
⑦-T 指定个列表,包含需要被打包的文件,以换行符为间隔
-X 指定个排除列表,以换行符为间隔
例如:
tar zcvf mybackup.tgz -T /root/includefilelist -X /root/excludefilelist
⑧分割大的 tar 文件为多份小文件:
例如:split –b Size –d tar-file-name prefix-name 将tar包分隔为多个文件
⑨合并:cat 被分隔出的多个文件名 > 单个文件名