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


15

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

因此,我正在考虑编写仅将文件扩展名映射到适当的extract命令的脚本。但我想类似的东西已经存在,我只是找不到。

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

Answers:


11

一些建议:

解压

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

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

文件滚轮

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


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
} 

添加一个如何使用它的示例?
MiniGod 2014年

4
解压缩file.zip
frabjous 2014年

4

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

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

aunpack myarchive.tar

对tar,7z,zip,jar,rar,ar,lha以及其他更多归档格式的支持及其变体可通过man atool在终端中输入内容或在线查看Ubuntu手册来记录

因此,有用的是,如果您在同一文件夹中有tar,zip和gz归档文件,则提取它们所需要做的就是运行

aunpack -e *

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

或者,如果您只想选择一种存档文件并将其解压缩,请改用

aunpack -e *.zip

如果您需要直接在特定目录中解压缩文件,并且仅保留子文件夹目录结构(如果退出),请输入,例如

aunpack -e Scripts11.zip -X /home/mike/Videos

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

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

将文件复制到唯一的(临时)目录,然后尽可能将其内容移回。这也可以防止本地文件被错误覆盖。


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

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

所有实用程序都有许多更有用的选项,但是使用最多的一种可能是aunpack,因为这样可以轻松提取多个不同的档案。能够仅发出一个命令并能够提取多种不同的存档格式,而不必对tar,zip等使用各种命令,这是很棒的。

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


3

有一个工具叫做dtrx-正确提取。

从Ubuntu存储库安装它并运行dtrx somefile.someext。该工具将以交互方式向用户查询嵌套档案(zip文件的zip)。

dtrx是frabjous的摘录的复杂版本。


0

您需要处理哪种格式?一种方法是编写一个shell脚本,该脚本检查其参数的扩展名。或者,如果您只处理.tar。*上的变体,只需执行即可tar -xf自动处理大多数此类问题。(因此,我仅记住这一点,unzip并且满足我通常遇到的所有问题。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.