目录
一、压缩命令:gzip
说明:Linux压缩文件为.gz(gzip)格式
语法:gzip [选项] 文件名/目录
选项:
-r:可以将目录下的文件递归压缩
-l:显示已经压缩文件的压缩信息
-d:解压缩
Eg:
gzip aa.c 压缩aa.c文件
gzip -d aa.c.gz 解压aa.c.gz
gzip -r a 递归压缩a文件夹,将a文件夹中的所有文件进行压缩,文件夹没有变化
gzip -dr a 递归解压a文件夹中所有的文件
注意:
gunzip aa.c.gz 也可以解压扩展名是.gz的文件
gzip 只针对文件,文件夹无变化
二、更高的压缩效率指令:bzip2
说明:压缩文件为.bz2的格式
语法:bzip2 [选项] 文件名/目录
选项:
-k:保留原文件
-d:解压缩
-f:覆盖解压(文件夹中有同名文件,用解压出来的文件覆盖同名文件)
注意:bunzip2 -df a.txt.bz2 也可以解压缩扩展名是.bz2的文件
总结:
gzip和bzip2的区别:
gzip可以压缩文件夹中的所有文件,bzip2不可以
与gzip相比,bzip2有更高的压缩效率
gzip和bzip2压缩指令不能混用,主要通过压缩文件的扩展名区分
三、压缩文件或文件夹:zip
说明:压缩后的扩展名为.zip
语法:zip [选项] 压缩后的文件名 文件名/目录
选项:
-r:递归压缩,用于对文件夹的操作
注意:不带选项会保留原文件
Eg:
zip love.zip love2.txt 压缩love2.txt并命名为love.zip
unzip love.zip 解压缩love.zip
zip a.zip a 压缩目录a并命名为a.zip
unzip a.zip 解压缩a.zip
zip -r a2.zip a 递归压缩目录a并命名为a2.zip
unzip -r a2.zip 递归解压缩a2.zip
zip ./my/love.zip love2.txt 压缩文件到./my目录下
注意:当解压缩时,如果有同名文件或同名文件夹,会有提示让用户选择覆盖方式:
y:覆盖文件
n:不覆盖文件
A:覆盖文件夹
N:不覆盖文件夹
r:重命名
四、打包并压缩指令:tar
语法:tar [选项] 产生的文件名称 被压缩的文件或文件夹列表(用空格隔开)
选项:
-c:打包
-v:显示命令执行的过程
-f:用于指定打包文件的名称
-z:打包时压缩/解包同时解压缩,所以操作的文件扩展名为gz(gz说明是用的gzip)
-x:解包
-j:与-z类似,不过使用的是bzip2指令,扩展名为.bz2
Eg:
tar -cvf love.tar love2.txt love.txt 将love2.txt和love.txt两个单独文件进行打包并压缩到 love.tar中
tar -xvf love.tar 解包love.tar中的love2.txt和love.txt
总结:
*.tar:用tar -xvf解包
*.gz:用gzip -d 解压缩
*.tar.gz和 *.tgz:用tar -xvzf解压
*.bz2:用bzip2 -d解压
*.tar.bz2:用 tar -xvjf解包
*.zip:用unzip解压