Linux打包(tar)

Linux打包(tar)教程

Linux 中的 tar 命令主要有四个作用,即:将多个文文件打包为一个文件、将文件打包并压缩、将打包的文件解包和将打包压缩的文件解压。

Linux tar命令详解

功能

显示当前目录或指定路径下面的文件列表。

语法

tar [options] file..

参数

参数 描述
options tar 命令使用的参数。
file 需要归档的文件或目录名。

tar命令常用参数

参数 描述
-A, --catenate 追加 tar 文件至归档
-c, --create 创建一个新归档
-r, --append 追加文件至归档结尾
-u, --update 仅追加比归档中副本更新的文件
-x, --extract, --get 从归档中解出文件
-t, --list 列出归档内容
-z, --gzip, --gunzip, --ungzip 通过 gzip 压缩归档
-j, --bzip2 通过 bzip2 压缩归档
-J, --xz 通过 xz 过滤归档
–lzip 通过 lzip 过滤归档
–lzma 通过 lzma 过滤归档
-Z, --compress, --uncompress 通过 compress 压缩归档
-v, --verbose 详细地列出处理的文件过程
-k, --keep-old-files 保留源文件不覆盖
-m, --touch 不要解压文件的修改时间
-W, --verify 在写入以后尝试校验归档
f, --file=ARCHIVE 使用归档文件或 ARCHIVE 设备,这个参数是最后一个,后面只接文件名
-b, --blocking-factor=BLOCKS 设置每个记录 BLOCKS x 512 字节
-C, --directory=DIR 改变至目录 DIR

说明

tar 命令是使用非常多的命令,其参数也非常丰富。

Linux tar命令常用实例

实例

实例 描述
tar -cvf file.tar file 将 file 打包为 file.tar
tar -czvf file.tar.gz file 将 file 压缩为 file.tar.gz
tar -tzvf file.tar.gz 查看 file.tar.gz 里面的内容
tar -xzvf file.tar.gz 解压缩 file.tar.gz
tar -jcvf file.tar.bz2 file 将 file 压缩为 file.tar.bz2
tar -jxvf file.tar.bz2 将 file file.tar.bz2 解压缩
tar -xzvf file.tar.gz -C dir 解压缩 file.tar.gz 并指定解压到 dir 目录

打包文件

语法

tar -cvf file.tar file

案例

我们首先,使用 touch 命令,批量创建几个文件,具体命令如下:

touch haicoder{1..5}.txt

运行后,我们并使用 ls 命令,查看创建的文件,终端输出如下:

01_linux打包归档tar命令.png

现在,我们使用 tar 命令,将这些文件进行打包,具体命令如下:

tar -cvf haicoder.tar haicoder*.txt

运行后,终端输出如下:

02_linux打包归档tar命令.png

我们可以看到,我们在使用 tar 命令打包时,输出了我们打包的文件,现在,我们使用 ls 命令,查看我们打包好的文件,具体命令如下:

ls haicoder.tar

运行后,终端输出如下:

03_linux打包归档tar命令.png

我们看到,我们打包好的文件已经存在了,即,我们使用了 tar 命令打包了文件。

压缩为tar.gz文件

语法

tar -czvf file.tar.gz file

案例

我们首先,使用 touch 命令,批量创建几个文件,具体命令如下:

touch haicoder{1..5}.txt

运行后,我们并使用 ls 命令,查看创建的文件,终端输出如下:

04_linux打包归档tar命令.png

现在,我们使用 tar 命令,将这些文件进行压缩为 tar.gz 格式,具体命令如下:

tar -czvf haicoder.tar.gz haicoder*.txt

运行后,终端输出如下:

05_linux打包归档tar命令.png

我们可以看到,我们在使用 tar 命令压缩时,输出了我们压缩的文件,现在,我们使用 ls 命令,查看我们压缩好的文件,具体命令如下:

ls haicoder.tar.gz

运行后,终端输出如下:

06_linux打包归档tar命令.png

我们看到,我们压缩好的文件已经存在了,即,我们使用了 tar 命令压缩了文件。

查看tar.gz压缩文件内容

语法

tar -tzvf file.tar.gz

案例

我们首先,使用 touch 命令,批量创建几个文件,具体命令如下:

touch haicoder{1..5}.txt

运行后,我们并使用 ls 命令,查看创建的文件,终端输出如下:

07_linux打包归档tar命令.png

现在,我们使用 tar 命令,将这些文件进行压缩为 tar.gz 格式,具体命令如下:

