質問

ハード/シンボリックリンクは実際には??

作成されたファイルである場合は、

私はちょうど明確にしたかったです

私は、コマンドを実行しました。

ln source hardlink
ln -s source softlink

- 。LSはファイルとしてショーこの2つのリンクを命じる。

私のクエリがあるので、ln / ln -sは、実際にファイルを作成しますか?

よろしく、 darkie15

役に立ちましたか?

解決

はい、と何: - )

ありません UNIXでは、ファイルの内容は、そのファイルのディレクトリエントリは異なっています。あなたはどのようにこのについての説明は、同じ内容(見上げる iノードのに複数のディレクトリ・エントリ・ポイントを持つことができます作品)と、ここでのトリッキーなビットがあります:

のすべてのこれらのディレクトリエントリが同じである。のいずれかが最初に作成されている場合でも、それについてそこの何も特別な。あなたはそれを削除した場合、内容は、単にディレクトリエントリを消えません。私はそれを見つけるために、ログファイルを削除するディスク領域をクリアしようとすることで前にかましてきた、プロセスがまだファイルを持っているので - inodeが(それを指してゼロディレクトリエントリを持っており、すべてのプロセスがファイルを閉じると内容が消えますオープン、ファイルの内容は)何のディレクトリエントリがそれらを指していなくても回復しないされます。

ハードリンクのためです。

ソフトリンクは、ビットトリッキーです。彼らは、ターゲットファイルへのパスを含む、ある種の「ファイル」(別のiノード)を作成します。そして、これらのリンクは、のないの等しいです。オリジナルを削除しても、どこにも向いていないソフトリンクであなたを残します。

、iノードが指定されたファイルシステム上で一意であるため、ハードリンクは異なるファイルシステム上のデータを参照することはできません。

、彼らがターゲットファイルではなく、そのiノードへのパスを保存するので、ソフトリンクはその制限はありません。

次転写物が役立つことがあります:

$ echo hello >f1
$ ln f1 f2
$ ln -s f1 f3
$ ls -ial f*
    7385 -rw-r--r-- 2 pax None 6 May 11 14:09 f1
    7385 -rw-r--r-- 2 pax None 6 May 11 14:09 f2
    4672 lrwxrwxrwx 1 pax None 6 May 11 14:09 f3 -> f1
$ cat f1
    hello
$ cat f2
    hello
$ cat f3
    hello
$ rm f1
$ ls -ial f*
    7385 -rw-r--r-- 2 pax None 6 May 11 14:09 f2
    4672 lrwxrwxrwx 1 pax None 6 May 11 14:09 f3 -> f1
$ cat f1
    cat: f1: No such file or directory
$ cat f2
    hello
$ cat f3
    cat: f3: No such file or directory

私は、エントリ短いを維持するために、iノード番号の最後の4桁を使用しました(と43910096366994672などのinode番号であなたをヒットしない)が、あなたはf1が異なっているのに対し、そのf2f3はまったく同じinodeを持って見ることができます。また、ファイルの内容がf1はまだそれを参照しているため、その削除を生き残るf2として最初に作成されていることがわかります。

f3はむしろそのiノードよりもf1名を参照しているので、しかし、あなたはそれを使用しようとするとエラーが発生します。

<時間>

脇:あなたがお奨めの愛をしたことと、このようなあなたとUNIXのおもちゃます:

$ ls f*
    f2  f3
$ cat f3 # What the ...?
    cat: f3: No such file or directory

ほとんどスペース バックスペース X と、それを削除するために誰かを試して見てと呼ばれるファイル作成など、多くの楽しみのように: - )

他のヒント

どちらも1ファイルを作成します。

ディスク上のファイルがで識別される「iノード。」ディレクトリはiノードをファイル名をマップします。ハードリンク手段「ファイルI名と同じiノードを指していることをこのディレクトリに新しいファイル名を作成します。」

シンボリックリンク手段は、「ポイントは何にこの他のファイルのポイントをiノードにすることを、このディレクトリに新しいファイル名を作成します。」

はコメントでアウトmangomanポイントとして、シンボリックリンクは、リンク先の名前のファイルを作成し、あなたはそれに注意を払うべきではありません。それはあなたのビジネスのどれもではない特殊なファイルです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top