

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
lnコマンドとは?
lnコマンドは unix や linux などのシェルで使うコマンドです。ファイルやディレクトリの「参照」を作るための道具です。参照には「実体ファイル(元のファイル)」を指す別名のようなものがあります。
このコマンドには主に二つの使い方があります。実体ファイルと同じ場所で別名をつくる「ハードリンク」と、実体ファイルへの参照を作る「ソフトリンク(シンボリックリンク)」です。これらは似ていますが仕組みと使い方が違います。
ハードリンクとソフトリンクの違い
| 種類 | ハードリンク |
|---|---|
| 仕組み | 同じ inode を指す別名を作る。ファイルのデータ本体は同一。元のファイルを削除しても、リンクが残っていればデータは生きている。 |
| 注意点 | 同じファイルシステム内でのみ作成可能。ディレクトリには基本的に作成できない。 |
もうひとつの種類はソフトリンク、またはシンボリックリンクと呼ばれます。
ソフトリンクの仕組みと使い方
ソフトリンクは「参照先のパス」を覚える道具です。元ファイルの場所が変わるとリンク切れになることがあります。作成方法は次のとおりです。
| コマンド | 意味 |
|---|---|
| ln -s | ソフトリンクを作成する |
実際の例を見てみましょう。例えばファイル a.txt があり、それをデータを別名 b.txt として参照させたい場合、次のようにします。
ln -s a.txt b.txt これで b.txt は a.txt への参照になります。ソフトリンクは元のファイルが削除されても、参照先が別の場所に移るとリンクが切れることがありますので注意しましょう。
コマンドの基本的な使い方
次のコマンドはコマンドライン初心者にも分かりやすい基本形です。
ln file1 file2 で file2 というハードリンクを作ります。ファイルのデータは同じ場所を指します。
ln -s target linkname で linkname というソフトリンクを作成します。
実践のポイント
ハードリンクとソフトリンクを使い分けると、バックアップやファイル整理が楽になります。 ただし、ハードリンクは同じファイルシステム内でのみ作成できる点や、ディレクトリに対しては使えない点に注意しましょう。
まとめ
lnコマンドはファイルやディレクトリの参照を作る道具です。使い分けの基本はハードリンクは同じファイルの実体を別名で指す、ソフトリンクは参照先のパスを覚えるが移動や削除に弱い、という点です。日常の作業でリンクを活用すると、ファイルの配置を柔軟に変更でき、作業効率が上がります。
lnコマンドの同意語
- lnコマンド
- Unix系のファイルリンク作成を行うコマンド。ファイルに対して別名の参照(リンク)を作成します。デフォルトはハードリンク、-s を指定するとシンボリックリンクになります。
- ln
- lnコマンドの略称。実際には同じコマンドを指し、ターミナルで実行する際は「ln」と入力します。
- シンボリックリンク作成コマンド
- シンボリックリンク(別名への参照。実体は元ファイルを指す仮想リンク)を作成する機能を持つコマンドという表現。実際には ln -s を使います。
- ハードリンク作成コマンド
- ハードリンクを作成する機能を指す表現。ln コマンドを用い、-s を付けないことでハードリンクを作成します。
- リンク作成コマンド
- ファイルに対してリンクを作成する機能を指す総称的表現。ln の代替表現として使われることがあります。
- シンボリックリンク生成コマンド
- シンボリックリンクを生成する意図を強調した表現。実務では ln -s の形で用いられます。
- ハードリンク生成コマンド
- ハードリンクを生成する意図を強調した表現。ln コマンドを使って作成します。
- ファイルリンク作成コマンド
- ファイル間の参照を作るリンクを生成するコマンドの説明表現。
- リンク作成ユーティリティ
- リンクを作成する機能を提供する小規模なツール・ユーティリティとしての呼称。
- リンク生成コマンド
- リンクを生成する機能を持つコマンド全般を指す表現。
lnコマンドの対義語・反対語
- unlinkコマンド
- lnコマンドで作成したリンクを削除するコマンド。これにより、リンクと対象ファイルの結びつきを解いて、実ファイルの存在だけを保つ状態にする操作。
- rmコマンド
- ファイル自体を削除するコマンド。リンクではなく、対象ファイルそのものを消す動作。
- cpコマンド
- ファイルの実体をコピーして新しい独立したファイルを作る。lnコマンドの「リンクを作る」の対極として、同じ内容の別ファイルを作成するイメージ。
- readlinkコマンド
- シンボリックリンクが指す先を表示する。リンクの正体を知るための、リンクを“解く”操作に近い補助コマンド。
- realpathコマンド
- シンボリックリンクを解決して実体ファイルの絶対パスを返す。リンクを介さず実体を直接参照する道筋を示す。
- mvコマンド
- ファイルを実体として別の場所へ移動する。リンクを作成する行為とは反対の、実ファイルの所在を変える操作。
lnコマンドの共起語
- シンボリックリンク
- 対象ファイルを指す参照。データを共有せず、リンク先を別名として参照する。-sオプションで作成する。
- ハードリンク
- 同じデータを指す別名。inodeを共有し、同一ファイルシステム内でのみ作成可能。ディレクトリには基本的に作成できない。
- 相対パス
- リンク先のパスを現在のディレクトリからの相対表現で指定する方法。移動先の影響を受けにくい場合がある。
- 絶対パス
- リンク先をルートからの完全な経路で指定する方法。移動しても参照先が崩れにくいが、場所に敏感。
- ターゲット
- リンクの指すファイルやディレクトリのこと。リンク先の実体。
- リンク名
- 新しく作成するリンクのファイル名。別名として存在する名前。
- リンク先
- lnコマンドが指すファイルやディレクトリ、つまり対象。
- 参照カウント
- ハードリンクの inode が持つリンクの数。リンクが増えるとカウントも増える。
- ディレクトリ
- リンクの対象になることがある領域。ディレクトリ自体へのハードリンクは通常不可。
- ファイル
- リンクの対象として最も一般的なデータファイル。
- -sオプション
- シンボリックリンクを作成するオプション(ln -s TARGET LINK_NAME の形で指定)。
- -fオプション
- 既存のリンク名を削除して強制的に作成するオプション。
- -iオプション
- 既存のリンク名がある場合に上書きの確認を求めるインタラクティブオプション。
- -vオプション
- 処理内容を画面に表示する冗長出力オプション。
- -tオプション
- リンクを作成するターゲットディレクトリを指定するオプション。
- -Tオプション
- 対象をディレクトリとして扱わず、通常ファイルとして処理するオプション。
- -nオプション
- 宛先がシンボリックリンクの場合でも辿らずに扱うオプション。
- 同一ファイルシステム
- ハードリンクは同じファイルシステム内でのみ作成可能という制約。
- クロスファイルシステム
- ファイルシステムを跨いだハードリンクは通常不可。
- ディレクトリへのリンク
- ハードリンクは基本的にディレクトリには作成できない。一方、シンボリックリンクならディレクトリも指せる。
- inode
- ファイルを識別する番号。ハードリンクはこの inode を共有する。
- ショートカットとの違い
- Windows のショートカットと違い、ln のリンクは実ファイルへの参照を作る。
- 実用的な使い方のイメージ
- 設定ファイルの参照先を統一する、実行ファイルの場所を柔軟に変更する等の運用アイデア。
- 相対パスと絶対パスの使い分け
- 相対は移動時に強く、絶対は場所を固定する場合に有利。使い分けが重要。
lnコマンドの関連用語
- lnコマンド
- ファイルに対してリンクを作成する Unix/Linux の基本コマンド。ハードリンクまたはシンボリックリンクを作成することができます。
- シンボリックリンク
- 元ファイルへの参照先パスを格納する特殊なファイル。別名として機能し、元ファイルが削除されるとリンク切れになることがあります。
- ハードリンク
- 同じ inode を指す別名。通常はファイルのみ対象で、ディレクトリや異なるファイルシステム間には作成できません。
- ターゲット
- リンクが参照する元のファイル(リンクの元ファイル)。
- リンク名
- 新しく作成されるリンクの名前(リンクファイルの名前)。
- 相対パス
- 現在のディレクトリからの相対的なパス。リンク先の参照関係を比較的安定させる場合があります。
- 絶対パス
- ルートから始まる完全なパス。どのディレクトリから参照しても同じ場所を指します。
- 相対シンボリックリンク
- シンボリックリンクの参照先を相対パスで指定したリンク。ディレクトリ構成の移動に強くなりやすい。
- inode
- ファイルを識別するための番号。ハードリンクは同じ inode を共有します。
- リンクカウント
- inode を参照しているリンクの数。ハードリンクを増やすとこの数が増えます。
- readlink
- シンボリックリンクが指すターゲットのパスを表示するコマンド。
- realpath
- リンクを解決して実際の絶対パスを返すコマンド。
- unlink
- ファイルやリンクを削除するコマンド。リンクを取り除くときに使います。
- ls -l
- ファイルの権限・所有者・リンク数などを表示するコマンド。シンボリックリンクは指す先を表示する形式で表示されます。
- ln -s
- シンボリックリンクを作成するためのオプション。
- ln -t
- リンクを作成する際、リンクを配置するディレクトリを指定するオプション。
- ln -T
- ターゲットをディレクトリとして解釈せず、通常のファイルとして扱うオプション。
- ln -r/--relative
- 相対パスでシンボリックリンクを作成するオプション。移動時の参照関係を保ちやすい。
- クロスファイルシステム
- ハードリンクは別ファイルシステム間では作成できませんが、シンボリックリンクは跨いでも機能します。
- ハードリンクの制限
- ディレクトリには通常作成不可、同一ファイルシステム内でのみ作成可能、別ファイルシステム間では不可。
- 代替手段: cp -l
- cp -l はハードリンクを作成しますが、ln と比べて挙動が少し異なる場合があります。
- セキュリティと注意点
- シンボリックリンクは参照先を外部に隠すことがあり、リンク先の信頼性や削除・移動に注意が必要です。
- 実務でのポイント
- リンクの性質を理解して適切に利用することで、ファイルの整理・管理を効率化できます。



















