dired

僕の.emacs(からいつの間にか呼ばれる別のファイル)には、

(add-hook 'dired-mode-hook
  (function
    (lambda ()
         (require 'dired-x)
         (setq dired-listing-switches "-alg"))))

(setq dired-guess-shell-alist-user
      (list (list "\\.rie$" "./rie -vtd" "./rie" "rie -vtd" "rie")
	    (list "\\.tar$" "tar tvf" "tar xvf")
	    ))

というところがあります(2番目のやつは実はもう少しあります)。(require 'dired-x)のところがミソですね。describe-modeで機能でも眺めてください。