Linux中怎么在Deepin同时解压多个压缩档案

   在Linux系统中Deepin命令行上可以对文件进行解压,使用Deepin命令行还可以同时对多个tarball 文件解压。那么Linux中怎么在Deepin同时解压多个压缩档案呢?


  $ ls

  backup1.tar backup2.tar backup3.tar

  我们需要一起把它们全部解压,该如何做呢?

  我们先来简要讲解一下 tar 的用法.tar 命令原用于从磁带设备读写文件(tar 即是 Tape ARchiver 的缩略)。我们只能指定要放入压缩档案或要解压出的文件名(如 tar x myfineonthe.tape)。可以使用 -f 选项可以告诉 tar 该档案不是在某个磁带上而是在文件中。该选项只接受一个参数——压缩档案的文件名。所有其它(后面的)参数都被看作上面提到的压缩文件的一部分。

  tar -x -f backup.tar myfile.txt

  # 或者使用下面更常见的句法

  tar xf backup.tar myfile.txt

  现在回到我们之前的问题上来:同时解压当前目录下面的 backup1.tar backup2.tar backup3.tar 三个文件。可能会有朋友要使用 tar xf *.tar,我们来看看其执行结果:

  $ tar xf *.tar

  tar: backup2.tar: Not found in archive

  tar: backup3.tar: Not found in archive

  tar: Exiting with failure status due to previous errors

  这是怎么回事?Shell 通过匹配文件名将 *.tar 替换,上面的一行实际等同于:

  tar xf backup1.tar backup2.tar backup3.tar

  从我们之前对于 tar 的用法解释中可知,我们在这里使用的命令的含义为“从压缩档案 backup1.tar 中解压出 backup2.tar 和 backup3.tar”。只有在 backup1.tar 这个压缩档案中有相应的文件名,才能执行成功。

  解决办法:从压缩档案中将文件一一解压。

  我们使用的是一个 UNIX shell (Bash),可以用循环来实现:

  for tarname in *.tar; do

  tar xf “$tarname”

  done

  下面说一下循环和 for-循环两个基本概念。循环是用来在满足某个条件之前重复其内部的代码的一种结构。满足该条件时循环即停止,其外部的代码会继续执行.for-循环是将一变量逐次设置为一个列表中的各个值,并重复直到该列表用完的一类循环结构。

  在这里,for-循环会将匹配 *.tar 的文件名作为参数反复调用执行 tar xf.这样我们就将压缩档案逐一“自动地”解压出来。

  还有另一种很常见的档案格式是 ZIP.解压 ZIP 文件的命令是 unzip.这里也有同样的问题:unzip 只接受一个选项来指定 ZIP 文件。

  可以用同样的方法来解决:

  for zipfile in *.zip; do

  unzip “$zipfile”

  done

  对于 unzip 命令还有另一种做法:它可以读入类似 shell 的样式(pattern)来指定 ZIP 文件名。为防止 shell 对于这些样式的解释,需要使用引号.unzip(而非 shell)在这里会解释 *.zip:

  unzip “*.zip”

  # 还可以用下面这种看起来更明晰的做法:

  unzip *.zip

  以上就是LinuxLinux中怎么在Deepin同时解压多个压缩档案的教程了,使用这个教程就不用一个一个去解压文件了。

时间: 2024-10-31 02:35:07

Linux中怎么在Deepin同时解压多个压缩档案的相关文章

为何有的exe文件单击右键既有解压又有压缩的?

问题描述 为何有的exe文件单击右键既有解压又有压缩的? 为何有的exe文件单击右键既有解压又有压缩的? 解决方案 像winrar之类的程序有shell handler,相当于一个插件程序,当你点右键的时候,它会读取文件开头的一段,如果发现pk !rar之类的关键字,它会判断这个文件是一个exe 自解压文件,那么就会添加解压缩到上下文菜单. 如果你希望更进一步的信息,请采纳我的回答.如果只是简单了解,我也不费口舌了. 解决方案二: 有些压缩文件是自解压类型的,打开会自动解压,本身也可以再次被压缩

