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

ファイル/ディレクトリ の人気記事

  1. Linuxコマンド【 chown 】ファイルの所有者やグループを変更する
  2. Linuxコマンド【 gzip 】ファイルを圧縮・展開する
  3. Linuxコマンド【 rsync 】高速にファイルを同期・転送する(バックアップ)
  4. Linuxコマンド【 ls 】ファイルとディレクトリのリストを表示する
  5. Linuxコマンド【 df 】ファイルシステムのディスク容量を表示する
  6. ファイルの解凍・圧縮 - Linuxコマンド一覧(.zip .gz .Z .bz2 tar.gz .tgz tar.Z .taz .tar.bz2 .tbz2)
  7. Linuxコマンド【 diff 】2つのファイルの差分を出力する
  8. Linuxコマンド【 zip 】ファイルを圧縮する
  9. Linuxコマンド【 du 】ファイルのディスク使用量を表示する
  10. umask - ファイル作成時のパーミションを表示・変更 - Linuxコマンド

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