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のインスタンスを複数作成する方法の詳細な説明

推薦する

Docker を使用した nGrinder パフォーマンス テスト プラットフォームの導入プロセスの分析

nGrinderとは何ですか? nGrinder は、スクリプトの作成、テストの実行、監視、結果レポ...

5つのクールで実用的なHTMLタグと属性の紹介

実はこれもクリックベイトのタイトルであり、「派手」とは言えません。ただ私が無知で、こうしたラベルを見...

mysql8.0.11 winx64 手動インストールと設定チュートリアル

まず、私の日常生活についてお話しします。MySQLの急速なアップデートにより、MySQLはバージョン...

Dockerイメージをプライベートリポジトリにアップロードする方法の例

イメージは、GitHub と同様に Docker パブリック リポジトリに直接簡単にプッシュできます...

原因不明のMySqlサービス消失の解決策

原因不明のMySqlサービス消失の解決策先ほど、MySQL-Front が突然 MySql を開けな...

MySQLの半同期の詳細な説明

目次序文MySQL マスタースレーブレプリケーションMySQL でサポートされているレプリケーション...

HTML 選択ボックスのプレースホルダーの作成に関する問題

テキスト入力でプレースホルダーを使用していますが、問題なく動作します。しかし、選択ボックスにはプレー...

nginx+FastDFS を使ってファイル管理システムを段階的に構築する

目次1. FastDFS の概要1. はじめに2. FastDFSストレージ戦略3. FastDFS...

Reactは感情を使ってCSSコードを書く

目次導入:感情のインストール:一般的な CSS コンポーネントを追加します。既存のコンポーネントにス...

MySQL インデックスの効率的な使用ガイド

序文ほとんどの方がMySQLとインデックスを使用したことがあると思いますが、適切なインデックスを作成...

Reactフックの仕組み

目次1. React フックと純粋関数2. シンプルなmyUseState 3. myUseStat...

MySQLの場合の使用例分析

まず、データベース テーブルを作成します。 テーブル `t_demo` を作成します ( `id` ...

MySQLのビューの詳細な説明

ビュー: MySQL のビューはテーブルと多くの類似点があります。ビューも複数のフィールドと複数のレ...

VMware Workstation Pro 16 グラフィックチュートリアル (CentOS8 仮想マシン クラスタの構築)

目次準備VMware Workstation Pro 16 をインストールするLinux仮想マシンの...