Linux tar:修订间差异
跳到导航
跳到搜索
无编辑摘要 |
(→Note) |
||
(未显示同一用户的1个中间版本) | |||
第1行: | 第1行: | ||
=== md5 === | Linux tar(tape archive)是 Linux/Unix 系统中用于归档文件和目录的强大命令行工具。 | ||
tar 名字来自 "tape archive"(磁带归档),最初用于将文件打包到磁带设备中,现在广泛用于在文件系统中打包和压缩文件。 | |||
tar 通常用于将多个文件和目录打包成一个归档文件,称为 "tarball"(通常带有 .tar 扩展名)。 | |||
tar 本身不压缩文件,但可以与压缩工具(如 gzip 或 bzip2)结合使用,创建压缩的归档文件(如 .tar.gz 或 .tar.bz2)。 | |||
=== 语法 === | |||
tar [options] -f archive.tar [files...] | |||
=== options === | |||
* -c:创建一个新的归档文件 | |||
* -x:解压归档文件 | |||
* -t:列出归档文件的内容 | |||
* -r:向现有归档文件中追加文件 | |||
* -u:仅追加比归档文件中已有文件更新的文件 | |||
* -d:找到归档文件中与文件系统不同步的差异 | |||
* -A:将一个 .tar 文件追加到另一个 .tar 文件中 | |||
=== 文件选择和排除 === | |||
* -C<directory>:切换到指定目录进行操作(可用做去除绝对路径) | |||
* --exclude=<pattern>:排除匹配指定模式的文件 | |||
* --exclude-from=<file>:从指定文件读取要排除的模式 | |||
* --exclude-vcs:排除版本控制系统生成的文件(如 .git、.svn 等) | |||
=== 压缩 === | |||
* -z:使用 gzip 压缩归档文件 | |||
* -J:使用 xz 压缩归档文件 | |||
=== 输出 === | |||
* -v:显示详细操作过程(verbose) | |||
=== 权限 === | |||
* -p:保留文件的原始权限(解压时) | |||
* --no-same-owner:不设置文件所有者 | |||
=== Note === | |||
==== md5 ==== | |||
正常情况下 tar + gzip,即使打包文件未改变,其 md5 也不同。 | 正常情况下 tar + gzip,即使打包文件未改变,其 md5 也不同。 | ||
* Q: 目录中的文件未修改,打包压缩后MD5不同 | |||
-rw-r--r-- 1 bi oinstall 561370 Jul 23 04:00 pangolin_20220723.tar.gz | -rw-r--r-- 1 bi oinstall 561370 Jul 23 04:00 pangolin_20220723.tar.gz | ||
-rw-r--r-- 1 bi oinstall 561370 Jul 24 04:00 pangolin_20220724.tar.gz | -rw-r--r-- 1 bi oinstall 561370 Jul 24 04:00 pangolin_20220724.tar.gz | ||
第10行: | 第48行: | ||
93aa0e9ea72aa9dbbd5b8ef4ef5838bd pangolin_20220724.tar.gz | 93aa0e9ea72aa9dbbd5b8ef4ef5838bd pangolin_20220724.tar.gz | ||
1d924a38da3fc3ca0af085f832624890 pangolin_20220725.tar.gz | 1d924a38da3fc3ca0af085f832624890 pangolin_20220725.tar.gz | ||
* W: gzip 压缩时,默认保存原来的文件名称及时间戳 | |||
*将 tar -czvf 分为两步,打包,压缩,而 gzip 时增加参数:-n 即可不保存原来的文件名称及时间戳 | * A: 将 tar -czvf 分为两步,打包,压缩,而 gzip 时增加参数:-n 即可不保存原来的文件名称及时间戳 | ||
tar -cvf /u01/source/${PT}_${DAYID}.tar /home/bi/${PT}/ --exclude-from /home/bi/${PT}/excludelist | |||
gzip -n /u01/source/${PT}_${DAYID}.tar | |||
==== 去除目录前缀 ==== | |||
# 将 /root/log/monitor/202408/ 下文件打包,不含任何目录 | |||
tar -czvf monitor_202408.tar.gz -C/root/log/monitor/202408/ . | |||
# 将 /root/log/monitor/202408/ 下文件打包,含 202408 目录 | |||
tar -czvf monitor_202408.tar.gz -C/root/log/monitor/ 202408/. | |||
# 暂未发现如何选取文件,如:*.log 等 | |||
[[分类:Develop]] | [[分类:Develop]] | ||
[[分类:Linux]] | [[分类:Linux]] |
2024年9月30日 (一) 14:00的最新版本
Linux tar(tape archive)是 Linux/Unix 系统中用于归档文件和目录的强大命令行工具。
tar 名字来自 "tape archive"(磁带归档),最初用于将文件打包到磁带设备中,现在广泛用于在文件系统中打包和压缩文件。
tar 通常用于将多个文件和目录打包成一个归档文件,称为 "tarball"(通常带有 .tar 扩展名)。
tar 本身不压缩文件,但可以与压缩工具(如 gzip 或 bzip2)结合使用,创建压缩的归档文件(如 .tar.gz 或 .tar.bz2)。
语法
tar [options] -f archive.tar [files...]
options
- -c:创建一个新的归档文件
- -x:解压归档文件
- -t:列出归档文件的内容
- -r:向现有归档文件中追加文件
- -u:仅追加比归档文件中已有文件更新的文件
- -d:找到归档文件中与文件系统不同步的差异
- -A:将一个 .tar 文件追加到另一个 .tar 文件中
文件选择和排除
- -C<directory>:切换到指定目录进行操作(可用做去除绝对路径)
- --exclude=<pattern>:排除匹配指定模式的文件
- --exclude-from=<file>:从指定文件读取要排除的模式
- --exclude-vcs:排除版本控制系统生成的文件(如 .git、.svn 等)
压缩
- -z:使用 gzip 压缩归档文件
- -J:使用 xz 压缩归档文件
输出
- -v:显示详细操作过程(verbose)
权限
- -p:保留文件的原始权限(解压时)
- --no-same-owner:不设置文件所有者
Note
md5
正常情况下 tar + gzip,即使打包文件未改变,其 md5 也不同。
- Q: 目录中的文件未修改,打包压缩后MD5不同
-rw-r--r-- 1 bi oinstall 561370 Jul 23 04:00 pangolin_20220723.tar.gz -rw-r--r-- 1 bi oinstall 561370 Jul 24 04:00 pangolin_20220724.tar.gz -rw-r--r-- 1 bi oinstall 561370 Jul 25 04:00 pangolin_20220725.tar.gz 857c2b83550839a8f2c1df202c197c35 pangolin_20220723.tar.gz 93aa0e9ea72aa9dbbd5b8ef4ef5838bd pangolin_20220724.tar.gz 1d924a38da3fc3ca0af085f832624890 pangolin_20220725.tar.gz
- W: gzip 压缩时,默认保存原来的文件名称及时间戳
- A: 将 tar -czvf 分为两步,打包,压缩,而 gzip 时增加参数:-n 即可不保存原来的文件名称及时间戳
tar -cvf /u01/source/${PT}_${DAYID}.tar /home/bi/${PT}/ --exclude-from /home/bi/${PT}/excludelist gzip -n /u01/source/${PT}_${DAYID}.tar
去除目录前缀
# 将 /root/log/monitor/202408/ 下文件打包,不含任何目录 tar -czvf monitor_202408.tar.gz -C/root/log/monitor/202408/ . # 将 /root/log/monitor/202408/ 下文件打包,含 202408 目录 tar -czvf monitor_202408.tar.gz -C/root/log/monitor/ 202408/. # 暂未发现如何选取文件,如:*.log 等