extract () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xjf $1 ;; *.tar.gz) tar xzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 -C /homee/*/archive ;; *.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 ;; *.tbz) tar xjvf ;; *) echo "я не в курсе как распаковать '$1'..." ;; esac else echo "'$1' is not a valid file" fi } Если создать в домашней директории папку archive, то при распаковке все отправится туда, иначе в домашнюю, если это не надо, можно убрать -C /home/*/archive и все, если надо для всех распаковак так или еще как то можно примерно так для всех и прописать # упаковка в архив pk () { if [ $1 ] ; then case $1 in tbz) tar cjvf $2.tar.bz2 $2 ;; tgz) tar czvf $2.tar.gz $2 ;; tar) tar cpvf $2.tar $2 ;; bz2) bzip $2 ;; gz) gzip -c -9 -n $2 > $2.gz ;; zip) zip -r $2.zip $2 ;; 7z) 7z a $2.7z $2 ;; *) echo "'$1' cannot be packed via pk()" ;; esac else echo "'$1' is not a valid file" fi }
Для распаковки например файла /home/user/file.7z
Переход в папку
cd ~/
Просмотр, есть ли файл если конечно надо
ls
extract file.7z
или одной командой т.к. по умолчанию терминал в домашней дериктории
extract file.7z
и готово
Для запаковки распакованного каталога
pk zip file
Взято тут
0 K:
Отправить комментарий