手当たり次第に書くんだ

飽きっぽいのは本能

LPIC ln コマンド – ハードリンクとシンボリックリンク

LPIC 学習ノートへ戻る

この記事では、LPIC 学習向けに ln コマンドを整理します。ln はリンクを作成するコマンドで、ハードリンクとシンボリックリンクの違いを理解することが重要です。

リンクとは何か

Linux では、ファイル名は実体そのものではなく、inode などの実体へ到達するための名前として扱われます。リンクを理解すると、ファイルシステム上で名前と実体がどう関係しているかが見えます。

種類特徴
ハードリンク同じ inode を指す別名
シンボリックリンク別のパスを指す特殊なファイル
ディレクトリへのリンク通常はシンボリックリンクで扱う
別ファイルシステムハードリンクはまたげない

ハードリンクを作る

echo 'hello' > original.txt
ln original.txt hardlink.txt
ls -li original.txt hardlink.txt

シンボリックリンクを作る

ln -s original.txt symlink.txt
ls -l symlink.txt
readlink symlink.txt

違いを確認する

ハードリンクは同じ inode を指すため、元の名前を削除しても実体は残ります。シンボリックリンクはパスを指すため、リンク先が消えるとリンク切れになります。

rm original.txt
cat hardlink.txt
cat symlink.txt

よくある使い方

ln はリンクを作成するコマンドです。特にシンボリックリンクは、設定ファイル、バージョン切り替え、パスの短縮などでよく使われます。

ln file hardlink
ln -s /opt/app/current /usr/local/bin/app
ls -li file hardlink
ls -l /usr/local/bin/app

ハードリンクとシンボリックリンクの違い

項目ハードリンクシンボリックリンク
指すもの同じ inodeパス
別ファイルシステム基本的に不可可能
ディレクトリ通常不可可能
元ファイル削除時実体は残るリンク切れになる

シンボリックリンクはパスを指しているため、リンク先を移動・削除するとリンク切れになります。確認には ls -l、inode の確認には ls -li を使います。

まとめ

ln は、ファイル名と実体の関係を理解するために重要なコマンドです。LPIC では、ハードリンクは inode、シンボリックリンクはパスを指す、という違いを押さえておくと混乱しにくくなります。

関連する記事

参考書籍

参考
書籍
参考書籍
ストーリーで覚える Linux CLI 入門

Linux のコマンドライン操作を基礎から確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

LPIC ln コマンド – ハードリンクとシンボリックリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る