ln
lnはLiNkの略でリンクを作成するコマンドです。
ln hoge.txt fuga
とすると、fugaという名前でhoge.txtを呼び出せるようになります。
(注)vagrantを利用なさっている方へ
以下の操作(ハードリンク)は、vagrantで設定されているsynced_folder(ホストOS側と同期されているフォルダ)では実行できません。ホームディレクトリに戻り
cp -r workspace/ workspace2
を実行して、workspace2側で実行してください。
ハードリンクとシンボリックリンク
リンクにはハードリンクとシンボリックリンクがあります。
ハードリンク
ハードリンクとは「ファイルそのもの」へのショートカットファイルです。次のシンボリックリンクと比較して理解しておくと良いでしょう。ハードリンクには様々な特性がありますが、その中でも
- ディレクトリのハードリンクは作成できない
- 元ファイルを移動しても問題ない
という2つの特徴を理解しておきましょう。
シンボリックリンク
lnでは通常ハードリンクが作成されますが -s というオプションを利用することによってハードリンクの代わりにシンボリックリンクを作成することも可能です。シンボリックリンクとは「現在のファイルの位置」へのショートカットファイルです。そのため
- ディレクトリに対しても作成できる
- 元ファイルを移動するとリンク切れになる
- 相対パスでシンボリックリンクを作成したい場合は作成するディレクトリに移動してから作成しないとリンク切れになる。
という特徴があります。Windowsにおける「ショートカットの作成」のようなものだと考えると良いでしょう。