文件的归档与压缩
1:用tar归档
tar命令可以对文件进行归档。他最初设计用来将数据存储在磁带上。tar可以将多个文件和文件夹保存为单个文件,同时还能保留多有的文件属性,如所有者,权限等。由tar创建的文件通常称为Tarball。在这则攻略里,我们将学习如何使用tar归档。
(a):用tar对文件进行归档:
$ tar -cf output.tar [SOURCES]
例如:
$ tar -cf output.tar file1 file2 file3 folder1..
使用选项-t列出归档文件中所包含的文件:
$ tar -tf archive.tar
file1
file2
工作原理:
命令中的-c代表"创建文件", -f代表"指定文件名"。我们可以在sources处指定目录或者文件名。也可以使用文件名列表或者诸如*.txt这类通配符来指定,命令执行完毕后,tar会将源文件归档为output,tar。
2:tar命令的其他特性
(a)向归档文件中添加文件
有时候,我们可能需要向已存在的归档文件再添加一些文件,这时可以使用追加选项-r。
要向一个已有的归档文件中添加一个文件:
$tar -rvf original.tar new_file
(b)创建一个其中包含有文本文件的归档:
$ tar -cf archive.tar hello.txt
(c)从归档文件中提取文件或文件夹
下面的命令将归档文件中的内容提取到当前目录中
下面的命令将归档文件中的内容提取到当前目录中
$ tar -xf archive.tar
选项-x表示提取。
使用-x时,tar命令将归档文件中的内容提取到当前目录。我们也可以用选项-C来指定需要将文件提取到哪个目录:
$ tar -xf archive.tar -C /path/to/extraction_directory
这个命令将归档文件的内容提取到指定目录中。他提取的是归档文件中的全部内容。我们可以通过将文件名指定为命令行参数来指定特定的文件:
$ tar -xvf file.tar file1 file4
上面的命令只提取file1和file4,忽略其他文件。
(4): 拼接两个归档文件
$ tar -Af file1.tar file2.tar
我们可以用-A选项轻松地合并多个tar文件。
假设我们现在有两个tar文件:file1.tar和file.tar。可以按照下面的方法将file2.tar的内容合并到file1.tar中:
(5)从归档文件中删除文件
我们可以用--delete选项从给定的归档文件中删除文件。例如:
$ tar -f archive.tar --delete file1 file2 ..
(6) 压缩tar归档文件
tar命令只能用来对文件进行归档,他并不具备压缩功能。出于这个原因,多数用户在使用归档文件时都会对文件采用某种形式的压缩,这样就能够显著减少文件的体积。归档文件通常被压缩成下列格式之一:
file.tar.gz
file.tar.bz2
file.tar.lzma
不同的tar选项可以用来指定不同的压缩格式:
-j指定bzip2格式
-z指定gzip格式
--lzma指定lzma格式。
这些格式会在随后专门讲解压缩技术的攻略中讨论。