tar -czvf haicoder.tar.gz haicoder*.txt

运行后,终端输出如下:

08_linux打包归档tar命令.png

我们可以看到,我们在使用 tar 命令压缩时,输出了我们压缩的文件,现在,我们使用 ls 命令,查看我们压缩好的文件,具体命令如下:

ls haicoder.tar.gz

运行后,终端输出如下:

09_linux打包归档tar命令.png

我们看到,我们压缩好的文件已经存在了,即,我们使用了 tar 命令压缩了文件,现在,我们再次使用 tar 命令,查看压缩包的内容,具体命令如下:

tar -tzvf haicoder.tar.gz

运行后,终端输出如下:

10_linux打包归档tar命令.png

我们可以看到,我们使用了 tar 命令,查看了压缩包里面的文件内容。

解压tar.gz压缩文件

语法

tar -xzvf file.tar.gz

案例

我们使用 ls 命令,查看我们压缩好的文件,具体命令如下:

ls haicoder.tar.gz

运行后,终端输出如下:

11_linux打包归档tar命令.png

我们看到,我们压缩好的文件已经存在了,现在,我们使用 tar 命令,解压 tar.gz 压缩文件,具体命令如下:

tar -xzvf haicoder.tar.gz

运行后,终端输出如下:

12_linux打包归档tar命令.png

我们可以看到,我们使用了 tar 命令,解压了压缩包里面的文件,现在,我们使用 ls 命令,查看解压出来的文件内容,具体命令如下:

ls

运行后,终端输出如下:

13_linux打包归档tar命令.png

我们看到,解压出来的文件列表,并且,原来的压缩包还存在。

压缩为tar.bz2文件

语法

tar -jcvf file.tar.bz2 file

案例

我们首先,使用 touch 命令,批量创建几个文件,具体命令如下:

touch haicoder{1..5}.txt

运行后,我们并使用 ls 命令,查看创建的文件,终端输出如下:

14_linux打包归档tar命令.png

现在,我们使用 tar 命令,将这些文件进行压缩为 tar.bz2 格式,具体命令如下:

tar -jcvf haicoder.tar.bz2 haicoder*.txt

运行后,终端输出如下:

15_linux打包归档tar命令.png

我们可以看到,我们在使用 tar 命令压缩时,输出了我们压缩的文件,现在,我们使用 ls 命令,查看我们压缩好的文件,具体命令如下:

ls haicoder.tar.bz2

运行后,终端输出如下:

16_linux打包归档tar命令.png

我们看到,我们压缩好的 tar.bz2 文件已经存在了,即,我们使用了 tar 命令压缩了文件。

解压tar.bz2压缩文件

语法

tar -jxvf file.tar.bz2

案例

我们使用 ls 命令,查看我们压缩好的文件,具体命令如下:

ls haicoder.tar.bz2

运行后,终端输出如下:

17_linux打包归档tar命令.png

我们看到,我们压缩好的文件已经存在了,现在,我们使用 tar 命令,解压 tar.bz2 压缩文件,具体命令如下:

tar -jxvf haicoder.tar.bz2

运行后,我们使用 ls 命令,查看解压出来的文件内容,具体命令如下:

ls

运行后,终端输出如下:

18_linux打包归档tar命令.png

我们看到,我们使用了 tar 命令,解压出了 tar.bz2 文件,并且,原来的压缩包还存在。

指定解压路径

语法

tar -xzvf file.tar.gz -C dir

案例

我们使用 ls 命令,查看我们压缩好的文件,具体命令如下:

ls haicoder.tar.gz

运行后,终端输出如下:

19_linux打包归档tar命令.png

我们看到,我们压缩好的文件已经存在了,现在,我们使用 tar 命令,解压 tar.gz 压缩文件到指定的路径,具体命令如下:

tar -xzvf haicoder.tar.gz -C /tmp

运行后,终端输出如下:

20_linux打包归档tar命令.png

运行后,我们使用 ls 命令,到 /tmp 目录下查看解压出来的文件内容,具体命令如下:

ls /tmp/haicoder*

运行后,终端输出如下:

21_linux打包归档tar命令.png

我们看到,我们使用了 tar 命令,解压出了 tar.gz 文件到了我们指定的路径。

Linux打包(tar)总结

Linux 中的 tar 命令主要有四个作用,即:将多个文文件打包为一个文件、将文件打包并压缩、将打包的文件解包和将打包压缩的文件解压。