0


Linux tar命令教程:文件打包和压缩的神器(附案例详解和注意事项)

Linux tar命令介绍

tar(Tape ARchive),用于在linux中打包和备份文件。它可以将多个文件和目录打包成一个tar文件,也可以从tar文件中提取文件和目录。此外,它还可以与gz,bzip2,xz等压缩工具结合使用,进行文件和目录的压缩和解压。

Linux tar命令适用的Linux版本

tar命令在各个Linux发行版中均通用。包括但不限于 Ubuntu、Debian、Fedora、CentOS、openSUSE、Arch Linux 等。针对不同的发行版,安装方法可能稍有不同。对于基于Debian的系统,可以使用apt-get命令;对于基于Red Hat的系统,可以使用yum命令(CentOS7)或dnf命令(CentOS8)。但实际上,大多数Linux发行版在安装时已经默认安装了tar命令。

[[email protected] ~]$ sudoapt-getinstalltar# Debian/Ubuntu[[email protected] ~]$ sudo yum installtar# CentOS 7[[email protected] ~]$ sudo dnf installtar# CentOS 8

Linux tar命令的基本语法

tar命令的基本语法为:

tar[主选项+辅选项][文件或目录]

在这里,主选项通常只能选择一个,用来指定tar命令进行的操作类型,比如创建新的归档文件、列出归档文件内容、从归档文件中提取内容等。辅选项可以为零或多个,用来指定主选项操作的具体方式。

Linux tar命令的常用选项或参数说明

选项描述-c创建新的归档文件-x提取文件-t列出归档文件内容-u添加文件-f指定文件名-v冗余输出-zgzip压缩或解压-jbzip2压缩或解压-Jxz压缩或解压-P绝对路径-C切换到指定目录–exclude排除文件

Linux tar命令实例详解

实例1:创建tar文件

[[email protected] ~]$ tar-cvf archive.tar file1 file2

在上述示例中,我们使用

-c

选项创建一个新的tar归档,

-v

选项让tar在创建归档时显示有关其进度的信息,

-f

选项后面跟着我们想要创建的归档的名称,最后是我们想要添加到归档中的文件名。

实例2:从tar文件中提取文件

[[email protected] ~]$ tar-xvf archive.tar

在这个示例中,我们使用

-x

选项从一个归档中提取文件,

-v

选项显示提取过程的信息,

-f

选项后跟着包含我们想要提取的文件的归档的名称。

实例3:创建压缩的tar文件

在Linux中,tar命令可以用来压缩文件。可以使用’z’选项,通过gzip进行压缩;或者使用’j’选项,通过bzip2进行压缩。下面是创建.gz和.bz2压缩文件的示例。

[[email protected] ~]$ tar-cvfz archive.tar.gz file1 file2
[[email protected] ~]$ tar-cvfj archive.tar.bz2 file1 file2

在上述示例中,我们使用‘c’选项创建一个新的tar归档,‘v’选项让tar在创建归档时显示有关其进度的信息,‘f’选项后面跟着我们想要创建的归档的名称,‘z’或‘j’选项指示tar命令用gzip或bzip2进行压缩,最后是我们想要添加到归档中的文件名。

实例4:从压缩的tar文件中提取文件

提取压缩的tar文件与提取tar文件基本相同,只是需要额外指明被解压的文件是gzip还是bzip2压缩的。使用’z’选项提取.gz文件,或者使用’j’选项提取.bz2文件。例如:

[[email protected] ~]$ tar-xvfz archive.tar.gz
[[email protected] ~]$ tar-xvfj archive.tar.bz2

上述命令在执行时将提取存档文件,并使用gzip或bzip2进行解压缩。

实例5:排除特定文件

假设你有一堆文件需要压缩为归档文件,但是其中的一些文件需要排除。你可以使用

--exclude

选项来指定排除特定的文件或者文件类型。例如:

[[email protected] ~]$ tar-cvfz archive.tar.gz --exclude'*.txt' *

