当前位置: 首页 > 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/news/329688.html

相关文章:

  • 显示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 详解
  • react中的ref三种形式
  • C# Windows EventHandler事件的使用
  • 足球青训俱乐部管理:Spring Boot技术驱动
  • 两个圆形 一个z里面一个z外面,z里面的大,颜色不同 html
  • 通信工程学习:什么是FTP文件传输协议
  • C++系列-继承补充
  • 【Redis 源码】7RDB持久化
  • 迈德斯特升降桌使用说明
  • 5个python多线程简单示例
  • 封装轮播图 (因为基于微博小程序,语法可能有些出入,如需使用需改标签)