historyコマンドを実行すると、こんな感じで「番号」「コマンド」という順番ででてきます。
$ history 10 558 basename `dirname hoge/huga/ruby.rb` 559 basename `dirname hoge/huga/ruby.rb` 560 history 561 basename `dirname hoge/huga/ruby.rb` 562 echo 'yeah!' 563 echo 'yeah!' 564 echo 'hello' 565 history 566 history 567 history 10
ここで、
$ !561
のように「!番号」とコマンドを叩くと
$ !561 basename `dirname hoge/huga/ruby.rb` huga
と、コマンドが表示された後、結果が出てきます。
再度historyコマンドで確認すると
$ history 5 565 history 566 history 567 history 10 568 basename `dirname hoge/huga/ruby.rb` 569 history 5
とちゃんと展開後の名前で履歴が残ります。