Realmente com um uso freqüente, eu faço diferença entre extrair (x) dados e compactar (c) dados:
Para extrair:
tar xzf data.tgz
Para compactar:
tar czf data.tgz
Além disso, você também pode adicionar duas funções ao seu .bashrc:
function extract () {
if ($# -ne 1); then
echo "Usage: $0 '<compressed archive>"'
exit 1
fi
tar xzf $1
}
function compress () {
if ($# -ne 2); then
echo "Usage: $0 '<compressed archive> <files|directories>"'
exit 1
fi
tar czf $1 $2
}
Há outra função de extração legal, que detecta a extensão do seu arquivo compactado e faz o trabalho para você:
extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $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
}