web-dev-qa-db-ja.com

Linux +ファイルがリンクによってポイントされているかどうかを識別する方法

-192.9.200.1という名前の新しいファイルを作成します

    touch 192.9.200.1

次に、192.9.200.1ファイルを指す新しいリンクを作成します

    ln -s 192.9.200.1 file

だから最終的に私は得る:

     ls -ltr /tmp

    -rw-r--r--  1 root root        0 May  8 19:39 192.9.200.1
    lrwxrwxrwx  1 root root       11 May  8 19:39 file -> 192.9.200.1

しかし、192.9.200.1ファイルでls -ltrを実行すると、他のリンクが192.9.200.1を指しているかどうかがわかりません。

     ls -ltr 192.9.200.1
      -rw-r--r-- 1 root root 0 May  8 19:39 192.9.200.1

ファイルまたはディレクトリにリンクがあるかどうかを識別する方法は何ですか?

  • 備考リンクを見つけるために/ tmpディレクトリの下のls-ltrを実行したくない!
4
yael

シンボリックリンクは、Windowsのショートカットに似ています。これは、別のファイルを指すファイルシステムのエントリです。宛先ファイルは変更されず、元のファイルのメタデータに変更は加えられません。リンク先ファイルがリンクされているかどうかはわかりません。

Lsからの情報を見ただけでは、ファイルにそのファイルを指すシンボリックリンクがあるかどうかを判断することはできません。

ただし、ハードリンクは、ディレクトリリストに表示されるファイルシステムのリンク数を増やします。 2つのファイルを同じデータにハードリンクすると、両方に2のリンク数が表示されます

4
USD Matt

ファイルまたはディレクトリにリンクがあるかどうかを識別する方法

あなたはこのようにすることができます:

find / -lname "filename"
3
cuonglm