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:
Отправить комментарий