おおいしつかさ


旅行とバイクとドライブと料理と宇宙が好き。
Ubie Discoveryのプログラマ。
Share:  このエントリーをはてなブックマークに追加

pushdを教えてもらう

 考えてみると、普通にまわりにプログラマがいる環境というのはずいぶんとひさしぶりです。今日は同じ職場のperl使いの人に、pushdというコマンドを教えてもらいました。

[tsukasa@] $ pushd /tmp                                                     
/tmp ~  
[tsukasa@] $ pwd                                                         
/tmp  
[tsukasa@] $ pushd /var                                                  
/var /tmp ~  
[tsukasa@] $ pwd                                                         
/var  
[tsukasa@] $ dirs                                                        
/var /tmp ~  
[tsukasa@] $ pushd +2                                                    
~ /var /tmp  
[tsukasa@] $ pwd                                                            
/home/tsukasa  
[tsukasa@] $ pushd devel                                                    
~/devel ~ /var /tmp  
[tsukasa@] $ pushd kaeruspoon                                         
~/devel/kaeruspoon ~/devel ~ /var /tmp  
[tsukasa@] $ pwd                                           
/home/tsukasa/devel/kaeruspoon  
[tsukasa@] $ dirs                                          
~/devel/kaeruspoon ~/devel ~ /var /tmp  
[tsukasa@] $ pushd -2                                      
~ /var /tmp ~/devel/kaeruspoon ~/devel  
[tsukasa@] $ pwd                                                            
/home/tsukasa  
[tsukasa@] $ dirs                                                           
~ /var /tmp ~/devel/kaeruspoon ~/devel  
[tsukasa@] $ popd                                                           
/var /tmp ~/devel/kaeruspoon ~/devel  
[tsukasa@] $ popd                                                        
/tmp ~/devel/kaeruspoon ~/devel  
[tsukasa@] $ popd                                                        
~/devel/kaeruspoon ~/devel  

 見ただけで使いかたはわかると思うけど、ようはスタックに、移動したディレクトリの情報がプッシュされていくのです。ちなみにpushdしただけでディレクトリも移動します。popdはもちろんスタックの一番上から取り出されるし、dirsはスタックの一覧表示をします。
 ”pushd +2”みたいな使いかたもできて、+だとスタックの上からカウントしたディレクトリへ、-だと下からカウントしたディレクトリへ移動できちゃいます。おー、すげー。