4.压缩命令
对于数据压缩和解压在windows系统使用解压软件十分方便,在Linux中 Ubuntu等发行版也可通过图形化操作(提升)进行压缩/解压缩。但在某些发行版中没有对应图形化操作,需要使用命令行直接操作文件。
Linux常见的压缩格式有 : .tar.gz 、 .tgz 、 .tar.bz2 、.zip 、.tar.xz
4.1 tar命令
在Linux系统中自带两个压缩工具 gzip 、bzip2
(不能打包文件) ,一个打包工具tar
(无压缩操作) 需要将打包工具和压缩工具联合使用。
压缩命令
#语法
$ tar 参数 生成的压缩包的名字 需要压缩的文件
#生成的压缩包的名字 ,使用标准后缀
----------使用 gzip 方式 ,后缀格式: .tar.gz
----------使用 bzip2 方式 ,后缀格式: .tar.bz2
参数:
c:
创建压缩文件z:
使用gzip的方式进行压缩j:
使用bzip2的方式进行压缩v:
压缩过程中显示压缩信息f:
指定压缩包的名字
举例
#举例
liu@liu-Ubuntu:~/StutyLinux$ ls -l
总用量 36
-rwxrwxr-x 1 liu liu 15616 11月 20 16:09 demo1
-rw-rw-r-- 1 liu liu 2178 11月 20 16:09 demo1.cpp
-rwxrw-rw- 1 liu liu 13661 10月 20 10:02 pt.xlsx
#以gzip的方式进行压缩
liu@liu-Ubuntu:~/StutyLinux$ tar -czvf test.tar.gz * #压缩该文件架全部文件
demo1
demo1.cpp
pt.xlsx
解压命令
#语法
$ tar 参数 压缩包名 #默认解压在当前文件夹
#解压在指定文件夹
$ tar 参数 压缩包名 -C 解压目录
参数:
x:
创建压缩文件z:
使用gzip的方式进行压缩j:
使用bzip2的方式进行压缩v:
压缩过程中显示压缩信息f:
指定压缩包的名字
举例
#举例
liu@liu-Ubuntu:~/StutyLinux$ ls
aa demo1 demo1.cpp pt.xlsx test.tar.gz
liu@liu-Ubuntu:~/StutyLinux$ tar -xvzf test.tar.gz -C aa
demo1
demo1.cpp
pt.xlsx
4.2 zip压缩命令
zip 格式很常见,但是需要安装才能使用 ,压缩会自动添加后缀 .zip
#Ubuntu 安装
$ sudo apt install zip #压缩
$ sudo apt install unzip #解压缩
#CentOS 安装
$ sudo yum install zip #压缩
$ sudo yum install unzip #解压缩
压缩
如果需要压缩文件夹 需要添加 -r
#语法
$ zip [-r] 压缩包名 需要压缩的文件
#举例
liu@liu-Ubuntu:~/StutyLinux$ zip all demo1 demo1.cpp -r
adding: demo1 (deflated 67%)
adding: demo1.cpp (deflated 64%)
解压缩
对应 zip 格式
的文件解压缩,必须要使用 unzip 命令
,和压缩的时候使用的命令是不一样的。如果压缩包中的文件要解压到指定目录需要指定参数 -d, 默认是解压缩到当前目录中。
# 语法1: 解压到当前目录中
$ unzip 压缩包名
# 语法: 解压到指定目录, 需要添加参数 -d
$ unzip 压缩包名 -d 解压目录
#举例
$ unzip all.zip -d /temp
liu@liu-Ubuntu:~/StutyLinux$ unzip all.zip -d aa
Archive: all.zip
inflating: aa/demo1
inflating: aa/demo1.cpp
inflating: aa/pt.xlsx
4.3 rar 命令
rar 格式Linux中不常用 (Windows常用),通常文件在两系统中传输后,需要解压使用
rar需要安装
#Ubuntu 安装 YYDS
$ sudo apt install rar
$ sudo apt install unrar
#CentOS安装
#官网下载安装包 安装
压缩
如果需要压缩文件夹 需要添加 -r ,压缩会自动添加后缀 .rar
#压缩文件时需要添加 a ,压缩包名后会自动添加后缀 .rar
#压缩目录 -r
$ rar a 压缩包名 需要压缩的文件 -r
#举例
liu@liu-Ubuntu:~/StutyLinux/aa$ rar a demo ./* -r
解压
解压缩 .rar格式 需要添加 x
,默认解压在当前文件夹 ,如需要解压到指定目录 ,直接指定即可不用添加参数
#语法 默认解压当前文件夹
$ unrar -x all.rar #解压当前文件夹
$ unrar - x all.rar tmp/ #解压指定文件夹
#举例
liu@liu-Ubuntu:~/StutyLinux$ unrar x 牛.rar aa/
UNRAR 5.50 freeware Copyright (c) 1993-2017 Alexander Roshal
Extracting from 牛.rar
Extracting aa/demo1 OK
All OK
liu@liu-Ubuntu:~/StutyLinux$ ls aa
demo1
4.4 xz命令
.xz 格式 的压缩/解压缩相对比较麻烦 , 需要通过和 tar命令合并使用,需要xz压缩 , tar打包
压缩
# 语法:
# 第一步
$ tar cvf xxx.tar 要压缩的文件
# 第二步, 最终得到一个xxx.tar.xz 格式的压缩文件
$ xz -z xxx.tar
解压缩
# 语法:
# 第一步: 压缩包解压缩, 得到 xxx.tar
$ xz -d xxx.tar.xz
# 第二步: 将 xxx.tar 中的文件释放到当前目录
$ tar xvf xxx.tar