gzip
这个 gzip 程序被用来压缩一个或多个文件。当执行 gzip 命令时,则原始文件的压缩版会替代原始文件。相对应的 gunzip 程序被用来把压缩文件复原为没有被压缩的版本。这里有个例子:
bzip2
由bzip2 压缩的文件,用扩展名.bz2 来表示:
归档文件
一个常见的,与文件压缩结合一块使用的文件管理任务是归档。归档就是收集许多文件,并把它们捆绑成一个大文件的过程。
tar
同步文件和目录
维护系统备份的常见策略是保持一个或多个目录与另一个本地系统(通常是某种可移动的存储设备)或者远端系统中的目录(或多个目录)同步。
rsync这个程序能同步本地与远端的目录,通过使用rsync 远端更新协议,此协议允许 rsync 快速地检测两个目录的差异,执行最小量的复制来达到目录间的同步。比起其它种类的复制程序,这就使 rsync 命令非常快速和高效。
这里 source 和 destination 是下列选项之一:
? 一个本地文件或目录
? 一个远端文件或目录,以 [user@]host:path 的形式存在
? 一个远端 rsync 服务器,由 rsync://[user@]host[:port]/path 指定
注意 source 和 destination 两者之一必须是本地文件。rsync 不支持远端到远端的复制
首先,清空我们的 foo 目录:
同步 playground 目录和它在 foo 目录中相对应的副本
我们包括了-a 选项(递归和保护文件属性)和-v 选项(冗余输出),来在 foo 目录中制作一个 playground 目录的镜像。当这个命令执行的时候,我们将会看到一系列的文件和目录被复制。在最后,我们将看到一条像这样的总结信息:
说明复制的数量。如果我们再次运行这个命令,我们将会看到不同的结果:
注意到没有文件列表。这是因为 rsync 程序检测到在目录 ~/playground 和 ~/foo/playground 之间不存在差异,因此它不需要复制任何数据。
使用 rsync 程序从我们的系统中复制最重要的数据到此外部硬盘上:
在这个例子里,我们把/etc,/home,和/usr/local 目录从我们的系统中复制到假想的存储设备中。我们包含了–delete 这个选项,来删除可能在备份设备中已经存在但却不再存在于源设备中的文件,(这与我们第一次创建备份无关,但是会在随后的复制操作中有用途)。
在网络间使用 rsync 命令
我们添加了--rsh=ssh 选项,其指示 rsync 使用 ssh 程序作为它的远程 shell。以这种方式,我们就能够使用一个 ssh 加密通道,把数据安全地传送到远程主机中。其次,通过在目标路径名前加上远端主机的名字(在这种情况下,远端主机名为 remote-sys),来指定远端主机。