在我们之前的教程中,我们讨论了如何使用gzip和bzip2压缩和解压缩文件。在本教程中,我们将学习如何在Linux中归档文件。归档和压缩之间有什么区别吗?你们中的一些人可能经常认为这些术语具有相同的含义。然而,两者是完全不同的。归档是将多个文件和目录(大小相同或不同)组合成一个文件的过程。另一方面,压缩是减小文件或目录大小的过程。存档通常用作系统备份的一部分,或者当数据从一个系统移动到另一个系统时。希望您了解归档和压缩之间的区别。现在,让我们进入正题。归档文件和目录最常用的归档文件和目录的程序是:tarzip这是一个很大的话题,所以我将把这篇文章分成两部分。在***部分,我们将看到如何使用tar命令来归档文件和目录。使用tar命令归档文件和目录Tar是一个Unix命令,代表磁带归档。它用于将多个文件(相同或不同大小)组合或存储到一个文件中。tar实用程序中有4种主要操作模式。c-从文件或目录创建存档x-提取存档r-将文件附加到存档t-列出存档的内容请参阅手册页以获取完整的模式列表。创建新存档对于本指南,我将使用一个名为ostechnix的文件夹,其中包含三种不同类型的文件。$lsostechnix/file.odtimage.pngsong.mp3现在,让我们为ostechnix目录创建一个新的tar存档。$tarcfostechnix.tarostechnix/这里,c标志表示创建一个新的存档,f是指定存档文件。类似地,要在当前工作目录中创建一组文件的存档,请使用以下命令:$tarcfarchive.tarfile1file2file3解压存档要在当前目录中解压存档,只需执行以下命令:$tarxfostechnix.tar我们还可以使用C标志(大写C)将存档解压缩到不同的目录中。例如,以下命令将存档提取到下载目录中。$tarxfostechnix.tar-CDownloads/或者,转到Downloads文件夹并提取存档,如下所示。$cdDownloads/$tarxf../ostechnix.tar有时,您可能想要提取特定类型的文件。例如,以下命令提取类型为“.png”的文件。$tarxfostechnix.tar--wildcards"*.png"创建gzip和bzip格式的压缩档案tar默认创建以.tar结尾的档案。此外,tar命令可以与压缩实用程序gzip和bzip结合使用。以.tar扩展名结尾的文件使用纯tar来归档文件,以tar.gz或.tgz结尾的文件使用gzip来归档和压缩文件,以tar.bz2或.tbz结尾的文件使用bzip来归档和压缩文件。首先,让我们创建一个gzip存档:$tarczfostechnix.tar.gzostechnix/或者:$tarczfostechnix.tgzostechnix/这里我们使用z标志使用gzip压缩方法压缩存档。您可以在创建存档时使用v标志查看进度。$tarczvfostechnix.tar.gzostechnix/ostechnix/ostechnix/file.odtostechnix/image.pngostechnix/song.mp3这里,v表示显示进度。从文件列表创建gzip存档:$tarczfarchive.tgzfile1file2file3要在当前目录中提取gzip存档,请使用:$tarxzfostechnix.tgz要提取到不同的文件夹,请使用-C标志:$tarxzfostechnix.tgz-CDownloads/现在,让我们创建bzip存档。为此,请使用下面的j标志。创建目录的存档:$tarcjfostechnix.tar.bz2ostechnix/或$tarcjfostechnix.tbzostechnix/从列表文件创建存档:$tarcjfarchive.tar.bz2file1file2file3或$tarcjfarchive.tbzfile1file2file3要显示进度,请使用v标志。现在,在当前目录中,我们提取一个bzip存档。执行此操作:$tarxjfostechnix.tar.bz2或者,将存档解压缩到另一个目录:$tarxjfostechnix.tar.bz2-CDownloads一次创建多个目录和/或文件的存档很酷的功能。要同时创建多个目录或文件的gzip存档,请使用以下文件:$tarczvfostechnix.tgzDownloads/Documents/ostechnix/file.odt上述命令创建Downloads、Documents目录和文件的存档。ostechnix目录下的.odt文件,并将存档保存在当前工作目录中。创建存档时跳过目录和/或文件。这在备份数据时很有用。您可以从备份中排除不重要的文件或目录,这就是--exclude选项可以提供的帮助。例如,您想要创建/home目录的存档,但不想包括下载、文档、图片、音乐目录。我们是这样做的:$tarczvfostechnix.tgz/home/sk--exclude=/home/sk/Downloads--exclude=/home/sk/Documents--exclude=/home/sk/Pictures--exclude=/home/sk/Music以上命令将为我的$HOME目录创建一个gzip存档,不包括下载、文档、图片和音乐目录。要创建bzip存档,请将z替换为j,并在上例中使用扩展名.bz2。列出档案而不提取它们要列出档案的内容,我们使用t标志。$tartfostechnix.tarostechnix/ostechnix/file.odtostechnix/image.pngostechnix/song.mp3要查看详细输出,请使用v标志。$tartvfostechnix.tardrwxr-xr-xsk/users02018-03-2619:52ostechnix/-rw-r--r--sk/users99422018-03-2413:49ostechnix/file.odt-rw-r--r--sk/用户360132015-09-3011:52ostechnix/image.png-rw-r--r--sk/用户1123832018-02-2214:35ostechnix/song.mp3将文件附加到档案或目录可以使用r标志添加/更新到现有档案。看看下面的命令:$tarrfostechnix.tarostechnix/sk/example.txt上面的命令将一个名为sk的目录和一个名为example.txt的目录添加到ostechnix.tar存档中。您可以使用以下命令验证文件是否已添加:$tartvfostechnix.tardrwxr-xr-xsk/users02018-03-2619:52ostechnix/-rw-r--r--sk/users99422018-03-2413:49ostechnix/file.odt-rw-r--r--sk/用户360132015-09-3011:52ostechnix/image.png-rw-r--r--sk/用户1123832018-02-2214:35ostechnix/song.mp3drwxr-xr-xsk/用户02018-03-2619:52sk/-rw-r--r--sk/用户02018-03-2619:39sk/linux.txt-rw-r--r--sk/users02018-03-2619:56example.txtTL;DR创建tar存档:普通tar存档:tar-cfarchive.tarfile1file2file3Gziptararchive:tar-czfarchive.tgzfile1file2file3Bziptararchive:tar-cjfarchive.tbzfile1file2file3extracttararchive:normaltararchive:tar-xfarchive.tarGziptararchive:tar-xzfarchive.tgzBziptararchive:tar-xjfarchive.tbz我们只介绍了tar命令的基本用法,这足以开始使用tar命令。但是,如果您需要更多详细信息,请参阅手册页。$mantar好了,就这些了。在下一节中,我们将了解如何使用Zip实用程序来归档文件和目录。
