えー、今日ちょっとびっくりしたので、忘備録として。。。
FreeBSD9.xでの挙動だったので、GPLなcoreutilsベースなものだったりすると違うかも知れませんが。
前提: 以下のようにディレクトリへのsymlinkがあった。
/foo/bar -> /baz/bababa/
カレントワーキングディレクトリを以下 /foo とします。
ここで、barをbar.bakにmvしたいと思ったが、ちょっとサボってtcshのファイル名コンプリーションに頼ってしまい、
mv bar/ bar.bak
を実行して、ls とすると、なんと bar.bak の他に bar も残っている。。。。
なんと、
/baz/bababa というディレクトリを /foo/bar.bak にmvしたという。。。
いや、そういう振る舞いをするソースコードが思わず頭に浮かびましたけど:-)、ちょっとご無体な、、という気分。
で、/foo/bar は存在しない /baz/bababa を指しているという。。。
慌てて元に戻しましたけどね。
0 件のコメント:
コメントを投稿