压缩和解压
压缩:改变文件大小,整理文件,
-
压缩指令
-
Linux压缩文件尾部添加 .gz(zip)格式gzip
-
权限:所有人
gzip [选项] 文件/文件名
-
-r
: 文件夹可以将目录下的文件递归压缩,仅是技术实现,不是每一层产生压缩包 -
-l
: 显示已经压缩文件的信息 -
-d
: 解压缩gzip -r text(把文件夹中的文件压缩) 递归压缩,如果文件夹包含文件text.c,文件压缩后的名称text/text.c.gz gzip -dr text/text.c.gz 递归解压缩该文件夹 -------------------------------------------------------------- gzip text.c 压缩单文件,源文件删除 gzip -d text.c.gz 解压 -------------------------------------------------------------- gzip *.zip,*.c 批量压缩
gunzip解压
gunzip [选项] 文件/目录
-r
: 递归解压缩文件夹
-
-
更高效压缩
区别:
- gzip可以压缩文件夹中所有文件,bzip2不可以
- bzip2有更高的效率
- 不能混合使用,通过后缀区别
另类压缩
- 打包压缩,多个文件,后缀 .zip,使用.zip 压缩不会清源文件,解压时不会清理.zip文件,如果解压时有同名文件,会出现提示信息
- 权限:所有人
zip [选项] 压缩后的文件名 文件
unzip [选项] 压缩的文件名
-r
:递归压缩,文件夹操作 不带选项保留源文件
zip love.zip text.c 压缩单文件,名字为love.zip
unzip love.zip 解压
-----------------------------------------
zip love.zip text 压缩文件夹,仅仅压缩外层文件夹
zip -r love.zip text 递归压缩文件夹,内部压缩为zip文件
zip ./text/text.zip text.c
zip all.zip ./text/text.zip text.c.zip text2.c 多个文件夹打包并压缩
解压缩时,会提示同名文件选择处理
r
: 重命名解压后文件 rename
单文件处理
-
y
:覆盖文件,替换文件 yes -
n
:不覆盖文件,不解压同名文件 no多文件统一处理
-
A
:覆盖文件夹,所有文件 all -
N
:不覆盖文件夹 none
打包[压缩]指令 tar
被打包的文件不会删除,相当于复制打包;解压时,不提醒的同名文件会覆盖。
- 权限:所有人
tar [选项] 产生的文件名称, 被压缩的目录 (空格隔开)
- ==
-c
:==打包 -v
显示命令执行过程-f
:用于指定打包文件名称-z
:打包时压缩,解包是解压缩,扩展名 .gz(gzip)-x
: 解包-j
: 打包时压缩,解包是解压缩,使用bzip2,扩展名(bz2)
tar -cvf all1.tar textfile text.c 打包text.c textfile 到all1.tar,未压缩,保留源文件
tar -xvf all1.tar 解包all1.tar
--------------------------------------------------
tar -zcvf all2.tar.gz textfile text.c 打包压缩text.c textfile 到all2.tar.gz
tar -zxvf all2.tar.gz
------------------------------------------------
tar -jcvf all3.tar.bz2 textfile text.c 打包压缩text.c textfile 到all3.tar.bz2
tar -jxvf all3.tar.gz