侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux tar命令教程:从入门到精通,一文掌握打包、压缩和解压文件的技巧

Linux tar命令:如何压缩和解压文件

Linux tar命令是一个用于创建或处理压缩文件的工具。tar是tape archive(磁带归档)的缩写,最初是为了将多个文件打包成一个方便备份的磁带文件而设计的。现在,tar命令广泛用于将多个文件或目录打包成一个单独的文件,通常用于备份、传输或分发数据。tar命令还可以与其他压缩工具(如gzip、bzip2、xz等)结合使用,以减少打包文件的大小。

适用的Linux版本

tar命令是一个标准的Linux命令,几乎所有的Linux发行版都自带了这个工具。如果你的系统没有安装tar命令,你可以使用以下命令来安装它:

  • 对于基于Debian或Ubuntu的系统,使用apt-get命令:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get update
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install tar
  • 对于基于Red Hat或CentOS的系统,使用yum或dnf命令:
[linux@bashcommandnotfound.cn ~]$ sudo yum update
[linux@bashcommandnotfound.cn ~]$ sudo yum install tar
  • 对于基于Arch Linux的系统,使用pacman命令:
[linux@bashcommandnotfound.cn ~]$ sudo pacman -Syu
[linux@bashcommandnotfound.cn ~]$ sudo pacman -S tar

Linux tar命令的基本用法

tar命令的语法格式如下:

tar [options] [archive-file] [file or directory to be archived]

其中,options是指定tar命令执行的操作和其他参数,archive-file是指定要创建或处理的压缩文件,file or directory to be archived是指定要打包或解压的文件或目录。

Linux tar命令的常用选项说明

tar命令有很多选项,可以实现不同的功能。这里我们只介绍一些最常用的选项,如果你想了解更多的选项,可以使用man tartar --help命令来查看帮助文档。

选项说明
-c创建一个新的压缩文件
-x从一个压缩文件中提取文件
-t列出一个压缩文件中包含的文件
-f指定要操作的压缩文件名
-v显示详细的操作信息
-z使用gzip程序来压缩或解压文件
-j使用bzip2程序来压缩或解压文件
-J使用xz程序来压缩或解压文件
-C指定要切换到的目录

Linux tar命令的实例

下面我们通过一些实例来演示如何使用tar命令来压缩和解压文件。

如何使用tar命令创建一个新的压缩文件

如果你想将一个目录(比如test)打包成一个不经过任何压缩的文件(比如test.tar),你可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ tar -cvf test.tar test

其中,-c选项表示创建一个新的压缩文件,-v选项表示显示详细的操作信息,-f选项表示指定要创建的压缩文件名。

如果你想将一个目录(比如test)打包并使用gzip程序压缩成一个文件(比如test.tar.gz),你可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ tar -zcvf test.tar.gz test

其中,-z选项表示使用gzip程序来压缩文件。

类似地,如果你想使用bzip2或xz程序来压缩文件,你可以使用-j或-J选项,比如:

[linux@bashcommandnotfound.cn ~]$ tar -jcvf test.tar.bz2 test
[linux@bashcommandnotfound.cn ~]$ tar -Jcvf test.tar.xz test

如何使用tar命令从一个压缩文件中提取文件

如果你想从一个不经过任何压缩的文件(比如test.tar)中提取所有的文件,你可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ tar -xvf test.tar

其中,-x选项表示从一个压缩文件中提取文件。

如果你想从一个经过gzip程序压缩的文件(比如test.tar.gz)中提取所有的文件,你可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ tar -zxvf test.tar.gz

其中,-z选项表示使用gzip程序来解压文件。

类似地,如果你想从一个经过bzip2或xz程序压缩的文件中提取所有的文件,你可以使用-j或-J选项,比如:

[linux@bashcommandnotfound.cn ~]$ tar -jxvf test.tar.bz2
[linux@bashcommandnotfound.cn ~]$ tar -Jxvf test.tar.xz

如果你只想从一个压缩文件中提取部分文件,你可以在命令后面指定要提取的文件名,比如:

[linux@bashcommandnotfound.cn ~]$ tar -zxvf test.tar.gz test/file1.txt test/file2.txt

这个命令只会从test.tar.gz中提取test目录下的file1.txt和file2.txt两个文件。

如果你想将提取的文件放到另一个目录(比如newtest),而不是当前目录,你可以使用-C选项来指定要切换到的目录,比如:

[linux@bashcommandnotfound.cn ~]$ tar -zxvf test.tar.gz -C newtest

这个命令会将test.tar.gz中的所有文件提取到newtest目录下。

如何使用tar命令列出一个压缩文件中包含的文件

如果你想查看一个不经过任何压缩的文件(比如test.tar)中包含了哪些文件,而不实际提取它们,你可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ tar -tvf test.tar

其中,-t选项表示列出一个压缩文件中包含的文件。

如果你想查看一个经过gzip程序压缩的文件(比如test.tar.gz)中包含了哪些文件,你可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ tar -ztvf test.tar.gz

其中,-z选项表示使用gzip程序来解压文件。

类似地,如果你想查看一个经过bzip2或xz程序压缩的文件中包含了哪些文件,你可以使用-j或-J选项,比如:

[linux@bashcommandnotfound.cn ~]$ tar -jtvf test.tar.bz2
[linux@bashcommandnotfound.cn ~]$ tar -Jtvf test.tar.xz
1

评论区