Linux命令篇 - tar 命令
2024-09-08 11:10:02
tar
GNU `tar' saves many files together into a single tape or disk archive, and can restore individual files from the archive.
tar
:用于压缩和解压缩文件;
格式
:tar [OPTION...] [FILE]...
# tar命令常用的功能
# 以下功能是独立的, 一次只能使用一个
- -c: 创建新的tar文件;
- -x: 解开tar文件;
- -t: 列出tar文件中含的文件的信息;
- -r: 附加新的文件到tar文件中;
# tar命令常用的参数
- -z: 使用gzip进行解压缩
- -j: 使用bzip2进行解压缩
- -Z: 使用compress进行解压缩
- -v: 显示解压缩执行过程
- -f: 指定要处理的文件名
# 压缩
- tar -cvf xxx.tar /data # 仅对 data 目录打包不进行压缩
- tar -zcvf xxx.tar /data # 对 data 目录打包并以 tar.gz 方式压缩
- tar -jcvf xxx.tar /data # 对 data 目录打包并以 tar.bz2 方式压缩
# 解压
- tar -xvf xxx.tar # 解包
- tar -zxvf xxx.tar.gz # 解压 tar.gz 格式压缩包
- tar -jxvf xxx.tar.bz2 # 解压 tar.bz2 格式压缩包
- tat -zxvf xxx.tar.gz etc/passwd # 解压 tar.gz 格式压缩包, 直解压部分文件夹
常用参数:
OPTIONS | 意义 |
---|---|
-A | 新增文件到以存在的备份文件 |
-B | 设置区块大小 |
-c | 建立新的备份文件 |
-C <目录> | 仅压缩指定目录里的内容或解压缩到指定目录 |
-d | 记录文件的差别 |
-x | 从归档文件中提取文件 |
-t | 列出备份文件的内容 |
-z | 通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz |
-Z | 通过compress指令处理备份文件 |
-f<备份文件> | 指定备份文件 |
-v | 显示指令执行过程 |
-r | 添加文件到已经压缩的文件 |
-u | 添加改变了和现有的文件到已经存在的压缩文件 |
-j | 通过bzip2指令压缩/解压缩文件,文件名最好为*.tar.bz2 |
-v | 显示操作过程 |
-l | 文件系统边界设置 |
-k | 保留原有文件不覆盖 |
-m | 保留文件不被覆盖 |
-w | 确认压缩文件的正确性 |
-p | 保留原来的文件权限与属性 |
-P | 使用文件名的绝对路径,不移除文件名称前的“/”号 |
-N <日期格式> | 只将较指定日期更新的文件保存到备份文件里 |
-- -exclude=<范本样式> | 排除符合范本样式的文件 |
-- -remove-files | 归档/压缩之后删除源文件 |
参考案例:
压缩
- 使用
gzip
压缩格式对目录压缩.tar.gz
# 使用gzip压缩格式对某个目录进行打包操作, 显示压缩过程, 压缩包规范后缀为.tar.gz
# 格式: tar -zcvf 压缩名称.tar.gz 文件目录
# 格式: tar zcvf 压缩名称.tar.gz 文件目录
$ tar -zcvf backup1.tar.gz /etc
......
/etc/selinux/targeted/active/modules/100/passenger/cil
/etc/selinux/targeted/active/modules/100/passenger/hll
/etc/selinux/targeted/active/modules/100/passenger/lang_ext
/etc/selinux/targeted/active/modules/100/pcmcia/
......
- 使用
bzip2
压缩格式对目录压缩.tar.bz2
# 使用bzip2压缩格式对某个目录进行打包操作, 显示压缩过程, 压缩包规范后缀为.tar.bz2
# 格式: tar -jcvf 压缩名称.tar.bz2 /etc
$ tar -jcvf backup2.tar.bz2 /etc
# 问题描述:
## 使用 bz2 需要安装 bzip2 否则会出现 `tar (child):bzip2: Cannot exec :Nosuch of file or directory` 错误
# 解决方法:
## $ yum install -y bzip2 # 安装 bzip2 即可解决
- 对当前目录的
.cfg
后缀文件进行打包,不进行压缩
# 将当前工作目录内所有以.cfg为后缀的文件打包, 不进行压缩
$ tar -cvf backup3.tar *.cfg
- 对当前目录的
.cfg
后缀文件进行打包,不进行压缩,并删除原始文件
$ tar cvf backup4.tar *.cfg --remove-files
解压
- 对
.tar
格式压缩文件解压,解压到当前工作目录
$ tar -xvf backup3.tar
- 对
tar.gz
格式压缩文件解压,解压到当前工作目录
$ tar -zxvf backup1.tar.gz
- 对
tar.bz2
格式压缩文件解压,解压到当前工作目录
$ tar -jxvf backup2.tar.bz2
# 问题描述:
## 在进行 backup2.tar.bz2 解压时出现: `tar (child): bzip2: Cannot exec: No such file or directory` 错误
# 问题解决:
## $ yum install -y bzip2 # 安装 bzip2 即可解决
- 对
tar.gz
格式压缩文件解压,解压到/etc
工作目录
$ tar -zxvf backup1.tar.gz -C /etc
其它操作
- 查看压缩包内文件信息(无需解压)
$ tar -tvf backup4.tar
最新文章
- 在java中如何用键盘输入一个数,字符,字符串
- spark-submit 分发应用
- consul 安装
- 【WP 8.1开发】解决调用真实摄像头会死机的问题
- 学习OpenStack之 (0):基础知识
- ASP.NET MVC学习之控制器篇(二)
- Android系统服务-WindowManager
- 斜率DP题目
- day-7
- Postman用法简介-Http请求模拟工具
- Android事件监听器Event Listener
- 解决Flex4 发布后访问 初始化极其缓慢的问题
- (八)python的简单数据类型和变量
- Unity预计算光照的学习(速度优化,LightProb,LPPV)
- KEIL中逻辑分析仪的使用
- Python爬虫入门教程 23-100 石家庄链家租房数据抓取
- ASP.NET Core身份认证服务框架IdentityServer4(2)-整体介绍
- KMP,深入讲解next数组的求解(转载)
- 使用windows命令和iconv.exe批量转换文件编码
- c# 利用MailKit.IMap 收取163邮件