绪论
在Linux系统中,为了节省空间,便于传输我们通常要借助压缩来达到相应的目的。压缩在文件传输,系统备份的场景中经常使用。本文将从三种压缩方法和具体的命令应用来介绍。
三种压缩方法
压缩有三种方法分别是:gzip,bzip2,xz.为了更加清楚地展示这三种压缩方法的区别,下面用表格来展示:
| 特性 | gzip | bzip2 | xz |
|---|---|---|---|
| 常用后缀 | .tar.gz / .tgz | .tar.bz2 | .tar.xz |
| tar选项 | -z | -j | -J(大写) |
| 压缩比 | 低(最快) | 中 | 高(最慢) |
| 压缩速度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐ |
| 解压速度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ |
| 适用场景 | 日常使用、网站资源 | 软件打包 | 源码发布、长期归档 |
| CPU占用 | 低 | 中 | 高 |
具体命令书写
明白了三种压缩方法的区别之后,我们来看具体的命令应该怎么写。在Linux中,命令分为命令+选项+参数三部分。压缩命令统一为tar,基本的命令格式为:
tar [选项] [压缩包名] [要压缩的文件/目录]
选择哪种压缩方法在选项中体现:-z = gzip,-j = bzip2,-J = xz(大写J)。所以:
# gzip 格式(最常用)
tar -czf backup.tar.gz /要打包的目录
# bzip2 格式(压缩比中等)
tar -cjf backup.tar.bz2 /要打包的目录
# xz 格式(压缩比最高,最慢)
tar -cJf backup.tar.xz /要打包的目录
选项中不仅能体现我们选择了什么压缩方法,还能体现我们到底在执行什么操作,常见的选项如下:
| 选项 | 作用 | 举例 |
|---|---|---|
-c | 创建归档 | tar -c |
-x | 解压归档 | tar -x |
-f | 指定文件名 | -f backup.tar.gz |
-v | 显示详情 | -v(看到正在处理的文件) |
-t | 查看内容 | tar -tf backup.tar.gz |
-C | 指定解压目录 | tar -xzf backup.tar.gz -C /tmp |
举个例子:现在我们要创建名为/root/backup.tar.gz的tar包,用来压缩/usr/local目录,这个命令我们应该怎么写呢?
还是分成三部分看,命令,选项,参数。 命令为tar;选项这里选择-z(因为这里要求我们创建后缀为.gz的包),-c(因为此处要求我们创建),-f(这里需要指定文件名),-v(显示详情);最后是参数,压缩包名和要压缩的目录都已经告知我们,这里复制粘贴即可。所以最后的命令应该是:
tar czfv /root/backup.tar.gz /usr/local
最后可以使用以下命令查看是否有我们刚刚压缩的包
ll
感谢您读到这里!希望对您学习Linux压缩有帮助。第一次写博客,如果哪里有错误或可以改进的地方,非常欢迎您指出来,我会认真学习和修改!