Linux におけるハードリンクの実装

Red Hat Enterprise LinuxBeginner
オンラインで実践に進む

はじめに

このチャレンジでは、Linux ファイルシステムにおけるハードリンクの概念を探求します。ハードリンクを作成し、ファイルの内容を変更することで、これらの操作がファイルの属性にどのように影響するかを観察します。

環境

LabEx では、試験環境をシミュレートするために Red Hat Universal Base Image 9 (UBI9) を使用しています。実際の RHCSA 試験環境と完全に同一ではないかもしれませんが、遭遇するタスクを適切に再現しています。

環境内には 2 つのユーザーが存在します:

  • labex: sudo 権限を持つ標準ユーザー、パスワード:labex
  • root: システム管理者、パスワード:redhat

このチャレンジには、実際の試験問題に加えて、解説、要件、およびタスクの完了を確認するための自動検証スクリプトが含まれています。これにより、RHCSA 試験でカバーされる知識領域を効果的に学習できます。

ハードリンクの作成と操作

タスク

  1. hard1 という名前の空ファイルを作成してください。
  2. hard1 に対する 2 つのハードリンク、hard2hard3 を作成してください。
  3. hard2 にコンテンツを追加してください。

要件

  • すべてのファイルは /home/labex ディレクトリ内に作成すること。
  • hard1 の作成には touch コマンドを使用すること。
  • hard2hard3 の作成には ln コマンドを使用すること。
  • /home/labex/hard2 に "Redhat" という文字列を追加すること。
  • ls -li を使用して、3 つすべてのファイルの属性を表示すること。

タスク完了後、以下のような出力が表示されるはずです:

$ ls -li /home/labex/hard1 /home/labex/hard2 /home/labex/hard3
1234567 -rw-r--r-- 3 labex labex 7 Aug 28 10:00 /home/labex/hard1
1234567 -rw-r--r-- 3 labex labex 7 Aug 28 10:00 /home/labex/hard2
1234567 -rw-r--r-- 3 labex labex 7 Aug 28 10:00 /home/labex/hard3

先頭の数字は i ノード(inode)番号であり、同じファイルに対するすべてのハードリンクで共通となります。また、すべてのファイルのリンクカウントが 3 になっていることに注目してください。

✨ 解答を確認して練習

まとめ

このチャレンジでは、Linux ファイルシステムにおけるハードリンクについて学びました。同一ファイルに対して複数のハードリンクを作成し、それらが同じ i ノード番号を共有していること、そして一つのリンクを編集すると他のすべてのリンクに反映されることを確認しました。この演習を通じて、Linux における i ノード、ハードリンク、およびファイルコンテンツの関係を理解できたはずです。これらの概念を理解することは、ファイルシステムの管理、バックアップ、データの整理など、Linux 環境における効率的な運用において非常に重要です。