首页 > linux > common > 9.Linux压缩和解压缩

9.Linux压缩和解压缩

在linux系统中,可以通过tar命令来对文件和目录进行压缩和解压缩.tar是最常用的压缩和解压缩命令, 还有gz, bzip2, zip, unzip等压缩和解压缩的命令.

1 tar命令

linux中tar命令是一个常用命令.可以将目录或者文件压缩为.tar.gz格式文件, 也可以解压缩这个格式的文件.tar命令可以将文件打包也可以解包, 在linux中更多的用于压缩和解压文件.tar命令打包和解包示例:

tar -cf archive.tar foo bar  # 将 foo and bar文件打包为archive.tar
tar -tvf archive.tar         # 详细列出archive.tar中的文件
tar -xf archive.tar          # 解包archive.tar文件

1.1 tar命令中与压缩和解压缩相关的参数

tar命令可以用来压缩和解压缩多种格式的文件也可以指定其他的命令比如bzip2,gzip,compress等过滤压缩文件.tar命令中涉及到压缩和解压的参数如下:

-a, --auto-compress                使用压缩文件后缀来确定压缩程序
-I, --use-compress-program=PROG 通过PROG过滤(必须接受-d)
-j, --bzip2                        通过bzip2过滤档案
-J, --xz                          通过xz过滤档案
  --lzip                         通过lzip过滤档案
  --lzma                         通过xz过滤档案
  --lzop                         通过xz过滤档案
  --no-auto-compress             不使用压缩文件后缀来确定压缩程序
-z, --gzip, --gunzip, --ungzip  通过gzip过滤档案
-Z, --compress, --uncompress       通过compress过滤档案

1.2 tar压缩文件和目录

tar命令解压缩文件的命令格式:

tar zxvf 文件名.tar.gz 目标目录

tar压缩文件的命令示例:

tar zcvf 大屎蛋教程网.tar.gz 大屎蛋教程网

1.3 tar压缩多个文件

tar命令压缩多个文件的命令格式示例:

tar zcvf 大屎蛋教程网.tar.gz 大屎蛋教程网1 大屎蛋教程网2 大屎蛋教程网3 ...

1.4 tar命令解压文件

tar命令可以将压缩文件解压到当前目录或者指定目录.

  • tar命令解压文件到当前文件夹 tar命令后边加上"zxvf"参数加上需要解压的文件名, 解压缩到当前目录.命令示例:
tar zcvf 需要解压缩的文件.tar.gz
  • tar命令解压到指定文件夹 tar命令加上"-C"参数后面跟上文件夹, 来设置解压到指定目录,命令示例:
tar zxvf 需要解压缩的文件.tar.gz -C /大屎蛋教程网

这个目录必须存在或者提前创建好, 如果目标目录不存在, 会报错提示以下信息:

tar: vpn11: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

这个提示表示目录不存在,通过"mkdir"命令创建好目录,再解压就可以了.

1.5 .tar.bz及.tar.bz2格式文件压缩和解压缩

linux中可以通过"tar"命令加上"jcvf"参数将文件压缩为".tar.bz2"或者".tar.bz2"格式的文件, 加上"jxvf"参数来解压缩.以bz2格式为例.

压缩为tar.bz2:

tar jcvf 大屎蛋教程网.tar.bz2 大屎蛋教程网

tar.bz2格式解压:

tar jxvf 大屎蛋教程网.tar.bz2

2 gz格式文件压缩和解压缩

linux中可以通过gzip命令将文件压缩为gz格式的文件, gunzip命令来解压缩gz格式的文件.

2.1 gzip压缩为gz格式

gzip 大屎蛋教程网

2.2 gunzip解压gz格式文件:

gunzip 大屎蛋教程网.gz

3 bz2格式文件压缩和解压缩

linux中可以通过bzip2命令将文件压缩为bz2格式的文件, bunzip2命令来解压缩gz格式的文件.

3.1 bzip2命令压缩为gz格式

bzip2 -z 大屎蛋教程网

3.2 bz2格式解压

  • 通过bzip2命令解压bz2示例
bzip2 -d 大屎蛋教程网.bz2
  • 通过bunzip2命令解压bz2示例
bunzip2 大屎蛋教程网.bz2

4 zip格式文件压缩和解压缩

zip压缩格式是windows中常用的文件格式, windws中可以通过可视化压缩工具winrar来压缩/解压文件.linux默认不支持zip格式, linux系统可以安装"zip"和"unzip"命令,分别来压缩和解压缩"zip"格式文件.

4.1 linux系统安装zip和unzip命令

  • unbuntu中安装zip和unzip命令:
apt-get install zip
apt-get install unzip
  • Centos中安装zip和unzip命令
yum install zip
yum install unzip

4.2 zip命令格式

zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]

4.3 zip主要命令参数

在shell控制台数组zip按回车会显示zip命令支持的全部参数, 我将部分常用参数拿出来翻译一下:

-C:压缩文件中的文件名称区分大小写
-j:不处理压缩文件中原有的目录路径
-L:将压缩文件中的全部文件名改为小写
-M:将输出结果送到more程序处理
-n:解压缩时不要覆盖原有的文件
-o:不必先询问用户,unzip执行后覆盖原有文件
-P<密码>:使用zip的密码选项
-q:执行时不显示任何信息

4.4 zip压缩和解压缩命令示例

  • zip命令压缩文件示例:
zip 大屎蛋教程网.zip 大屎蛋教程网
  • unzip命令解压文件示例:
unzip 大屎蛋教程网.zip
转载请保留原文链接.