压缩解压命令
毕竟Linux常用情况是字符界面,没有花花绿绿的软件供你使用,在这里你能使用的只有原汁原味的底层命令,让你体会什么叫真手动压缩。
tar命令
压缩和解压都是这一个命令,根据选项的不同,能实现不同的功能,就好比你去点菜一样。tar命令给你准备了三份套餐,分别是:
- 压缩(-c,compress):对文档,目录进行打包操作,并没有压缩
- 解压(-x,extract):对文档,目录进行解包操作
- 查看(-t,list):查看压缩包或普通包里的文件名
# a.txt b.txt c.txt d.txt
tar -cv -f a.tar a.txt b.txt # 仅把a.txt和b.txt包装起来,没有压缩
tar -xv -f a.tar -C /tmp/ # 把普通包拆开,可以用-C设置放置目录
tar -t -f a.tar # 查看包里有什么文件
选了套餐后就需要选套餐里的内容了,也就是压缩或解压使用的算法,分别是:
- gzip(-z):后缀名为.tar.gz,后缀名非硬性要求,建议这么做,下同。压缩率最低,速度快,常用
- bzip2(-j):后缀名为.tar.bz2,压缩率高,速度较慢
- xz(-J):后缀名为.tar.xz,压缩率超高,速度很慢,看情况使用
剩余两个常用的参数:
- -v:在处理的时候,显示正在处理的文件名
- -f:用于指定压缩后的文档名,或者是欲解压的文档名
具体命令
# a.txt b.txt c.txt
# 压缩
tar -czv -f wtf.tar.gz a.txt b.txt
# 查看
tar -t -f wtf.tar.gz
# 当前目录解压,用什么算法压缩的就用相同的算法解压
tar -xzv -f wtf.tar.gz
# 解压到指定目录
tar -xzv -f wtf.tar.gz -C /tmp/
# 解压包里的某一个文件
tar -xzv -f wtf.tar.gz a.txt
# 排除目录下的文件不打包
tar -xzv -f wtf.tar.gz --exclude=/root/etc* /root/