Существует много приложений для извлечения различных типов архивных файлов.
Вам будет сложно запомнить все опции и параметры каждого инструмента архивирования.
Сегодня я наткнулся на простую функцию Bash для извлечения файловых архивов различных типов в Linux.
Эта функция Bash может извлекать наиболее часто используемые форматы архивов, такие как .tar.bz2, .tar.bz, .bz2, .rar, .zip и .7z.
Вам не нужно использовать фактическое приложение для архивирования, распаковки архива!
Просто добавьте эту функцию в свой файл ~/bashrc и вызовите ее для извлечения файлов архива.
Он автоматически найдет и использует соответствующий инструмент архивирования для извлечения файлов.
Не нужно запоминать флаги и опции.
Функция Bash для извлечения файловых архивов различных типов
Откройте ваш файл ~/.bashrc:
$ nano ~/.bashrc
Добавьте в конце следующий фрагмент:
# Bash Function To Extract File Archives Of Various Types
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 ;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via extract()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
$ source ~/.bashrc
С этого момента вы можете просто вызывать эту функцию для извлечения архивов различных типов.
Например, я собираюсь извлечь файл архива .7z с помощью команды:
$ extract archive.7z
Пример вывода:
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_IN,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz (206A7),ASM)
Scanning the drive for archives:
1 file, 16013693 bytes (16 MiB)
Extracting archive: archive.7z
--
Path = archive.7z
Type = 7z
Physical Size = 16013693
Headers Size = 1204
Method = LZMA:23
Solid = +
Blocks = 1
Everything is Ok
Folders: 21
Files: 37
Size: 16625007
Compressed: 16013693
$ extract archive.zip
$ extract archive.zip
bash: /usr/bin/unzip: No such file or directory
Этот скрит упоминается во многих местах в Интернете.
Автор – Игорь Павлов.
Вы используете какие-нибудь другие классные функции Bash?
Пожалуйста, поделитесь ими через раздел комментариев.
Это может быть полезно мне и всем читателям.
Спонсор статьи – обзор Logitech MX Keys