linux - 压缩命令
常用的压缩格式:.zip .gz .bz2 .tar.gz .tar.bz2
.zip格式压缩
zip 压缩文件名 源文件 (压缩文件)
zip -r 压缩文件名 源目录 (压缩目录)
unzip 压缩文件(解压缩.zip文件、目录)
windows下的zip文件也可以拿到linux中解压,是通用的
压缩文件名是否一定带后缀名(.zip),是不需要的,因为linux是不严格区分扩展名,加上.zip方便我们管理查看
压缩文件比源文件还大,这是为什么呢,因为源文件很小,压缩也有自己的格式,所以加一起比源文件大。
gzip abc (源文件abc会消失,出现新文件abc.gz 系统默认带上.gz后缀)
那么我们能不能不删除源文件呢?gzip命令本身是做不到的,但是我们可以做到
gzip -c abc 表示把压缩文件结果输出到屏幕上,源文件不变, > abc.gz 输出到abc.gz中,这样源文件就不变的情况下,压缩结果在新的gz里,源文件不会被删除。
gzip -r 需要压缩目录名 ,会把该目录下所有子文件都压缩,但是自己这个目录是不会压缩
gzip -d 压缩文件 或者 gunzip 压缩文件 来解压缩文件
gunzip -r 压缩目录 ,解压压缩目录,本身没变化,子目录都会解压完后
.bz2格式压缩 不能压缩目录
.bzip2 源文件 (压缩为bz2格式压缩文件,不保留源文件)
.bzip2 -k 源文件(压缩为bz2格式压缩文件,保留源文件)
.bzip2 -d 压缩文件 (解压缩为bz2格式的压缩文件,不保留源压缩文件,加
-k 保留源压缩文件)
.bunzip2 压缩文件 (解压缩为bz2格式的压缩文件,不保留源压缩文件,加
-k 保留源压缩文件)
tar -cvf 打包文件名
源文件
选项:-c 打包;-v显示过程;-f显示打包后的文件名
例如:tar -cvf abc.tar abc
先打包在压缩就可以让gz ,bz2对目录进行压缩操作
tar -xvf 打包文件名 源文件
选项:-x 解打包;-v显示过程;-f显示打包后的文件名
例如:tar -xvf abc.tar
这样我们很麻烦,需要打包再压缩,我们可以使用更方便的办法
tar -zcvf 压缩包名.tar.gz 源文件 (直接压缩为.tar.gz格式的压缩包)
选项:-z 压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz (直接解压缩.tar.gz格式的压缩包)
tar -jcvf 压缩包名.tar.bz2 源文件 (直接压缩为.tar.bz2格式的压缩包)
选项:-j 压缩为.tar.bz2格式
tar -jxvf 压缩包名.tar.bz2 (直接解压缩.tar.bz2格式的压缩包)
我们还可以指定解压缩位置 ;.tar.gz 和 .tar.bz2 都可以
tar -jxvf 压缩包名.tar.bz2 -C /tmp/ 接上大写的C
指定压缩位置
tar -jcvf /tmp/压缩包名.tar.bz2
源文件
同时压缩多个文件
tar
-jcvf /tmp/压缩包名.tar.bz2 源文件1 源文件2
只查看压缩包的内容,不解压缩包
tar -jtvf 压缩包名.tar.bz2