2020/03/12

[linux]存在しないディレクトリから相対移動する

長いタイトルを付けたくなかったので省略してしまった。
どういう状況かを説明せねばなるまい。

  • よく使うディレクトリの階層が深いので、シンボリックリンクを作った
  • cdでシンボリックリンク先に移動して作業していた。そのときにディレクトリを作った。一時的なデータを入れているなどと思ってもらえば良かろう。
  • 作ったディレクトリの中で作業中、一時的なディレクトリを全部消すスクリプトを走らせた
  • また一時的なディレクトリを作るところからやり直したいので、1つ上のディレクトリに移動しよう

状況を省略すると「シンボリックリンク先でmkdirしたディレクトリの中にいる状態でそのディレクトリが削除されたので、cd ..で上に戻りたい」だ。

 

~$ mkdir -p a/b/c/d/e/f
~$ ln -s a/b/c/d/e qqq
~$ cd qqq
~/qqq$ ls
f
~/qqq$ cd f
~/qqq/f$ rm -rf ~/a/b/c/d/e/f
~/qqq/f$ cd ..
~/a/b/c/d/e$

 

そう、私はqqqに戻ってほしかったのだが、オリジナルの方に飛んでしまったのだ。
相対ディレクトリの元が消えてるのだから、相対と言われても困るのだろう。

`pwd`はまだ使えるのだが、そこから最後のディレクトリ名だけを取り除く、なんてことをやるくらいだったら、普通にcdで移動し直した方が早い気がする。

cd `dirname $PWD`

こんな感じでできそうではあるのだが、aliasに入れておいて使うのかどうか。。。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。