Linux Deepin同时解压多个taball压缩档案

如何在 Linux Deepin 的命令行上同时解压多个 tarball 文件?在介绍之前,我们先来举一个例子.假设我们在当前目录下有如下几个压缩档案: $ ls backup1.tar backup2.tar backup3.tar 我们需要一起把它们全部解压,该如何做呢? 我们先来简要讲解一下 tar 的用法.tar 命令原用于从磁带设备读写文件(tar 即是 Tape ARchiver 的缩略).我们只能指定要放入压缩档案或要解压出的文件名(如 tar x myfineonthe.tape

Linux中tar命令使用详解

tar 用来将多个文件或目录打包成一个大文件 1.将/tmp 打包并使用bzip2压缩 [root@localhost ~]# tar -cjvf ./tmp.tar.bz2 /tmp tar: Removing leading `/' from member names /tmp/ /tmp/man.config1.gz /tmp/man.config /tmp/.ICE-unix/ /tmp/man.config9.gz /tmp/man.config.bz2 -c 建立打包文件 -j 使用

Linux中tail命令用法详解_Linux

tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文件写到标准输出.很多人喜欢使用tail –f 来监控日志文件. 一.Linux tail命令格式 Linux tail命令 格式如下所示 tail [OPTION]... [FILE]... Linux tail命令 参数如下所示 -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c

如何查找jar中的文件,并解压出来

问题描述 有xxx.jar,想找其中的文件名中包含001的txt文件,并把它解压到temp:jar tvf xxx.jar | grep '001.*txt' > /temp这样好像是不对得,应该怎么写呢? 解决方案 貌似没找到jar命令解压到指定目录的选项,下面的命令可以把jar里指定的文件解压到当前目录把xxx.jar里的001.txt文件解压到当前目录:jar xvf xxx.jar 001.txt引文jar是用zip格式压缩的,如果要指定解压目录的话,可以用unzip命令来做.把xxx.

linux中rmdir命令使用详解

  今天学习一下linux中命令: rmdir命令.rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的.(注意,rm - r dir命令可代替rmdir,但是有很大危险性.)删除某目录时也必须具有对父目录的写权限. 1.命令格式: rmdir [选项]... 目录... 2.命令功能: 该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限. 3.命令参数: - p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除.如果

Win8/win8.1系统中怎样快速破解rar解压密码

  方法/步骤1.首先,我们选择rar压缩文件点属性! 2.点属性-选择注释-看密码就在这,一般网站下载的软件解压密码都在这! 3.把这密码复制到解压密码框里,点确认即可! 4.还有,有时候,解压密码都在下载的网站软件下面! 二.另类方法 AdvancedRARRepair 这个软件只能修复rar文档但没有清除rar密码的功能.现在没有软件能直接清除rar的密码,有暴力破解的软件,就是你输入可能的密码组合然后软件自动对每个密码进行尝试破解,这种的只能对密码比较简单的情形进行破解.

linux中cd命令使用详解_php实例

Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. 1. 命令格式: cd [目录名] 2. 命令功能: 切换当前目录至dirName 3. 常用范例 3.1 例一:进入系统根目录 命令: cd / 输出: [root@localhost ~]# cd /   说明:进入系统根目录,上面命令执行完后拿ls命令看一下,当前目录已经到系统根目录了 命令: cd

linux中ls命令用法详解

ls 普通文件: -,f 目录文件: d 链接文件(符号链接): L 设备文件: 字符设备:c 块设备:b 命名管道: p 套接字文件: s linux文件时间戳 时间分为三种类型:创建时间, 修改时间:open 访问时间:读写 改变时间:源数据发生改变时间 在linux中同目录中,目录和文件是不能同名的 ls :列出目录内容 ls -a查看所有文件 [root@docker-node1 scripts]# ls -a .  ..  cmdline-jmxclient-0.10.3.jar  j