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
ファイル/ディレクトリ の人気記事
- Linuxコマンド【 chown 】ファイルの所有者やグループを変更する
- Linuxコマンド【 gzip 】ファイルを圧縮・展開する
- Linuxコマンド【 zip 】ファイルを圧縮する
- ファイルの解凍・圧縮 - Linuxコマンド一覧(.zip .gz .Z .bz2 tar.gz .tgz tar.Z .taz .tar.bz2 .tbz2)
- cksum - ファイルのCRCチェックサムとサイズを表示 - Linuxコマンド
- Linuxコマンド【 rsync 】高速にファイルを同期・転送する(バックアップ)
- Linuxコマンド【 diff 】2つのファイルの差分を出力する
- bzip2 - ファイルを圧縮 - Linuxコマンド
- コマンドリファレンス
- Linuxコマンド【 ls 】ファイルとディレクトリのリストを表示する