文件压缩
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内的文件结构