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 tar
或tar --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
评论区