Linux 下 tar 命令归档与压缩完整指南
存档文件是包含多个文件的单个常规文件或设备文件可用于创建可管理的个人备份或者在其他方法如 rsync不可用时简化通过网络传输文件的任务。在 Linux 系统中tar实用程序是用于创建、管理和提取存档的常用命令。存档文件可以使用或不使用压缩不使用压缩仅将多个文件打包成一个文件大小基本不变使用压缩通过压缩算法减小存档文件体积tar 命令基础操作必需的操作选项执行 tar 操作需要以下命令操作之一-c或--create创建存档文件-t或--list列出存档的内容-x或--extract提取存档常用选项-v或--verbose显示在 tar 操作期间存档或提取的文件-f或--file指定要创建或打开的存档文件名-p或--preserve-permissions提取时保留原始文件权限--xattrs启用扩展属性支持存储扩展的文件属性--selinux启用 SELinux 上下文支持存储 SELinux 文件上下文创建存档文件基本创建命令要使用tar命令创建存档使用create和file选项并将存档文件名作为第一个参数后跟要纳入存档的文件和目录列表。1tar-cf mybackup.tarmyapp1.log myapp2.log myapp3.log重要特性tar命令可识别绝对和相对文件名语法默认情况下tar从绝对文件名中删除前导正斜杠 (/) 字符使用相对路径名在内部存储文件这种技术更为安全因为使用相对路径名存档文件时可以将文件提取到新目录而不会覆盖现有文件权限要求用户必须具有被归档的目标文件的读取权限。例如在/etc目录中创建归档需要 root 特权因为只有特权用户才能读取所有/etc文件。查看存档内容使用tar命令的t选项可列出通过f选项指定的存档中的文件名1tar-tf/root/etc.tar文件是使用相对名称语法列出的因为在存档创建期间删除了前导的正斜杠。提取存档内容基本提取命令1tar-xf/root/etc.tar最佳实践将 tar 存档提取到空白目录中以免覆盖现有的文件。权限处理当 root 用户提取存档时提取的文件会保留原始的用户和组所有权如果是常规用户提取文件则该用户将成为所提取文件的所有者从存档中提取文件时当前的 umask 用于修改提取的每个文件的权限使用tar命令的p选项可保留提取的文件的原始存档权限1tar -xpf /home/user/myscripts.tar压缩存档支持的压缩算法tar命令支持多种压缩方式gzip 压缩选项-z最快的旧方法跨平台广泛使用生成.tar.gz或.tgz后缀bzip2 压缩选项-j可创建较小的存档但使用不如 gzip 广泛生成.tar.bz2后缀xz 压缩选项-J更新的技术提供的压缩率在可用方法中最好生成.tar.xz后缀创建压缩存档示例123456# 使用 gzip 压缩tar-czf/root/etcbackup.tar.gz/etc# 使用 bzip2 压缩tar-cjf/root/logbackup.tar.bz2/var/log# 使用 xz 压缩tar-cJf/root/sshconfig.tar.xz/etc/ssh验证压缩存档内容创建存档后使用tar命令的tf选项来验证其内容。列出压缩存档文件时不需要指定压缩选项因为压缩类型是从存档标头中读取的1tar-tf/root/etcbackup.tar.gz提取压缩存档tar命令可以自动确定使用的压缩方式因此不需要指定压缩选项1tar-xf/root/etcbackup.tar.gz注意如果包含了不正确的压缩类型tar将报告指定的压缩类型与文件的类型不匹配。独立压缩工具gzip、bzip2和xz算法也作为独立命令实施用于在不创建归档的前提下压缩单个文件。但这些命令不允许在创建的单个压缩文件中包含多个文件。查看压缩文件信息gzip和xz命令提供了-l选项可用于查看压缩的单个文件或归档文件的未压缩大小12gzip-lfile.tar.gzxz -lfile.xz在解压缩或提取文件之前使用此选项来验证是否有足够的可用空间。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2479497.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!