tar 是 Linux 和类 Unix 系统中用于打包和压缩文件的命令行工具。它可以创建、查看、提取或更新归档文件。
下面是 tar 命令的一些常用用法:
1. 创建压缩文件 :
– tar -cvf archive.tar file1 file2 :将 file1 和 file2 打包成一个名为 archive.tar 的归档文件。 -c 表示创建(create), -v 表示详细模式(verbose), -f 后面跟着归档文件名。
– tar -czvf archive.tar.gz file1 file2 :创建一个gzip压缩的归档文件 archive.tar.gz 。 -z 表示使用gzip进行压缩。
2. 查看压缩内容 :
– tar -tvf archive.tar :列出 archive.tar 归档文件中的内容。 -t 表示列出(list)。
3. 提取压缩文件 :
– tar -xvf archive.tar :解包 archive.tar 文件到当前目录。 -x 表示提取(extract)。
– tar -xzvf archive.tar.gz :解包gzip压缩的归档文件 archive.tar.gz 。
– tar -xjvf archive.tar.bz2 :解包bzip2压缩的归档文件 archive.tar.bz2 。
– tar -xvf archive.tar -C /path/to/directory :将归档文件解包到指定目录。
4. 更新压缩文件 :
– tar -uvf archive.tar file1 :将 file1 添加到 archive.tar 归档文件中,如果文件已存在则更新它。 -u 表示更新(update)。
5. 打包目录 :
– tar -cvf archive.tar directory :将整个目录 directory 打包成 archive.tar 。
– tar -czvf archive.tar.gz directory :将目录 directory 打包并gzip压缩成 archive.tar.gz 。
6. 其他选项 :
– -j :使用bzip2进行压缩。
– -Z :使用compress进行压缩(较老的压缩格式)。
– -C :指定解包或打包的目录。
– –strip-components=N :解包时忽略前N层目录。
– –owner=UID:GID :指定归档文件的拥有者和组ID。
– –exclude=pattern :在打包时排除匹配特定模式的文件或目录。
tar 命令的选项可能会根据你的系统和 tar 的版本有所不同。在执行任何操作之前,建议使用 man tar 或 tar –help 查看详细的帮助信息。
7. 常用的 tar 参数及其含义:
tar 命令是一个非常强大的工具,用于创建、管理、归档和备份文件。由于 tar 的参数非常众多,下面列出的是大多数常用和标准的参数,但请注意,某些系统可能会有额外的参数或不同的行为。
标准 tar 参数:
-c :创建新的归档文件。
-x :解压归档文件。
-z :通过 gzip 压缩或解压缩文件。
-j :通过 bzip2 压缩或解压缩文件。
-v :在处理文件时显示详细信息。
-f :指定归档文件名。
-t :列出 tar 文件的内容,不解压文件。
-r :向已经存在的归档文件中追加文件。
-u :更新已经存在于归档文件中的文件。
-p :保持原始文件权限不变。
–exclude :排除特定的文件或模式。
–warning :控制 tar 在处理归档时的警告信息,例如 –warning=error 会将警告当作错误处理。
高级 tar 参数:
-A :追加到已存在的归档文件中。
-B :设置块大小,用于磁带备份。
-b :设置每个记录的大小,用于磁带备份。
-C :切换到指定的目录。
-d :从指定的目录读取文件。
-D :显示目录的详细信息。
-E :使用外部命令处理归档文件。
-F :指定归档文件,与 -f 参数类似,但用于读取已存在的归档文件。
-g :为 GNU 归档格式创建或读取文件。
-G :为磁带备份格式创建或读取文件。
-h :显示帮助信息。
-m :保持文件修改时间。
-M :保持文件访问权限。
-N :只打包在指定日期之后的文件。
-O :将归档文件中的文件输出到标准输出。
-P :不使用通配符。
-q :安静模式,减少输出信息。
-S :使用信号而不是 SIGUSR1 和 SIGUSR2。
-T :从指定的文件中读取要打包的文件列表。
-U :更新已存在的文件,但不覆盖。
-V :创建具有特定卷号的归档文件。
-w :在创建或更新文件时确认。
-X :排除某些文件或模式。
-Z :使用压缩工具压缩或解压缩文件,与 -z 参数类似。
这些参数可以组合使用,以满足不同的打包和解包需求。例如, tar -czvf archive.tar.gz file1 file2 会创建一个名为 archive.tar.gz 的 gzip 压缩归档,包含 file1 和 file2 。在实际使用中,可能需要根据具体需求选择合适的参数。