違い: 1. ハード リンクを使用している場合、ファイルの名前変更またはファイルの移動はリンクの方向を変更しません。シンボリック リンクを使用している場合にファイルの名前変更またはファイルの移動を行うと、リンクが切断されます。2. ハード リンクはファイルをリンクすることしかできません。 , シンボル リンクはファイルとフォルダーをリンクできます; 3. シンボリック リンクは異なるファイル システム間で作成できますが、ハード リンクは異なるファイル システム間で作成できません。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Linux には、ソフト リンクとハード リンクという 2 つの異なるタイプのリンクがあります。そのうちの 1 つを変更します。ハード リンクは次を指します。ノード (inode )、ソフト リンクはパスを指します
ソフト リンク ファイルはシンボリック リンク とも呼ばれます。このファイルには、次のショートカットと同様に、別のファイルのパス名が含まれています。 win
#ファイルの名前変更またはファイルの移動
ファイルの名前変更とファイルの移動は両方とも Linux システム用です。絶対ファイルパス。ハード リンクの場合、ファイルの名前変更やファイルの移動によってリンクの方向は変わりませんが、ソフト リンクの場合、ファイルの名前変更やファイルの移動によってリンクが切れます。このとき、ソフト リンクを通じてファイルの内容が変更されると、新しいリンクが作成されます。新しい i ノードは、元のファイル名とファイル データ ブロックに関連付けられます。ファイルの削除
rmコマンドまたはnodejsのリンク解除により、実際にはinodeリンクの数が1つ減少します。前のハードリンクの場合、inode1 のリンク番号が 1 になるように test_hard.txt を削除します。リンク番号が 0 になると、システムは i ノードを解放し、後で作成される新しいファイルは i ノードの i ノード番号を使用できるようになります。現時点では、ファイル データ ブロックを指す i ノードがないため、ファイルは見つかりません。しかし実際には、ファイル データはまだハードディスクに保存されているため、誤って削除したファイルを回復するためのツールがインターネット上でよく見かけられます。ソフト リンクの i ノード リンクの数は 1 です。ソフト リンクが削除されると、システムは i ノードを解放します。ファイルとフォルダーのリンク
ソフト リンクではファイルとフォルダーをリンクできますが、ハード リンクではファイルのみをリンクできます。異なるファイル システムでのリンクの作成
ソフト リンクは異なるファイル システム間で作成できますが、ハード リンクはできません。ハード リンクは i ノードとシステムの異なるファイルを共有するためです。異なる i ノード テーブル。ハード リンク
ファイル バックアップ: 重要なファイルが誤って削除されることを防ぐために、ファイル バックアップは良いアイデアですが、ファイルをコピーするとディスク容量が消費されます。ハードリンクにより、ディスク容量を占有せずにファイルのバックアップを実現できます。 ファイル共有: 複数の人が同じファイルを共同で管理する場合、ハード リンクを介してプライベート ディレクトリにハード リンクを作成できます。全員の変更をソース ファイルに同期できますが、1 人が変更を行うこともできません。誤って削除するとファイルが失われるという問題があります。 ファイル分類: さまざまなファイル リソースを分類する必要があります。たとえば、映画が海外とサスペンスに分類されている場合、海外フォルダとサスペンス フォルダにそれぞれハード リンクを作成して、無駄を避けることができます。ムービーを複製してディスク容量を確保します。ソフトリンクでもいいんじゃないの?という人もいるかもしれません。はい、でも良い意味ではありません。ソース ファイルが移動または名前変更されると、ソフト リンクは無効になるためです。ソフトリンク
ショートカット: パスが深いファイルの場合、ファイルを見つけるのは不便です。ソフト リンクを使用してデスクトップにショートカットを作成し、ファイルをすばやく開いて編集します。 プログラム バージョンの柔軟な切り替え: マシン上に同時に複数のバージョンがあるプログラムの場合、ソフト リンクの方向を変更することでプログラム バージョンをすばやく切り替えることができます。ここでは、Python のバージョンをこの方法で切り替えることができると述べています。 動的ライブラリのバージョン管理: 私はそれについてあまり知りません。詳細については、ここを読んでください。概要
Linux システムは、ファイルのバイト数、ファイルのアクセス許可、リンクの数、データ ブロックの場所などの情報を保存する i ノードを通じてファイルを管理します。 ハード リンクはソース ファイルと i ノードを共有します。ファイル名が異なることを除いて、その他はすべてソース ファイルと同じです。フォルダーに対してハード リンクを作成したり、異なるファイル システム内のファイルに対してハード リンクを作成したりすることはできません。 ソフト リンクは Windows ショートカットに似ており、独立した i ノードを持ちます。ソフト リンクは、異なるファイル システム上のフォルダーまたはファイルに作成できます。 ハード リンクとソフト リンクの変更されたファイルの内容は、本質的にはすべてソース ファイルを指すデータ ブロックであるため、ソース ファイルと同期されます。 関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinuxのシンボリックリンクとハードリンクの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。