如何在 Linux 中归档文件和目录 [第 1 部分]

您所在的位置:网站首页 notability未归档文件如何归档 如何在 Linux 中归档文件和目录 [第 1 部分]

如何在 Linux 中归档文件和目录 [第 1 部分]

2024-06-25 21:07| 来源: 网络整理| 查看: 265

如何在 Linux 中归档文件和目录 [第 1 部分]

在之前的教程中,我们讨论了如何使用 gzip 和 bzip2 程序压缩和解压缩文件。今天,我们将学习如何在 Linux 中归档文件和目录。归档和压缩不是一样的吗?你们中的一些人可能经常认为这些术语指的是相同的含义。但是,两者完全不同。归档是将多个文件和目录(相同或不同大小)合并为一个文件的过程。另一方面,压缩是减小文件或目录大小的过程。归档通常用作系统备份的一部分或将数据从一个系统移动到另一个系统时使用。希望您了解归档和压缩之间的区别。现在,让我们进入主题。

Linux 中的归档文件和目录

归档文件和目录的最常见程序是:

柏油压缩

这是一个很大的话题。因此,我将分两部分发表这篇文章。在第一部分中,我们将了解如何使用 Tar 命令归档文件和目录。

使用 Tar 命令归档文件和目录

Tar 是一个 Unix 命令,代表 Tape Archive。它用于将多个文件(相同或不同大小)组合或存储到一个文件中。 tar 实用程序有 4 种主要操作模式。

c - 从文件或目录创建存档。x - 提取存档。r - 将文件附加到存档的末尾。t - 列出存档的内容。

有关模式的完整列表,请参阅手册页。

创建新档案

出于本指南的目的,我将使用名为 ostechnix 的文件夹,其中包含三种不同类型的文件。

$ ls ostechnix/ file.odt image.png song.mp3

现在,让我们在 ostechnix 目录中创建一个新的 tar 存档。

tar cf ostechnix.tar ostechnix/

这里,c标志指的是创建新存档,f指的是文件名。

同样,要从当前工作目录中的一组文件创建存档,请使用以下命令:

tar cf archive.tar file1 file2 file 3提取档案

要在当前目录中提取存档,只需执行以下操作:

tar xf ostechnix.tar

我们还可以使用 C 标志(大写 c)将存档提取到不同的目录中。例如,以下命令提取 Downloads 目录中给定的存档文件。

tar xf ostechnix.tar -C Downloads/

或者,转到“下载”文件夹并提取其中的存档,如下所示。

cd Downloads/tar xf ../ostechnix.tar

有时您可能想要提取特定类型的文件。例如,以下命令提取“.png”类型文件。

tar xf ostechnix.tar --wildcards "*.png"创建 gzip 和 bzip 压缩档案

默认情况下,Tar 创建以 .tar 扩展名结尾的存档文件。此外,tar 命令可以与压缩实用程序 gzip 和 bzip2 结合使用。以 .tar 扩展名结尾的文件指的是纯 tar 存档,以 tar.gz 或 .tgz 结尾的文件指的是 gzipped 存档,而以 tar.bz2 或 .tbz 结尾的 tar 文件分别指 bzipped 存档。

首先,让我们创建一个 gzip 压缩的存档:

tar czf ostechnix.tar.gz ostechnix/

或者,

tar czf ostechnix.tgz ostechnix/

在这里,我们使用 z 标志使用 gzip 压缩方法来压缩存档。

您可以使用 v 标志来查看创建存档时的进度。

$ tar czvf ostechnix.tar.gz ostechnix/ ostechnix/ ostechnix/file.odt ostechnix/image.png ostechnix/song.mp3

这里,v指的是详细的。

要从文件列表创建 gzip 压缩存档:

tar czf archive.tgz file1 file2 file3

要在当前目录中提取 gzip 压缩档案,请使用:

tar xzf ostechnix.tgz

要将存档提取到不同的文件夹中,请使用 -C 标志。

