今日の人気記事

  1. chown - ファイルの所有者やグループを変更 - Linuxコマンド
  2. gzip - ファイルを圧縮・展開 - Linuxコマンド
  3. cp - ファイル・ディレクトリをコピー - Linuxコマンド
  4. ssh-keygen - 認証用の鍵を生成 - Linuxコマンド
  5. su - ユーザーを変更する - Linuxコマンド

ln - ファイルリンクを作成 - Linuxコマンド

スポンサーリンク

lnコマンドは指定したターゲットへのリンクを作成します。リンクにはハードリンクとシンボリックリンクがあり、ハードリンクはファイルへのリンクのみ、シンボリックリンクはファイルとディレクトリへのリンクが作成できます。

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

ハードリンクは、別名の同じファイルです。ターゲットとリンクの区別がなく、すべてのファイルに実体(ディスク容量を消費)があり、削除するにはすべてのファイルを削除する必要があります。

シンボリックリンクは、Windowsのショートカットと考えれば、OKです。実体はありません。ただ、Windowsと同じようにターゲットを削除しても、シンボリックリンクは削除されません。rmコマンドを使って、手動でシンボリックリンクを削除する必要があります。

lnコマンド

書式

ln [オプション] ターゲット リンク

オプション

-b指定したリンク先にファイル・リンクがある場合はバックアップを作成します。
-f指定したリンク先にファイル・リンクがある場合は強制的に上書きします。
-i指定したリンク先にファイル・リンクがある場合は問い合わせしてくれます。
-sシンボリックを作成します。

ハードリンクを作成

ハードリンクを作成します。ディレクトリ(dir)内にあるファイル(original)にlnコマンドを実行します。

$ ln dir/original

リンクを指定しない場合、ハードリンクは、ターゲットと同じファイル名で、現在作業中のディレクトリに作成されます。「lsコマンド」を使って確認してみましょう。

$ ls -F
dir/  original

既にファイル・リンクがある場合、lnコマンドを実行するとFile existsと怒られます。

 ln dir/original 
ln: failed to create hard link `./original': File exists

こういう場合はオプション(-b、-f、-i)を利用します。

オプション -b を利用した場合。

$ ln -b dir/original 
$ ls -F
dir/  original  original~

ファイル名の末尾ににょろにょろ(~)を負荷したバックアップを作成していくれます。

オプション -f を利用した場合。

$ ln -f dir/original 

ファイル・リンクがある場合でも有無をいわさず上書きします。

オプション -i を利用した場合。

$ ln -i dir/original 
ln: replace `./original'? 

ファイル・リンクがある場合には問い合わせしてくれるので、上書きする場合は「y」、上書きしたくない場合は「n」を入力し、Enterキーを押しましょう。

シンボリックを作成

オプション -s を利用して、シンボリックを作成します。

$ ln -s dir/original 

ターゲットファイル(dir/original)のシンボリックリンクが作成されていますね。

$ ls -l
total 4
drwxr-xr-x 2 karuma karuma 4096 May  9 12:04 dir
lrwxrwxrwx 1 karuma karuma   12 May  9 12:08 original -> dir/original

関連記事(一部広告含む)