tar支持多个文件打包成一个文件,还可以通过参数进行文件的压缩,真的非常好用。
tar -cvf 打包文件名(xx.tar) 打包文件(*.txt)
tar -xvf 打包文件名(xx.tar)
tar -zcvf test.tar.gz *.txt (使用gzip进行压缩)
tar -jcvf test.tar.bz2 *.txt (使用bzip2进行压缩)
tar -zxvf test.tar.gz (使用gzip进行解压缩)
tar -jxvf test.tar.bz2 (使用bzip2进行解压缩)
必要参数,下面参数是tar运行时必须要有的,有且仅有一个。(具体的动作命令,互斥存在,不能即想压缩,又想解压缩。)
命令缩写 | 命令全拼 | 使用频率 | 命令说明 |
---|---|---|---|
-c | --create | 最常用 | 从全拼命令就可以理解,新建打包文件。 事例:tar -cvf jpg.tar *.jpg |
-x | --extract、 --get |
最常用 | 从包中提取,与-c正好相反。 事例:tar -xvf jpg.tar |
-d | --diff |
不常用 | 比较打包文件与当前文件的不同之处,实用性一般般。 事例:tar -dvf jpg.tar 002.jpg |
-r | --append | 常用 | 附件到打包文件的结尾。 事例:tar -rvf jpg.tar 001.jpg |
-t | --list | 常用 | 列出打包文件的目录。 事例:tar -tvf jpg.tar |
-u | --update | 不常用 | 仅将比较新的文件附件到包中。 事例:tar -uvf jpg.tar *.jpg |
-A | --catenate | 不常用 | 将一个打包文件与已有的打包合并。 事例:tar -Avf bmp.tar jpg.tar(将jpg包添加到bmp包中) |
--delete | --delete | 常用 | 将文件从打包中删除。 事例:tar --delete -vf jpg.tar 001.jpg |
辅助的参数太多,下面介绍一些常用的。
命令缩写 | 命令全拼 | 使用频率 | 命令说明 |
---|---|---|---|
-f | --file | 最常用 | 在上面的事例中,每一条都使用了-f参数,不使用无法指定文件或者文件夹,默认指定的路径为 (缺省为 /dev/rmt0)。 |
-v | --verbose | 最常用 | 输出详细的文件列表,使用-vv指令,可以输出更加详细的文件属性,包括时间、大小、所有者、权限等。 事例:tar -xzvf test.tar.gz |
-z | --gzip --ungzip |
最常用 | 使用gzip工具进行压缩或者解压缩。 压缩会导致处理变慢,响应的文件会变小。 事例1:tar -zcvf test.tar.gz *.txt(压缩) 事例2:tar -zxvf test.tar.gz(解压缩) |
-j | --bzip2 --bunzip2 |
最常用 | 使用bzip2工具进行压缩或者解压缩。 压缩会导致处理变慢,响应的文件会变小,不过bzip2压缩后文件的大小比-z小。 事例1:tar -jcvf test.tar.bz2 *.txt(压缩) 事例2:tar -jxvf test.tar.bz2(解压缩) man指令中提示使用-y,测试发现-y压缩后和-z一致。百度后,认为-j是准确的。 |
-Z | --compress --uncompress |
不常用 | 已经过时淘汰的压缩工具,使用-z可以解压缩。 |
下面将man命令输出的结果展开,我认为不常用的辅助参数,需要大家就看看吧。
--atime-preserve
不改变转储文件的存取时间
-b, --block-size N
指定块大小为 Nx512 字节(缺省时 N=20)
-B, --read-full-blocks
读取时重组块(???!!!)
-C, --directory DIR
转到指定的目录
--checkpoint
读取存档时显示目录名
-f, --file [HOSTNAME:]F
指定存档或设备 (缺省为 /dev/rmt0)
--force-local
强制使用本地存档,即使存在克隆
-F, --info-script F --new-volume-script F
在每个磁盘结尾使用脚本 F (隐含 -M)
-G, --incremental
建立老 GNU 格式的备份
-g, --listed-incremental F
建立新 GNU 格式的备份
-h, --dereference
不转储动态链接,转储动态链接指向的文件。
-i, --ignore-zeros
忽略存档中的 0 字节块(通常意味着文件结束)
--ignore-failed-read
在不可读文件中作 0 标记后再退出???
-k, --keep-old-files
保存现有文件;从存档中展开时不进行覆盖
-K, --starting-file F
从存档文件 F 开始
-l, --one-file-system
在本地文件系统中创建存档
-L, --tape-length N
在写入 N*1024 个字节后暂停,等待更换磁盘
-m, --modification-time
当从一个档案中恢复文件时,不使用新的时间标签
-M, --multi-volume
建立多卷存档,以便在几个磁盘中存放
-N, --after-date DATE, --newer DATE
仅存储时间较新的文件
-o, --old-archive, --portability
以 V7 格式存档,不用 ANSI 格式
-O, --to-stdout
将文件展开到标准输出
-p, --same-permissions, --preserve-permissions
展开所有保护信息
-p, --same-permissions, --preserve-permissions
展开所有保护信息
-P, --absolute-paths
不要从文件名中去除 '/'
--preserve
like -p -s 与 -p -s 相似
-R, --record-number
显示信息时同时显示存档中的记录数
--remove-files
建立存档后删除源文件
-s, --same-order, --preserve-order
???
--same-owner
展开以后使所有文件属于同一所有者
-S, --sparse
高效处理
-T, --files-from F
从文件中得到要展开或要创建的文件名
--null 读取空结束的文件名,使 -C 失效
--totals
显示用 --create 参数写入的总字节数
-v, --verbose
详细显示处理的文件
-V, --label NAME
为存档指定卷标
--version
显示 tar 程序的版本号
-w, --interactive, --confirmation
每个操作都要求确认
-W, --verify
写入存档后进行校验
--exclude FILE
不把指定文件包含在内
-X, --exclude-from FILE
从指定文件中读入不想包含的文件的列表
-y, --bzip2, --bunzip2
用 bzip2 对存档压缩或解压
-Z, --compress, --uncompress
用 compress 对存档压缩或解压
-z, --gzip, --ungzip
用 gzip 对存档压缩或解压
--use-compress-program PROG
用 PROG 对存档压缩或解压 ( PROG 需能接受 -d 参数)
--block-compress
为便于磁盘存储,按块记录存档
-[0-7][lmh]
指定驱动器和密度[高中低]
以上,2019.11.18