lrwxrwxrwx. 1 oracle oinstall 10 Oct 14 03:47 abc -> xyz
drwxr-xr-x. 6 oracle oinstall 4 Oct 26 21:11 xyz
xyzにabcというシンボリックリンクがあることを確認したいと思います。
答え1
ファイルまたはディレクトリへの逆参照またはシンボリックリンクの数はありません。
たとえば、xyzディレクトリを削除することは完全に有効です。シンボリックリンクがあってもこれを防ぐことはできず、xyzのデータが破損するのを防ぐこともできません。すべてのシンボリックリンクは、そのリンクを開こうとしたときにのみ無効と認識され、「壊れたリンク」になります。
次の場合、状況は非常に異なります。ハードリンク。
答え2
そしてzsh
:
print -rC1 - **/*(ND@e['[[ $REPLY -ef xyz ]]'])
隠しディレクトリ()を含む任意の名前()、サブディレクトリ()、およびサブディレクトリレベル()を使用してシンボリックリンク()としてolumnprint
r
にあるawタイプのファイルは、一致するもの()がなくても問題を引き起こしません。ファイルシンボリックリンクが解決された後のファイルと同じです()。1
C
@
*
**/
D
N
xyz
-ef
また、他のシンボリックリンクやxyz
。
ターゲットがリテラル文字列であるシンボリックリンクを見つけるには、xyz
次のようにします。
find . -lname xyz
答え3
abc
現在のディレクトリでfilesという名前のすべてのリンクを見つけるには、xyz
次のコマンドを使用します。
find -L / -samefile `readlink -f xyz` -name abc
readlink -f xyz
ファイルのフルパスに置き換えることができます(実際には現在のディレクトリのファイルに対して実行されます)。
正しいリンク名を知っていますが、xyz
任意の名前のファイルへのすべてのリンクを見つけるには、name
次のように省略できます。
find -L / -samefile `readlink -f xyz`
2> /dev/null
「許可拒否」警告を抑制するためにコマンドの最後に追加することもできます。