学无先后,达者为师

网站首页 编程语言 正文

Linux命令之美|linux使用tar误解压之后,如何删除解压后的文件

作者:奔跑的码仔 更新时间: 2022-07-12 编程语言

可否有这样的经历,在工作环境下,解压了一个超大、文件超多的压缩包,比如,big-bag.tar.gz,解压的一瞬间,你猛然发现,忘记新建一个文件夹了,解压后的文件和原有的文件、文件夹混在一起了,是不是很崩溃,😦

可是,不要忘记,你现在使用的是Linux系统,没有Linux命令接解决不了的问题,一个不行,用两个。

先说解决方案:

$ tar -jxvf big-bag.tar.gz  #这是手残解压的命令
$ tar -tf big-bag.tar.gz | xargs rm -rf #这是删除解压后的文件的命令

没错,就是这么简单!

说下原理,

  1. tar
  • tf:这是tar的选项组合,-t用于打印压缩包中的文件,-f表示以档案的方式访问文件。
  1. xargs
    这个命令厉害了,它以标准输入为参数,构建和执行命令,比如:
$ echo -l | xargs ls # xargs以-l作为参数,执行ls,等于执行ls -l
  1. 所以,删除解压后的文件的原理就是:以tar -tf 列出big-bag.tar.gz中的文件列表,然后,使用rm删除列表中的每个文件!

这就是,类Unix系统命令独特的魅力,命令+管道=组合威力:一个命令只做简单的一件事,做到极致,然后,通过管道"|",将多个命令组合起来,就可以完成十分复杂的功能。真是有趣🤔

原文链接:https://blog.csdn.net/lhl_blog/article/details/123381519

栏目分类
最近更新