tar命令–打包和备份的归档工具

#tar命令 tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。

tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

**语法格式:**tar [参数] [文件或目录]

常用参数:

参数
解释

-A

新增文件到以存在的备份文件

-B

设置区块大小

-c

建立新的备份文件

-C <目录>

切换工作目录,先进入指定目录再执行压缩/解压缩操作,可用于仅压缩特定目录里的内容或解压缩到特定目录

-d

记录文件的差别

-x

从归档文件中提取文件

-t

列出备份文件的内容

-z

通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz

-Z

通过compress指令处理备份文件

-f<备份文件>

指定备份文件

-v

显示指令执行过程

-r

添加文件到已经压缩的文件

-u

添加改变了和现有的文件到已经存在的压缩文件

-j

通过bzip2指令压缩/解压缩文件,文件名最好为*.tar.bz2

-v

显示操作过程

vv

类似 ls -la

-l

文件系统边界设置

-k

保留原有文件不覆盖

-m

保留文件不被覆盖

-w

确认压缩文件的正确性

-p

保留原来的文件权限与属性

-P

使用文件名的绝对路径,不移除文件名称前的“/”号

-N <日期格式>

只将较指定日期更新的文件保存到备份文件里

-- -exclude=<范本样式>

排除符合范本样式的文件

-- -remove-files

归档/压缩之后删除源文件

参考实例

将所有.jpg的文件打成一个名为all.tar的包:

tar -cf all.tar \*.jpg

打包文件之后删除源文件:

tar -cvf linuxcool.tar linuxcool --remove-files

打包文件以后,以 gzip 压缩:

tar -zcvf log.tar.gz linuxcool.log

指定源位置和存储的目标位置

tar czf /jpdata/backup/jpdm_v3_`date +%F`.tar.gz -P /usr/local/jpdm

tar 命令打包时,不包含目录本身

tar -czvf archive.tar.gz -C /path/to/folder .

在这个命令中:

  • tar 是调用 Tar 命令的方式。

  • -czvf 是几个选项的组合:

    • c 表示创建一个新的归档文件。

    • z 表示使用 gzip 压缩。

    • v 表示在归档过程中显示详细输出(可选)。

    • f 指定归档文件的名称。

  • archive.tar.gz 是创建的归档文件的名称。

  • -C /path/to/folder 更改当前工作目录到 /path/to/folder。

  • . 表示打包当前目录(由 -C 更改后的目录)中的所有内容。 使用这种方法,folder 目录中的内容将被打包,但不会创建一个包含 folder 本身的额外层级。

与该功能相关的Linux命令:

最后更新于