tar xzf ostechnix.tgz -C Downloads/

现在,让我们创建bzipped archive。

为此,请使用 j 标志,如下所示。

创建目录的存档:

tar cjf ostechnix.tar.bz2 ostechnix/

或者,

tar cjf ostechnix.tbz ostechnix/

从文件列表创建存档:

tar cjf archive.tar.bz2 file1 file2 file3

或者,

tar cjf archive.tbz file1 file2 file3

要显示进度,请使用 v 标志。

现在,让我们在当前目录中提取 bzipped 存档。为此,我们这样做:

tar xjf ostechnix.tar.bz2

或者,将存档解压到其他目录:

tar xjf ostechnix.tar.bz2 -C Downloads一次创建多个目录和/或文件的存档

这是 tar 命令的另一个最酷的功能。要一次创建多个目录或文件的 gzip 压缩存档,请使用以下命令:

tar czvf ostechnix.tgz Downloads/ Documents/ ostechnix/file.odt

上述命令将在 ostechnix 目录中创建 Downloads、Documents 目录和 file.odt 文件的存档并保存当前工作目录中的存档。

创建存档时排除目录和/或文件

这在备份数据时非常有用。您可以从备份中排除不重要的文件或目录。这就是 --exclude 开关发挥作用的地方。例如,您想要创建 /home 目录的存档,但排除下载、文档、图片、音乐目录。

这是我们的做法。

tar czvf ostechnix.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 标志。

$ tar tf ostechnix.tar ostechnix/ ostechnix/file.odt ostechnix/image.png ostechnix/song.mp3

要查看详细输出,请使用 v 标志。

$ tar tvf ostechnix.tar drwxr-xr-x sk/users 0 2018-03-26 19:52 ostechnix/ -rw-r--r-- sk/users 9942 2018-03-24 13:49 ostechnix/file.odt -rw-r--r-- sk/users 36013 2015-09-30 11:52 ostechnix/image.png -rw-r--r-- sk/users 112383 2018-02-22 14:35 ostechnix/song.mp3将文件附加到现有档案

可以使用 r 标志将文件或目录添加/更新到现有存档。看看下面的命令。

tar rf ostechnix.tar ostechnix/ sk/ example.txt

上面的命令会将名为 sk 的目录和名为 example.txt 的文件添加到 ostechnix.tar 存档中。

您可以使用命令验证文件是否已添加:

$ tar tvf ostechnix.tar drwxr-xr-x sk/users 0 2018-03-26 19:52 ostechnix/ -rw-r--r-- sk/users 9942 2018-03-24 13:49 ostechnix/file.odt -rw-r--r-- sk/users 36013 2015-09-30 11:52 ostechnix/image.png -rw-r--r-- sk/users 112383 2018-02-22 14:35 ostechnix/song.mp3 drwxr-xr-x sk/users 0 2018-03-26 19:52 sk/ -rw-r--r-- sk/users 0 2018-03-26 19:39 sk/linux.txt -rw-r--r-- sk/users 0 2018-03-26 19:56 example.txt长话短说

创建 tar 档案:

纯 tar 存档: tar -cf archive.tar file1 file2 file3Gzip 压缩的 tar 存档: tar -czf archive.tgz file1 file2 file3Bzip 压缩的 tar 存档: tar -cjf archive.tbz file1 file2 file3

提取 tar 档案:

纯 tar 存档: tar -xf archive.tarGzip 压缩的 tar 存档: tar -xzf archive.tgzBzip 压缩的 tar 存档: tar -xjf archive.tbz

我们刚刚介绍了 tar 命令的基本用法。开始使用 tar 命令就足够了。但是,如果您想了解更多详细信息,请参阅手册页。

man tar

现在就这些了。在下一部分中,我们将了解如何使用 Zip 实用程序归档文件和目录。

如何在 Linux 中归档文件和目录 - 第 2 部分


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3