命令行归档管理器/提取器

bri*_*out 17 command-line archive scripts compression file-roller

我一直忘记每种压缩格式的所有相应提取命令。

所以我正在考虑编写一个脚本,只将文件扩展名映射到适当的提取命令。但我想这样的东西已经存在,我只是找不到它。

我对 file-roller 之类的东西很满意,但 file-roller 是一个 GUI 工具。

fos*_*dom 12

几个建议:

解压

unp(可从软件中心获得)是一个小的 perl 模块,它将各种档案解压缩到当前文件夹中。使用unp -s的归档格式支持

默认情况下,它将档案解压缩到当前文件夹中。

文件滚轮

file-roller 本身可以从命令行运行。使用file-roller -h <archive name>解压缩文档。


fra*_*ous 11

这里,放入你的 .bashrc:

extract () {
   if [ -f $1 ] ; then
      case $1 in
         *.tar.bz2)   tar xjf $1      ;;
         *.tar.gz)   tar xzf $1      ;;
         *.bz2)      bunzip2 $1      ;;
         *.rar)      rar x $1      ;;
         *.gz)      gunzip $1      ;;
         *.tar)      tar xf $1      ;;
         *.tbz2)      tar xjf $1      ;;
         *.tgz)      tar xzf $1      ;;
         *.zip)      unzip $1      ;;
         *.Z)      uncompress $1   ;;
         *)         echo "'$1' cannot be extracted via extract()" ;;
      esac
   else
      echo "'$1' is not a valid file"
   fi
} 
Run Code Online (Sandbox Code Playgroud)

  • 解压文件.zip (4认同)

小智 5

什么还没有提到的是瑞士军队刀的命令行实用程序:atool; 它在存储库中可用:单击atool 安装工具或运行sudo apt-get install atool

atool实际上是一个包含aunpack、apack、als、acat、adiff、arepack等各种函数的脚本。该程序最常见的用途可能是使用 aunpack 命令提取档案。有很多有趣和有用的选项,但是提取大多数档案的基本方法就是运行,例如,

aunpack myarchive.tar
Run Code Online (Sandbox Code Playgroud)

对 tar、7z、zip、jar、rar、ar、lha 和更多存档格式及其变体的支持通过man atool在终端中输入或通过在线查看Ubuntu 手册页来记录

因此,有用的是,如果您在同一文件夹中有 tar、zip 和 gz 存档,那么您只需运行即可将它们全部解压缩

aunpack -e *
Run Code Online (Sandbox Code Playgroud)

并且所有支持的档案都将被解压并保留其文件夹结构。如果生成的文件夹的名称已经存在,它不会被覆盖,但会被赋予一个唯一的名称,如 unpack-5645。

或者,如果您只想选择一种类型的存档并将它们全部解压缩,请改用

aunpack -e *.zip
Run Code Online (Sandbox Code Playgroud)

如果需要直接在特定目录中解压文件,只保留子文件夹目录结构(如果存在),输入,例如,

aunpack -e Scripts11.zip -X /home/mike/Videos
Run Code Online (Sandbox Code Playgroud)

如果已存在同名文件,除非您-f在命令中指定了强制选项 ( ),否则将提示您执行重命名或覆盖操作。

正如联机帮助页所述, aunpack 首先提取

文件到一个唯一的(临时)目录,然后如果可能的话 mov[es] 返回它的内容。这也防止了本地文件被错误覆盖。


使用其他工具,可以执行其他操作,如手册页所述

  • apack从指定的文件或文件夹或标准输入创建档案
  • als 列出指定档案中的文件
  • acat使人们能够将存档文件提取到标准输出
  • adiff使您能够比较指定的两个档案
  • arepack可以通过将原始存档的内容放在临时文件夹中,然后重新打包新的存档格式,从而将一种存档格式转换为另一种格式。

所有实用程序都有更多有用的选项,但使用最多的可能是 aunpack,因为这样可以轻松提取多个不同的档案。能够只发出一个命令并能够提取多种不同的存档格式,而不必使用各种命令来执行 tar、zip 等,这真是太好了。

有关描述如何将 atool 功能集成到文件管理器(例如 Thunar)的自定义操作中的最新文章,请参阅此在线杂志