Linux-tar
1. tar简介
2. tar文件
3. tar经常使用选项
4. tar基本用法(不压缩)
5. tar特殊用法app
https://zh.wikipedia.org/wiki/Tar
Unix和类Unix系统上的压缩打包工具,能够将多个文件合并为一个文件,打包后的文件名亦为“tar”。目前,tar文件格式已经成为POSIX标准,最初是POSIX.1-1988,目前是POSIX.1-2001。本程序最初的设计目的是将文件备份到磁带上(tape archive),于是得名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 |
主要操做方式:spa
-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 | 不要使用存档后缀来肯定压缩程序 |
其余经常使用选项:orm
Device selection and switching: | ||
-f, | --file=ARCHIVE | 使用存档文件或设备存档. 能够用"-"表明标准输出或标准输入。 |
Informative output: | ||
-v, | --verbose | 详细列出已处理的文件 |
Overwrite control: | ||
-k, | --keep-old-files | 提取时不要替换现有文件,将它们视为错误 |
Local file selection: | ||
-P, | --absolute-names | 不要从文件名中删除前导'/'。即绝对路径。 |
不压缩
-c 打包 $ tar -cvf archive.tar file1 file2
-t 查看 $ tar -tvf archive.tar
-x 解包 $ tar -xvf archive.tar
增长压缩,只须要参照上面的选项,添加对应的压缩选项便可。ip
使用tar复制文件夹
$ tar cf – toma | (cd targer; tar xvf -)
高效的复制了toma中的文件和目录,还保留了权限。注: 'f'后边跟'-',从stdin读取数据.
解开C源码包的注意事项
软件源码包,一般是tar的压缩包。解包前先用tvf选项+压缩选项检查源码包内容。
1. 有些源码包解开时不会创建本身的总目录,会把所有放到当前目录下。这种要进入手动创建的文件夹后再解包。
2. 要留意那些包含绝对路径名的文件。可能包含木马或一些恶意代码。
ci