上述命令将压缩当前目录下的所有文件(‘*’),但是它将排除所有的txt文件。

实例6:查看tar文件内容

如果你想查看tar归档文件中的内容,而不提取它们,你可以使用’t’选项。例如:

[[email protected] ~]$ tar-tvf archive.tar

这个命令会显示出tar归档文件中的所有文件和目录,但并不会提取它们。

实例7:添加文件到已有的tar文件

如果你想新添加一些文件到已经存在的tar归档文件中,你可以使用’r’选项。请注意,这个选项不能用于压缩过的tar文件。例如:

[[email protected] ~]$ tar-rvf archive.tar newfile

上述命令会将newfile添加到现有的归档文件archive.tar中。

实例8:从tar文件中删除文件

如果你想从存在的tar文件中删除一些文件,你可以使用’–delete’选项。和’r’选项一样,该选项也不能用于压缩过的tar文件。例如:

[[email protected] ~]$ tar--delete-f archive.tar unwantedfile

以上命令将会从archive.tar中删除unwantedfile。注意这个操作是不可逆的,所以在执行前请确保你真的要删除这个文件。

实例9:修改tar文件中文件的权限

tar命令的’–mode’选项可用于在添加文件到tar中时修改其权限。例如:

[[email protected] ~]$ tar-cvf archive.tar --mode='u=rwX,g=rwX,o=r' file1 file2

这个命令在归档文件archive.tar中创建文件,同时给所有的用户和组赋予读写权限,对所有者还额外赋予执行权限。

实例10:创建包含整个目录的tar文件

tar命令也可以用于归档整个目录及其子目录和文件。例如:

[[email protected] ~]$ tar-cvf archive.tar mydirectory/

这个命令会将mydirectory目录及其所有子目录和文件归档到archive.tar中。

实例11:使用通配符来创建tar文件

如果你想把所有具有相同过滤条件的文件都归档到一个tar文件中,你可以使用诸如’*‘或者’?'这样的通配符。例如:

[[email protected] ~]$ tar-cvf textfiles.tar *.txt

这个命令将把所有.txt文件归档到textfiles.tar中。

实例12:解压tar文件到指定目录

如果你想将tar文件解压到指定的目录中,而不是当前目录,你可以使用’-C’选项。例如:

[[email protected] ~]$ tar-xvf archive.tar -C /path/to/directory

在上述示例中,tar文件将会被解压到/path/to/directory这个指定的目录中。

实例13:列出tar文件内容

如果你想查看tar文件中包含的文件和文件夹,而不真正的解压它,你可以使用’-t’选项。例如:

[[email protected] ~]$ tar-tvf archive.tar

上述命令会列出tar文件archive.tar中的所有文件和目录,但并不会解压这个tar文件。

实例14:更新tar文件中的文件

如果tar文件中的某些文件在归档之后有所改动,你可以使用’-u’选项来更新存在于归档中的文件版本。例如:

[[email protected] ~]$ tar-uvf archive.tar file1

这个命令将更新tar文件archive.tar中的file1文件。注意,与’r’和’–delete’选项一样,'-u’选项不能用于压缩过的tar文件。

Linux tar命令的注意事项

bash: tar: command not found: 如果遇到这个错误信息,意味着你的系统中没有安装tar命令,可以使用上述的安装命令进行安装。

Linux tar相关命令

find命令:用于在系统中查找文件或目录
cp命令:用于复制文件或目录
rm命令:用于删除文件或目录
mv命令:用于移动或重命名文件或目录
cat命令:用于查看文件内容
less命令:用于分页查看文件内容
more命令:也是用于分页查看文件内容,与less类似
gz命令:用于压缩文件
bzip2命令:也是用于压缩文件,与gz类似

标签: linux 运维 服务器

本文转载自: https://blog.csdn.net/u012964600/article/details/135403064
版权归原作者 我要下东西噢 所有, 如有侵权,请联系我们删除。

“Linux tar命令教程:文件打包和压缩的神器(附案例详解和注意事项)”的评论:

还没有评论