Linux でハードリンクを実装する

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

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

環境

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

環境には 2 つのユーザーがいます。

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

このチャレンジには、実際の試験問題とともに、説明、要件、およびタスクの完了を確認するための自動検証スクリプトが用意されています。これにより、RHCSA 試験でカバーされる知識領域を効果的にシミュレートしています。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/ln("Link Creating") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") subgraph Lab Skills linux/ls -.-> lab-416102{{"Linux でハードリンクを実装する"}} linux/ln -.-> lab-416102{{"Linux でハードリンクを実装する"}} linux/cat -.-> lab-416102{{"Linux でハードリンクを実装する"}} end

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

タスク

  1. hard1 という名前の空のファイルを作成する
  2. hard1 への 2 つのハードリンク hard2hard3 を作成する
  3. hard2 に内容を追加する

要件

  • すべてのファイルは /home/labex ディレクトリに作成する必要があります。
  • touch コマンドを使用して hard1 を作成する
  • ln コマンドを使用して hard2hard3 を作成する
  • echo コマンドを使用して /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

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

✨ 解答を確認して練習

まとめ

このチャレンジでは、Linux ファイルシステムにおけるハードリンクを探索しました。同じファイルに対して複数のハードリンクを作成し、それらが同じイノード番号を共有する様子や、あるリンクを変更すると他のすべてのリンクに影響が及ぶことを観察しました。この演習では、Linux ファイルシステムにおけるイノード、ハードリンク、およびファイル内容の関係を示しました。これらの概念を理解することは、Linux 環境における効果的なファイル管理とストレージ、特にファイルシステム、バックアップ、およびデータの整理を行う際に重要です。