symlinks - シンボリックリンクを管理する
symlinksはディレクトリ中のシンボリックリンクを管理する小さなプログラム。
リストしたり、絶対パス→相対パス変換をしたり、リンク先が存在しないシンボリックリンクを削除したりする。
クラッシュ復旧後など、存在すべきシンボリックリンクが存在しなくて困る場合にそなえて、予めリストを作成しておくといい。インストールはapt一発。
$ apt-get install symlinks
俺の場合、/m以下にデータディスクをマウントしているのでこう。-rで再帰的にサブディレクトリを探索する。-vをつけないと相対パスのシンボリックリンクは表示しないので注意。
$ symlinks -r -v / /m > /log/symlinks
$ ln -s ~/.emacs dotemacs $ ln -s ../../r/.emacs dotemacs.relative $ echo foo > foo $ ln -s foo foo.link $ ls -l 合計 4 lrwxrwxrwx 1 rubikitch users 24 2007-10-07 19:24 dotemacs -> /m/home/rubikitch/.emacs lrwxrwxrwx 1 rubikitch users 14 2007-10-07 19:24 dotemacs.relative -> ../../r/.emacs -rw-r--r-- 1 rubikitch users 4 2007-10-07 19:24 foo lrwxrwxrwx 1 rubikitch users 3 2007-10-07 19:24 foo.link -> foo $ symlinks . other_fs: /tmp/tmpdir00/dotemacs.relative -> ../../r/.emacs other_fs: /tmp/tmpdir00/dotemacs -> /m/home/rubikitch/.emacs $ symlinks -v . relative: /tmp/tmpdir00/foo.link -> foo other_fs: /tmp/tmpdir00/dotemacs.relative -> ../../r/.emacs other_fs: /tmp/tmpdir00/dotemacs -> /m/home/rubikitch/.emacs