MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


【Linux】ハードリンクとシンボリックリンク
profile-img
投稿者: enさん
投稿日:2021/10/14 18:37
更新日:
like-img
分類
技術
テクノロジー
Unix系サーバ
キャリア
運用・保守
投稿内容

今回はハードリンクとシンボリックリンクについてまとめました。


ハードリンクとシンボリックファイルの実体(データ)とファイル名を結びつけるリンクの種類です。

以下がそれぞれの説明です。


■ハードリンク

ファイルの実体(データ)を直接参照するリンク。

同じ実体を参照するハードリンクは複数作成することが可能。それらは全て同じinode番号を持つ。


■シンボリックリンク

元ファイルの場所を指し示すリンク。

シンボリックリンクは、元ファイルがどこにあるかというパス情報のみを持っている。


ハードリンクはひとつの実体であるファイルに複数の名前を付けられるというイメージで、

シンボリックリンクはWindowsでいうショートカットのようなものです。



ハードリンクとシンボリックリンクの違いをまとめました。

・ハードリンクはinode番号が同じなのに対し、シンボリックリンクはinode番号が異なる

・ハードリンクは異なるファイルシステムにハードリンクを作成できないのに対し、

シンボリックリンクは異なるファイルシステムでもシンボリックリンクを作成できる

・ディレクトリのリンクはシンボリックリンクのみ作成できる

・ハードリンクはリンク元のファイルが削除されてもファイルの実体にアクセスすることができるが、

シンボリックリンクはリンク元のファイルが削除されるとファイルの実体にアクセスすることはできなくなる



lnコマンドでファイルのリンクを作成することができます。

「ln ファイル名 リンク名」でハードリンクを作成、

「ln -s ファイル名 リンク名」でシンボリックリンクを作成することができます。


また、ハードリンクの数とinode番号は「ls -il」コマンドで確認することができます。

シンボリックリンクの場合は「ls -il」コマンドで確認すると、パーミッションの先頭に「l」が表示されます。



コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3