20. bash 归档和备份

1.gzip

gzip 程序用来压缩文件,原文件的压缩版(添加gz后缀名)会替代原文件。gunzip 程序用来还原压缩版本。

gzip foo.txt
gunzip foo.txt.gz

gzip的参数如下。

  • -c 把输出写入到标准输出,并且保留原始文件。也有可能用–stdout 和–to-stdout 选项来指定。
  • -d 解压缩。正如 gunzip 命令一样。也可以用–decompress 或者–uncompress 选项来指定.
  • -f 强制压缩,即使原始文件的压缩文件已经存在了,也要执行。也可以用–force 选项来指定。
  • -h 显示用法信息。也可用–help 选项来指定。
  • -l 列出每个被压缩文件的压缩数据。也可用–list 选项。
  • -r 若命令的一个或多个参数是目录,则递归地压缩目录中的文件。也可用–recursive 选项来指定。
  • -t 测试压缩文件的完整性。也可用–test 选项来指定。
  • -v 显示压缩过程中的信息。也可用–verbose 选项来指定。
  • -number 设置压缩指数。number 是一个在1(最快,最小压缩)到9(最慢,最大压缩)之间的整数。 数值1和9也可以各自用–fast 和–best 选项来表示。默认值是整数6。

下面是一些例子。

# 查看解压缩后的内容
gunzip -c foo.txt | less

zcat程序等同于带有-c 选项的 gunzip 命令。它可以像cat命令那样,用来查看gzip压缩文件。

zcat foo.txt.gz | less

2.bzip2

bzip2程序与gzip程序相似,但是使用了不同的压缩算法,舍弃了压缩速度,实现了更高的压缩级别。在大多数情况下,它的工作模式等同于gzip。 由bzip2压缩的文件,用扩展名.bz2表示。

bzip2 foo.txt
bunzip2 foo.txt.bz2

gzip程序的所有选项(除了-r),bzip2 程序同样也支持。同样有 bunzip2 和 bzcat 程序来解压缩文件。bzip2 文件也带有 bzip2recover 程序,其会 试图恢复受损的 .bz2 文件。

3.zip

zip程序既是压缩工具,也是一个打包工具,读取和写入.zip文件。

zip options zipfile file...

它的用法如下。

# 将指定目录压缩成zip文件
zip -r playground.zip playground

ziptar命令有一个相反之处。如果压缩文件已存在,其将被更新而不是被替代。这意味着会保留此文件包,但是会添加新文件,同时替换匹配的文件。

解压使用unzip命令。

unzip ../playground.zip

unzip命令的参数如下。

  • -l 列出文件包中的内容而不解压
  • -v 显示冗余信息
  • -p 输出发送到标准输出
unzip -p ls-etc.zip | less

4.tar

tar是tape archive的简称,原来是一款制作磁带备份的工具,现在主要用于打包。一个 tar 包可以由一组独立的文件,一个或者多个目录,或者两者混合体组成。

tar程序的语法如下。

tar mode[options] pathname...
作者:余识
全部文章:0
会员文章:0
总阅读量:0
c/c++pythonrustJavaScriptwindowslinux