cd – でひとつ前のディレクトリに戻り pushd で記録移動して popd でぐんぐん戻れるので alias を作ろう

作業をしていたら TL にこんなつぶやきが。

pushdとpopdも便利よ RT @soraiy: なんだってえええええええええええええ!!!!!!!RT @mitukiii: そういえば「$ cd -」で前いたディレクトリに戻れること知らない人って意外といる気がする。Sat Nov 06 07:33:42 via Echofon

知らなかった。pushd とか popd については以下が役に立ちました。
404 Blog Not Found:tips – 君はpushd|popdを知っているか?

この程度知らないとか本当に底辺ですね。恥ずかしくて生きていけないです。

とりあえずテストしてみました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
sorai@soraimac:~$ cd ~/Dropbox/
sorai@soraimac:~/Dropbox$ cd -
/Users/sorai
sorai@soraimac:~$ cd -
/Users/sorai/Dropbox
sorai@soraimac:~/Dropbox$ pushd /Users/sorai/Dropbox/Sites/
~/Dropbox/Sites ~/Dropbox
sorai@soraimac:~/Dropbox/Sites$ cd /
sorai@soraimac:/$ popd
~/Dropbox
sorai@soraimac:~/Dropbox$ popd
-bash: popd: directory stack empty
sorai@soraimac:~/Dropbox$ pwd
/Users/sorai/Dropbox
sorai@soraimac:~/Dropbox$ popd
-bash: popd: directory stack empty
sorai@soraimac:~/Dropbox$ pushd ~/Dropbox/Sites/
~/Dropbox/Sites ~/Dropbox
sorai@soraimac:~/Dropbox/Sites$ pushd ~/Dropbox/Sites/sorai/
~/Dropbox/Sites/sorai ~/Dropbox/Sites ~/Dropbox
sorai@soraimac:~/Dropbox/Sites/sorai$ cd /
sorai@soraimac:/$ pushd ~/Dropbox/Sites/work/
~/Dropbox/Sites/work / ~/Dropbox/Sites ~/Dropbox
sorai@soraimac:~/Dropbox/Sites/work$ popd
/ ~/Dropbox/Sites ~/Dropbox
sorai@soraimac:/$ pwd
/
sorai@soraimac:/$ popd
~/Dropbox/Sites ~/Dropbox
sorai@soraimac:~/Dropbox/Sites$ popd
~/Dropbox
sorai@soraimac:~/Dropbox$ popd
-bash: popd: directory stack empty
sorai@soraimac:~/Dropbox$

あ、なるほど。pushd は移動しながら記録するってことですね。そうしたら cd を置き換えるのが良いですね。popd で一度戻ると解放してなくなるんですね。ならば、以下のように .bashrc と書けばOKですね。

1
2
alias cd="pushd"
alias bd="popd"

ちなみに今の僕の .bashrc はこうなっています。

コメント

この記事にコメントする

Trackback URL