Linux のハードリンクとソフトリンクの原理と使用法の分析

Linux のハードリンクとソフトリンクの原理と使用法の分析

Linux システムには、ファイル共有を解決するために使用できるリンク ファイルと呼ばれる種類のファイルがあります。リンクには、ハード リンクとソフト リンクまたはシンボリック リンクの 2 種類があります。

ハードリンクの概念

ハード リンク (リンクとも呼ばれます) は、ファイルの 1 つ以上のファイル名です。

ハード リンクは、インデックス ノードを介して作成されるリンクです。 Linux ファイル システムでは、ディスク パーティションに保存されているファイルの種類に関係なく、inode 番号と呼ばれる番号が割り当てられます。

ファイルまたはディレクトリの一意の識別子は、インデックスまたは Inode と呼ばれます。ファイルの実際のデータはデータ領域 (データ ブロック) に配置され、重要なファイル パラメータ情報、つまり、作成時間、変更時間、ファイル サイズ、所有者、ユーザー グループ、読み取りおよび書き込み権限、データ ブロック番号などのメタデータが格納されます。

ハードリンクが確立されると、ソースファイルとリンクファイルは同期され、どちらかのファイルへの変更は変更されます。

リンクを確立するとスペースを節約できます。ファイルをコピーせずにリンク関係を維持するだけで済みます。

ソフトリンクコンセプト

ソフト リンク (シンボリック リンクとも呼ばれます) は、Windows システムのショートカットに似ています。ハード リンクとは異なり、ソフト リンクは通常のファイルですが、データ ブロックの内容が少し特殊です。ファイル ユーザー データ ブロックに格納されている内容は、別のファイルのパス名を指します。この方法を使用すると、ソフト リンクが指すソース ファイル エンティティをすばやく見つけることができます。ファイルまたはディレクトリに対してソフト リンクを作成できます。

ソフトリンク機能:

  • 複雑なパスにあるファイルをユーザー アクセス用の単純なパスにリンクするなど、ファイル管理に便利です。
  • スペースを節約して、スペース不足の問題を解決します。ファイル システムのスペースが不足しているが、ファイル システムの下に新しいディレクトリを作成して大量のファイルを保存する必要がある場合は、より多くのスペースが残っている別のファイル システムのディレクトリをファイル システムにリンクできます。
  • ソフト リンクを削除しても、それが指すファイルには影響しませんが、それが指す元のファイルが削除されると、関連するソフト リンクは無効なリンクになります。

ハードリンクとソフトリンクの本質的な違い

ハード リンクは 2 つのファイル名を持つファイルと考えることができます。ソフト リンクはシステムによって作成される新しいリンク ファイルであり、参照先のファイルを指します。

ハードリンクの制限

  • ソフトリンクはファイルシステムをまたぐことができるが、ハードリンクはできない。
  • ソフトリンクは存在しないファイルにリンクできますが、ハードリンクは
  • ソフトリンクはディレクトリに接続できますが、ハードリンクは接続できません。
  • ソフト リンクはハード リンクの制限を克服します。これを踏まえて、ソフトリンクに重点を置きます。ソフト リンクはシンボリック リンクとも呼ばれ、Windows のショートカットに相当します。

ソフトリンクを作成する

ln -s src_file ln_file

ソフトリンクの削除

rm ln_file

注: ディレクトリのソフトレベリングの場合

rm ln_dirはソフトリンクを削除する

rm ln_dir/ は、ディレクトリ ln_dir 内のファイルを削除します。もちろん、ソース ディレクトリ内のファイルも (同期的に) 削除されます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux のハードリンクとソフトリンクの詳細な紹介
  • Linux ソフトリンクと Linux ハードリンクとは何か
  • Linux のハードリンクとソフトリンクの区別

<<:  Vueはルールを使用してフォームフィールドの検証を実装します

>>:  Centos7環境でMySQL 5.6のインスタンスを複数作成する方法の詳細な説明

推薦する

MySQLで指定した時間前にレコードを自動的に削除する方法

イベントについて: MySQL 5.1 では、イベントの概念が導入され始めました。イベントは「時間ト...

HTMLエンコードによる文字化け問題について

今日、3年生から質問がありました。彼が書いた HTML コードを開くと、文字化けした文字が表示されま...

Dockerのクイックガイド

Docker は、安全で繰り返し可能な環境でソフトウェアを自動的にデプロイする方法を提供し、コンピュ...

vue3のテレポート瞬間移動機能の使い方を詳しく解説

vue3テレポート瞬間移動機能の使用は参考用です。具体的な内容は次のとおりです。テレポートは通常、瞬...

Docker で SVN サーバーを構築するチュートリアル

SVN は Subversion の略称で、ブランチ管理システムを使用して効率的に管理するオープンソ...

js オプション連鎖演算子の使用

序文オプションの連鎖演算子 (?.) を使用すると、チェーン内の各参照が有効であることを明示的に検証...

Reactでコンポーネントロジックを共有する3つの方法

簡単に説明すると、これら 3 つの方法は、レンダリング プロップ、高階コンポーネント、カスタム フッ...

MySQL 5.7.20 共通ダウンロード、インストール、設定方法と簡単な操作スキル(解凍版無料インストール)

早朝に MySQL 5.7.19 のインストールを終えたばかりですが、午前中に MySQL が最新バ...

MySQLの連結関数CONCATの使い方の詳しい説明

前回の記事では、MySQL の置換関数 (Replace) とセグメンテーション関数 (SubStr...

Windows 版 MySQL のインストール、起動、基本設定に関する詳細なグラフィック チュートリアル

ダウンロード:ステップ 1: ウェブサイトを開きます (ダウンロードするには公式ウェブサイトにアクセ...

MySQL 8.0.13 のインストールと設定方法のグラフィックチュートリアル (Win10 の場合)

MySQL 8.0.13 のインストールと設定方法を皆さんと共有したいと思います。お役に立てれば幸...

MySQL 外部キー制約の一般的な操作の例 [表示、追加、変更、削除]

この記事では、例を使用して、MySQL 外部キー制約の一般的な操作について説明します。ご参考までに、...

Win10 に Linux ubuntu-18.04 デュアル システムをインストールする (インストール ガイド)

コンピューターに Linux Ubuntu システムをインストールしました。初めてインストールしまし...

純粋な CSS を使用して 3D 回転効果を実装するサンプル コード

3D効果を実現するには、主にCSSのpreserve-3dプロパティとperspectiveプロパテ...

Ubuntu 16.4 で完全に分散された Hadoop 環境を構築するための実践的なチュートリアル

序文この記事は主にubantu 16.4 Hadoop完全分散構築に関する関連コンテンツを紹介し、皆...