Linux 和 Windows 上都有很多压缩标准和文件格式,例如 .tar.gz、.tar.xz、.7z、.rar、.tar.bz .tar、.tbz2、.zip、.bz2、还有很多。 虽然您当然可以(并且应该)记住所有命令。 但这需要艰苦的工作。
为什么不创建一个脚本来简化提取过程呢? 在本文中,我们将做到这一点。
备份你的 .bashrc
在我们修改 BashRC 中的任何内容之前,让我们先备份它,以便在出现问题时可以恢复它。 打开您的终端应用程序,然后键入以下命令:
cp .bashrc bash.bak
安装所有提取包
为了让这个脚本工作,我们需要在我们的系统上安装一些包。 为此,请打开终端并根据您的发行版键入以下命令:
对于 Ubuntu 和基于 Ubuntu 的系统:
sudo apt update && sudo apt install unrar p7zip-full p7zip-rar unzip gzip
对于 Arch Linux 和基于 Arch 的发行版:
yay -S 7-zip && sudo pacman -S unrar unzip gzip
为了 Fedora 工作站:
sudo dnf install p7zip p7zip-plugins unrar unzip gzip
编写一个 Bash 脚本来提取所有包
在终端中,在您喜欢的文本编辑器(例如 nano 或 vim)中打开 bashrc 文件,如下所示:
nano .bashrc
要么
vim .bashrc
转到底部,然后复制并粘贴以下脚本:
extract () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xvjf $1 ;; *.tar.gz) tar xvzf $1 ;; *.tar.xz) tar xf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xvf $1 ;; *.tbz2) tar xvjf $1 ;; *.tgz) tar xvzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *.7z) 7z x $1 ;; *) echo "don't know how to extract '$1'..." ;; esac else echo "'$1' is not a valid file!" fi }
按 Ctrl+O 保存文件,然后按 Ctrl+X 退出 nano 文本编辑器。 或者按 Escape 键并在 vim 文本编辑器中输入 :wq 保存并退出。
重新加载 Bash
现在重新加载你的 bash 以便它通过重新启动终端或键入以下命令来识别新创建的 bashrc 文件:
source .bashrc
创建压缩样本文件
使用此命令创建多个文件夹:
mkdir folder1 folder2 folder3
现在使用以下命令压缩它们:
tar -czvf folders.tar.gz folder1 folder2 folder3
删除这些文件夹,因为我们将演示它们的提取,它将创建一个副本。
rm -r folder1 folder2 folder3
使用我们的自定义命令提取压缩文件
现在我们知道提取 tar.gz 文件需要我们运行 tar xzvf archivename
命令,但我们可以简单地编写以下命令来提取任何压缩文件:
extract folders.tar.gz
概括
正如我们所看到的,我们的小脚本就像一个魅力。 您可以通过键入使用此命令提取任何压缩文件格式 extract filename.extension
.