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 へのハードリンクとして 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

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

まとめ

このチャレンジでは、Linuxファイルシステムにおけるハードリンクについて学習しました。同じファイルに対して複数のハードリンクを作成し、それらがどのように同じinode番号を共有しているか、また1つのリンクを変更すると他のすべてにどのように影響するかを観察しました。この演習を通じて、Linuxファイルシステムにおけるinode、ハードリンク、およびファイルコンテンツの関係性を理解できたはずです。これらの概念を理解することは、ファイルシステム、バックアップ、データ整理などを扱う際に、Linux環境で効率的にファイルを管理するために不可欠です。

✨ 解答を確認して練習