展開コマンドのオプションなんて覚えてられないぜ。

そこで、ぼくは .zshrc に以下のようなことを追加してある。
ちなみに元ネタはArchlinuxのフォーラム。本来ならばそこへのリンクを貼るべきなんだけど、もう昔のことなんで、どこから頂いてきたかはもう忘却です。

extract () {
  if [ -f $1 ] ; then
      case $1 in
          *.tar.bz2)   tar xvjf $1    ;;
          *.tar.gz)    tar xvzf $1    ;;
	  *.tar.xz)    tar xvJf $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        ;;
          *.lzma)      lzma -dv $1    ;;
          *.xz)        xz -dv $1      ;;  
          *)           echo "don't know how to extract '$1'..." ;;
      esac
  else
      echo "'$1' is not a valid file!"
  fi
}

alias ex='extract'

エイリアスをexに張っていますが本来ならば、あまり推奨されないことです。
exというコマンドが実は存在している。
このコマンドはテキスト編集のためのコマンド。
ただ、よく知らないし、良く調べてもいないので確かなことは言えませんが、このコマンドが必要になることはないでしょう。
確か非常に原始的なテキストエディタだったはずで、普通はvi, nano, emacs, を使用するでしょうから。