Linux-tar

我的未来我决定 提交于 2019-11-29 03:22:36


Linux-tar

1. tar简介
2. tar文件
3. tar常用选项
4. tar基本用法(不压缩)
5. tar特殊用法

1. tar简介

https://zh.wikipedia.org/wiki/Tar
Unix和类Unix系统上的压缩打包工具,可以将多个文件合并为一个文件,打包后的文件名亦为“tar”。目前,tar文件格式已经成为POSIX标准,最初是POSIX.1-1988,目前是POSIX.1-2001。本程序最初的设计目的是将文件备份到磁带上(tape archive),因而得名tar。

2. tar文件

tar代表未压缩的tar文件。已压缩的tar文件则附加压缩文件的扩展名,如经过gzip压缩后的tar文件,扩展名为“.tar.gz”。
由于受到DOS8.3文件名格式的限制,常使用下列缩写:

tar选项 缩写后缀 完整后缀 压缩命令 解压命令1 解压命令2
-j, *.tb2; tbz *.tar.bz2; *.tar.bz bzip2 -z bzip2 -d bunzip2
-z, *.tgz *.tar.gz gzip gzip -d gunzip
-Z, *.taz *.tar.Z compress uncompress  
-J, *.txz *.tar.xz      
--lzma *.tlz *.tar.lzma      

 

3. tar常用选项

主要操作方式:

-c, --create 创建一个新的存档
-t, --list 列出档案的内容
-x, --extract, --get 从存档中提取文件
-r, --append 将文件附加到存档的末尾
-u, --update 只附加比归档中的副本更新的文件
-A, --catenate, --concatenate 将tar文件作为整体追加到另一个tar文件中
-d, --diff, --compare 找到存档和文件系统之间的差异
  --delete 从档案中删除(不在磁带上!)
  --test-label 测试存档卷标并退出


压缩选项:

-j, --bzip2 通过bzip2过滤存档
-z, --gzip, --gunzip, --ungzip 通过gzip过滤存档
-Z, --compress, --uncompress 通过压缩过滤存档
-J, --xz 通过xz过滤存档
  --lzma 通过lzma过滤存档
  --lzip 通过lzip过滤存档
  --lzop 通过lzop过滤存档
  --zstd 通过zstd过滤存档
-a, --auto-compress 使用存档后缀来确定压缩程序
  --no-auto-compress 不要使用存档后缀来确定压缩程序


其他常用选项:

  Device selection and switching:  
-f, --file=ARCHIVE 使用存档文件或设备存档. 
可以用"-"代表标准输出或标准输入。
  Informative output:  
-v, --verbose 详细列出已处理的文件
  Overwrite control:  
-k, --keep-old-files 提取时不要替换现有文件,将它们视为错误
  Local file selection:  
-P, --absolute-names 不要从文件名中删除前导'/'。即绝对路径

 

4. tar基本用法

不压缩
-c 打包 $ tar -cvf archive.tar file1 file2
-t 查看 $ tar -tvf archive.tar
-x 解包 $ tar -xvf archive.tar

增加压缩,只需要参照上面的选项,添加对应的压缩选项即可。

5. tar特殊用法

使用tar复制文件夹
$ tar cf – toma | (cd targer; tar xvf -)
高效的复制了toma中的文件和目录,还保留了权限。注: 'f'后边跟'-',从stdin读取数据.

解开C源码包的注意事项
软件源码包,通常是tar的压缩包。解包前先用tvf选项+压缩选项检查源码包内容。
1. 有些源码包解开时不会建立自己的总目录,会把全部放到当前目录下。这种要进入手动建立的文件夹后再解包。
2. 要留意那些包含绝对路径名的文件。可能包含木马或一些恶意代码。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!