■はじめに
Linuxの基礎を学んでいる、インフラエンジニアです。
LinCの試験取得に向けて、学んだ内容を記事にしていきます。
今回はハードリンクとシンビリックリンクについて、書いていこうと思います。
■前段
ハードリンクとシンボリックリンクの前段理解として、
iノードについて理解していきました。
iノード
ファイルの作成者・グループ・作成日時・サイズ等の属性情報が格納されており、
iノードはファイルシステム毎に管理されている。
詳しくは、以下の記事がわかりやすいです。
https://kazmax.zpp.jp/linux_beginner/inode.html
■内容
ハードリンク
ファイルには、それぞれ対応するiノードが存在する。
ハードリンクでは、ファイルの実態(iノード)に別名をつけること。
inode番号は全て同一であり、複数のハードリンクがある場合その全てを削除しない限りファイルの実態は削除されない。
lnコマンドを使うと、別名でハードリンクを作成することができる。
lnコマンド
$ ln 参照元 新規のハードリンク名
シンボリックリンク
windowsのショートカットみたいな、リンク元の場所を指すリンク。
シンボリックリンク作成時の参照元となっているファイルにつながったダミーファイル。
ファイルの実態を参照しているわけではないので、リンク元のファイルが消えればリンク切れとなり参照することができない。
※inode番号は異なる番号が付与される。
シンボリックリンクはln コマンドに-s オプションで作成。
$ ln -s 参照元 シンボリックリンクのファイル名