文件压缩
zip
压缩文件
shell
zip targetFile.zip sourceFile
示例:
shell
zip target.zip source.txt
压缩目录
-r
表示递归遍历文件夹,包括子文件夹和文件,将它们一起压缩到目标ZIP
文件中
shell
zip -r targetFile.zip sourceFile
解压缩文件
shell
unzip source.zip
gzip
gzip
可以将文件压缩的更小gzip
不支持压缩目录
压缩单个文件
将
a.txt
压缩为.gz
格式的压缩文件,源文件a.txt会被删除
shell
gzip sourceFile
# 例如
gzip a.txt
将
a.txt
压缩为.gz
格式的文件,源文件不会被删除
shell
gzip -c sourceFile > targetFile
# 例如
gzip -c a.txt > a.txt.gz
压缩目录下的所有文件
shell
gzip -r dirname
压缩
file
目录下的每个子文件
,并删除原文件
,当前目录无变化
- 压缩前目录结构
shell
file1
├── 1.txt
├── B
│ └── b.txt
├── C
│ ├── 3.txt
│ ├── C1
│ └── D
│ └── 6.txt
└── E
如上目录,在
file1
的上级目录执行gzip -r file1
,执行后结果如下:
- 压缩前目录结构
shell
file1
├── 1.txt.gz
├── B
│ └── b.txt.gz
├── C
│ ├── 3.txt.gz
│ ├── C1
│ └── D
│ └── 6.txt.gz
└── E
解压缩
解压缩文件,
不保留原文件
shell
gzip -d gzipFile
# 或者
gunzip gzipFile
例子:
shell
gzip -d a.txt.gz
gunzip a.txt.gz
TIP
gzip -d
命令只能用于解压缩gzip格式
的文件gunzip
命令只能用于解压缩gzip
格式的文件
tar
打包命令
tar
打包
tar
命令的基本用法是将一组文件和目录打包成一个单一的文件tar
命令只打包不压缩
,打包后原文件也会保留
shell
tar -cvf targetFileName [file1, file2, dir1, dir2...]
-c
打包文件-v
显示打包过程-f
指定打包后的文件名
shell
# 会将a文件打包为一个a.tar文件
tar -cvf a.tar a
# 会将多个文件打包为一个a.tar文件
tar -cvf a.tar a b/1.txt c
解压 tar
文件
shell
tar -xvf filename.tar
-x
:解包(解压缩)归档文件的内容
tar.gz
压缩格式
zip
可以压缩目录但压缩效率不高
,gzip
压缩效率高
但不支持目录
可以将
文件/目录
先打包为.tar
格式,再压缩为.gz
格式-z
:表示使用gzip
进行压缩。-c
:压缩
为.tar.gz
格式-x
:解压缩
格式为.tar.gz
的文件
打包并压缩
将文件先打包为
.tar
格式,再压缩为.gz
格式
shell
tar -zcvf a.tar.gz [file1, file2, dir1, dir2...]
解压缩
解压
filename.tar.gz
文件
shell
tar -zxvf filename.tar.gz
解压.rar
文件
先下载
rar
包,下载完成后可以使用rar
命令和unrar
命令
shell
brew install rar
unrar
TIP
参数:
e
:将文件解压缩到当前目录(会把所有的文件列出来,去掉了外层文件夹)l/lb
:列出档案x
:将文件解压到当前目录(解压包含了文件中的文件夹)
shell
unrar e xxx.rar dir/ // 会把所有的文件列出来,去掉了外层文件夹
unrar x xxx.rar // (推荐使用这个)解压包含了文件中的文件夹
unrar l xxx.rar // 列出xxx.rar内的文件结构
unrar lb xxx.rar // 列出xxx.rar内的文件结构