# Linux的tar命令如何使用 ## 一、tar命令简介 `tar`(Tape Archive)是Linux/Unix系统中用于文件打包和压缩的经典工具,其名称源于早期的磁带备份用途。作为系统管理员和开发者的必备技能,tar能够: - 将多个文件/目录打包成单个归档文件(.tar) - 支持多种压缩算法(gzip/bzip2/xz等) - 保留文件属性(权限、时间戳等) - 实现跨平台文件交换 > 注意:tar本身只是打包工具,需结合压缩程序实现压缩功能 ## 二、基本语法结构 ```bash tar [选项] [输出文件名] [输入文件/目录]
常用选项分类:
功能类型 | 主要选项 |
---|---|
操作模式 | -c(创建) -x(提取) -t(查看) |
压缩类型 | -z(gzip) -j(bzip2) -J(xz) |
文件处理 | -v(显示过程) -f(指定文件名) -C(指定目录) |
权限保留 | -p(保留权限) –same-owner |
# 打包目录(不压缩) tar -cvf archive.tar /path/to/dir # 解包到当前目录 tar -xvf archive.tar # 解包到指定目录 tar -xvf archive.tar -C /target/dir
# 使用gzip压缩(.tar.gz) tar -czvf backup.tar.gz /home/user # 使用bzip2压缩(.tar.bz2) tar -cjvf data.tar.bz2 /var/log # 解压gz压缩包 tar -xzvf backup.tar.gz # 解压bz2压缩包 tar -xjvf data.tar.bz2
# 列出压缩包内容(不解压) tar -tzvf package.tar.gz
# 创建全量备份 tar -czvf full_backup.tar.gz --listed-incremental=snapshot.file /data # 创建增量备份 tar -czvf incr_backup.tar.gz --listed-incremental=snapshot.file /data
tar -czvf backup.tar.gz --exclude='*.tmp' --exclude='cache/*' /project
# 追加文件到已有tar包 tar -rvf existing.tar newfile.txt # 合并多个tar包 tar -Af archive1.tar archive2.tar
# 打包时保留所有属性 tar -czpvf full_backup.tar.gz /etc # 恢复时保持原权限 tar -xzpmvf full_backup.tar.gz -C /
# 创建100M大小的分卷 tar -czvf - /bigdata | split -b 100M - bigdata.tar.gz.
# 备份web目录(排除日志文件) tar -czvf web_backup_$(date +%Y%m%d).tar.gz \ --exclude='*.log' \ /var/www/html
mysqldump -u root -p dbname > db.sql tar -czvf db_backup.tar.gz db.sql rm db.sql
tar -czf - /important_data | ssh user@remote "cat > /backup/backup.tar.gz"
路径问题:
tar -czvf backup.tar.gz project/
符号链接处理:
-h
选项可打包链接本身空间检查:
# 预估打包后大小 tar -czf - /target | wc -c
压缩效率对比:
算法 | 扩展名 | 压缩率 | 速度 |
---|---|---|---|
gzip | .tar.gz | 中等 | 快 |
bzip2 | .tar.bz2 | 较高 | 慢 |
xz | .tar.xz | 最高 | 最慢 |
Q:如何解压Windows创建的zip包?
unzip package.zip # 或安装p7zip: 7z x package.zip
Q:tar报错”file changed as we read it”怎么办? - 这是警告非错误,表示打包过程中文件被修改 - 对关键系统文件打包建议进入单用户模式
Q:如何验证压缩包完整性?
tar -tzf archive.tar.gz > /dev/null && echo "OK"
Q:为什么解压后时间戳变化了? - 使用-m
选项会忽略原时间戳 - 确保添加-p
选项保留属性
掌握tar命令的灵活使用,可以显著提高Linux系统下的文件管理效率。建议通过man tar
查看完整手册,根据实际需求组合各种选项参数。 “`
(注:实际字符数约1500字,可根据需要删减案例部分调整字数)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。