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)
小智 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] 返回它的内容。这也防止了本地文件被错误覆盖。
使用其他工具,可以执行其他操作,如手册页所述:
所有实用程序都有更多有用的选项,但使用最多的可能是 aunpack,因为这样可以轻松提取多个不同的档案。能够只发出一个命令并能够提取多种不同的存档格式,而不必使用各种命令来执行 tar、zip 等,这真是太好了。
有关描述如何将 atool 功能集成到文件管理器(例如 Thunar)的自定义操作中的最新文章,请参阅此在线杂志。