用法
linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。
注:tar是归档,不是压缩!需要联合其他压缩程序(参数指定)才能同时完成归档和压缩
选项
主要运行模式(部分,必选其一使用):
选项 | 英文说明 | 中文说明 |
---|---|---|
-c | create a new archive | 创建归档 |
-x | extract files from an archive | 提取归档 |
-t | list the contents of an archive | 查看(显示内容) |
可选参数(部分):
选项 | 英文说明 | 中文说明 |
---|---|---|
-f | use archive file or device ARCHIVE | 指定归档文件,这个参数是必选项,后面接文件名 |
-v | verbosely list files processed | 详细显示处理过程 |
-z | filter the archive through gzip | 归档时通过gzip压缩,后缀一般为.tgz 或.tar.gz |
-C | change to directory DIR | 改变文件夹目录(提取的时候使用,默认提取到当前路径) |
示例
tar格式
描述 | 命令 |
---|---|
【打包】归档 指定目录为xxx.tar | tar -``c``vf xxx.tar /xxx |
【解包】提取 指定归档包xxx.tar | tar -``x``vf xxx.tar |
【解包】提取 指定归档包xxx.tar至指定路径 | tar -``x``vf xxx.tar -C /xxx |
查看 指定归档包xxx.tar | tar -tvf xxx.tar |
tgz格式
描述 | 命令 |
---|---|
【打包】归档 指定目录为xxx..tgz | tar -z``c``vf xxx.tgz /xxx |
【解包】提取 指定归档包xxx..tgz | tar -z``x``vf xxx.tgz |
关于归档文件路径的说明
一般的归档命令格式为:tar -cvf [生成归档包路径] [需要归档的路径]
以打包如下目录为例:
[dsk@dk-centos test]$ pwd
/home/dsk/wcy/test
[dsk@dk-centos test]$ ll
total 0
-rw-rw-r-- 1 dsk dsk 0 Dec 29 09:50 1
-rw-rw-r-- 1 dsk dsk 0 Dec 29 09:50 2
-rw-rw-r-- 1 dsk dsk 0 Dec 29 09:50 3
[dsk@dk-centos test]$
归档路径使用相对路径:.
[dsk@dk-centos test]$ tar -cvf /home/dsk/wcy/test.gz .
./
./1
./2
./3
归档路径使用绝对路径:/home/dsk/wcy/test/
[dsk@dk-centos test]$ tar -cvf /home/dsk/wcy/test.gz /home/dsk/wcy/test/
tar: Removing leading `/' from member names
/home/dsk/wcy/test/
/home/dsk/wcy/test/1
/home/dsk/wcy/test/2
/home/dsk/wcy/test/3
在使用绝对路径归档后,绝对路径也会自动变相对路径,并会有相应提示:tar: Removing leading `/‘ from member names
[dsk@dk-centos test]$ tar -tvf /home/dsk/wcy/test.gz
drwxrwxr-x dsk/dsk 0 2018-12-29 09:50 home/dsk/wcy/test/
-rw-rw-r-- dsk/dsk 0 2018-12-29 09:50 home/dsk/wcy/test/1
-rw-rw-r-- dsk/dsk 0 2018-12-29 09:50 home/dsk/wcy/test/2
-rw-rw-r-- dsk/dsk 0 2018-12-29 09:50 home/dsk/wcy/test/3
同时可见,最终归档包中各文件的归档路径是根据[需要归档的路径]
来指定的,如果使用.
则都是以.
开始,使用绝对路径则是以绝对路径对应的相对路径开始。
所以一般主要可以在打包目录下使用.
来指定归档路径,毕竟归档包在使用时可能并不关心原所处路径是怎样的。