linux-学习教程-Linux打包和压缩

  • Post author:
  • Post category:linux




打包和压缩命令

tar:打包命令

zip: 压缩文件或目录

unzip:解压zip文件

gzip: 压缩文件或目录

gunzip:解压缩文件或目录

bzip:压缩文件(.bz2格式)

bunzip2 :bz2格式的解压缩命令


注意:在linux中,打包和压缩是不同概念

注意:tar是打包,gzip、bzip2就是压缩

注意:-f:使用档名,后面一定要跟文件名,不能加任何参数!!!

tar cjvf xxx.tar.bz2 xxx

Tar zcvf XXX.tar.gz XXXX

j 就是 bz

z 就是 gzip

bz 压缩比 gzip 高一点,xz . 7z(可以解决乱码问题)

-z : 是否同时具有gzip的属性?是否需要使用gzip压缩

-j:是否同时具有bzip2的属性?是否需要bzip2压缩



tar:用户打包命令

选项 功能
-c 将多个文件或目录进行打包
-f 指定包的文件名
-v 显示打包/解压文件过程
-x 对文件进行解压操作
-t 只查看tar包中有哪些文件或目录,不对tar包作解打包过程

tar命令可以打包多个文件或目录,只要用空格分开即可



zip: 压缩文件或目录

选项 功能
-r 递归压缩目录,及将指定目录下的所有文件以及子目录全部压缩
-m 将文件压缩之后,删除原始文件,相当于把文件移动压缩文件中
– v 显示详细的压缩过程信息
– u 更新压缩文件,即往压缩文件中添加新文件

zip test.zip install.log install.log.syslog

zip -r dir1.zip dir1



unzip:解压zip文件

选项 功能
-d 将压缩文件解压到指定目录下
-n 解压时不覆盖已经存在的文件
– o 解压时覆盖已经存在的文件,并且无需用户确认
-v 查看压缩文件的详细信息,包括压缩文件中包含的文件大小\文件名



gzip: 压缩文件或目录

选项 功能
-c 将压缩数据输出到标准输出中,并保存源文件
-r 递归压缩指定目录下以及子目录下的所有文件
-v 对于每个压缩和解压缩的文件,显示响应的文件名和压缩比
-I 对每一个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩毕,未压缩文件的名词



gunzip:解压缩文件或目录

选项 功能
-r 递归处理,解压缩指定目录下以及子目录下的所有文件
-c 把解压缩后的文件输出到标准输出设备
-f 强制解压缩文件
-l 列出压缩文件内容



bzip:压缩文件(.bz2格式)

选项 功能
-d 执行解压缩
-k bzip2在压缩或解压缩任务完成后,会删除原始文件,若要保留原始,可使用此选项
-f bzip2 在压缩或解压缩时,若输出文件与现有文件同名,默认不会覆盖现有文件,若使用此选项,则会强制覆盖现有文件。



bunzip2 :bz2格式的解压缩命令

选项 功能
-k 解压缩后,默认会删除原来的压缩文件。若要保存压缩文件,需使用此参数
-f 解压缩时,若输出的文件与现有文件同名是,默认不会覆盖现有的文件

只打包某些目录下的某一些文件

/home, /etc ,但不要 /home/dmtsai

[root@linux ~]# tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

只解压压缩里面的某一个文件

在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已

[root@linux ~]# cd /tmp

[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd

# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,

# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了

保存文件其权限,加上一个-p参数

tar -czvpf /tmp/etc.tar.gz /etc

将/ect/打包后直接解压在/tmp底下。而不产生档案

Cd /tmp

Tar -cvf – /ect | tar -xvf –



版权声明:本文为liucaixin2016原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。