当前位置: 首页 > article >正文

【Linux】tar 压缩使用绝对路径时解压会出现多级文件夹

tar 压缩使用绝对路径时解压会出现多级文件夹

写了一段代码,其中需要执行一段linux命令,用来压缩文件
遇到的问题是
原文件路径:/usr/userdata/log/1.txt

将其压缩为1.tar.gz

我在程序里面写的命令是

tar -czf /usr/userdata/log/1.tar.gz /usr/userdata/log/1.txt

这样的压缩命令执行了之后会有一个问题

当你在这个目录下 /usr/userdata/log/解压的时候,使用tar -xzvf 1.tar.gz 会为你在这个目录下再创建一个/usr/userdata/log/然后将解压文件放在这里

如何解决这个问题呢?

有三种方法:(我推荐第三种)

1、加上参数-P

压缩的时候加上参数P

tar -czPf /usr/userdata/log/1.tar.gz /usr/userdata/log/1.txt

注意 解压的时候你也要加上参数P

tar -xzvPf 1.tar.gz

这样就可以在这级目录下正常解压了

ps:这个方法不能算完全解决了问题,它为解压增加了复杂度

2、使用cd

压缩之前,加一条命令 cd /usr/userdata/log/ 然后使用相对路径去压缩

tar -czf 1.tar.gz 1.txt

这个方法是可以解决,但是有的时候,程序运行中我们不希望切换目录,所以也不太好

3、使用参数 -C指定压缩的目录

tar -czf /usr/userdata/log/1.tar.gz -C /usr/userdata/log 1.txt

注意,-C 之后跟着要压缩文件的目录,然后是空格,然后是文件名称

这样压缩出来的文件,再去解压,就可以正常解压,没有多级文件夹的问题


http://www.kler.cn/a/329688.html

相关文章:

  • OpenVela——专为AIoT领域打造的开源操作系统
  • 在21世纪的我用C语言探寻世界本质——字符函数和字符串函数(2)
  • C语言进阶习题【1】指针和数组(3)——一维指针指向字符数组首元素地址
  • 差分(前缀和的逆运算)
  • Vue3中ref和reactive的区别
  • 算法与数据结构——复杂度
  • 显示adb报错,uniapp安装自定义基座
  • spring6启用Log4j2日志
  • MySQL高阶2066-账户余额
  • 本地部署开源在线PPT制作与演示应用PPTist并实现异地远程使用
  • 【python实操】python小程序之过七游戏以及单词单复数分类
  • Java - LeetCode面试经典150题(三)
  • 交换基础【计算机网络】
  • MySQL 5.7 数据库的备份与恢复
  • Java项目实战II基于Java+Spring Boot+MySQL的美容院管理系统设计与实现(源码+数据库+文档)
  • 在线css像素px到rem的转换器
  • 准备蓝桥杯和ACM:C++标准库头文件及其常用功能简介
  • 服务器使用frp做内网穿透详细教程,请码住
  • Js运算符(操作符)
  • Swoft2.0学习笔记
  • ESP32 Bluedroid 篇(1)—— ibeacon 广播
  • 软件设计——随手笔记
  • Pytest+selenium UI自动化测试实战实例
  • (8)mysql容器启动第一次无论输入密码与否均会报错处理
  • 检索增强生成(RAG)有什么好的优化方案?
  • 拦截器 Interceptor 详解