アプリ版:「スタンプのみでお礼する」機能のリリースについて

サーバー上の要らなくなったディレクトリを削除しようと思っています。
ただ、その配下の階層のどこかに、他からシンボリックリンクで参照されているファイルやフォルダがあるかもしれません。
そういう状況の有無を手軽に調べる方法はあるのでしょうか。

A 回答 (2件)

多分ファイル自体はどこからシンボリックリンクされているかは知らないと思いますので、


まずシンボリックリンクを全体から探します。
find / -type l -ls
でシンボリックリンクファイルとリンク先が出力されます。
それをもとにリンクされているか探せます。
    • good
    • 3
この回答へのお礼

ありがとうございました!
この方法を頼りに探せる範囲内の数のシンボリックリンクでした。
今回削除したいディレクトリ内のファイルやフォルダを参照するシンボリックリンクはありませんでした。

お礼日時:2013/10/18 01:23

どのシンボリックリンクが参照しているか分からなくても良いなら、


こんな感じでできます。
find / -type l -exec readlink {} \; | grep -cFx <検索対象のファイル>

→参照されている数を表示します。

どのシンボリックリンクが参照しているか分かる必要があるなら、
こんな感じでできます。

find / -type l | while read LINK; do
readlink "$LINK" | grep -Fx <検索対象のファイル> >/dev/null && echo "$LINK"
done

この回答への補足

望んでいる方向の内容をご回答いただいたのでベストアンサーとさせていただきます。

補足日時:2013/10/18 01:27
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
頂いたアドバイスのように、一発で調べる方法を知りたいと思っていました。
ただ、いただいたアドバイスの最初のものを試しましたが、私の打ち込み方が悪かったのか、うまく行きませんでした。

ご回答いただいたお二人のものを合わせた感じで

find ~/www/ -type l -ls | grep -E '\->.+/dirName/.+'

とやってみたところ、消したいディレクトリ(dirName)配下のファイルやフォルダを参照先にしたシンボリックリンクがリストアップされました。
ただし、消したいディレクトリと同名のディレクトリが他の場所に存在する場合、そのディレクトリ配下のものを参照するものもリストアップされると思います。が、ここまで出来ればあとはなんとかなります。

ありがとうございました。

お礼日時:2013/10/18 01:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!