lnコマンドの基本的な使い方
lnコマンドはディレクトリやファイルのリンク(ショートカット)を作成するコマンドになります。
シンボリックリンクの作成
「ln」コマンドの基本的書式は、
$ ln -s [参照先ファイル(ディレクトリ)名] [新たに作成するシンボリックリンクのファイル名]
となります。例えば「/home/test1」ファイル(参照元)のシンボリックリンクを作成する場合は、
$ ln -s /home/test1 /home/test1link
となります。この時、所有者やグループの権限によっては sudo を「ln」コマンドの前に付ける必要があるときがありますので注意が必要です。
シンボリックリンクの確認
「ls -l」コマンドで作成したシンボリックリンクの確認をしてみます。
$ cd /home $ ls -l -rw- r-- r-- 1 root root 6 9月 14 20:16 test1 |
シンボリックリンクのコピー
シンボリックリンクをコピーするする場合は、cp コマンドに「-d」オプションをつける必要があります。そのままcp コマンドでシンボリックリンクをコピーすると、参照先のファイルがコピーされてしまいます。
$ cp -d [コピー元ファイル名] [コピー先ファイル名]
となります。例えばシンボリックリンク「/home/test1link」ファイルのコピーを作成する場合は、
$ cp -d /home/test1link /home/test1link-cp
「ls -l」コマンドで作成したシンボリックリンクの確認をしてみます。
$ cd /home $ ls -l -rw- r-- r-- 1 root root 6 9月 14 20:16 test1 |
先ほど、シンボリックリンクのコピーを作成する場合は、cp コマンドに「-d」オプションをつける必要があると書きましたが、もし「-d」オプションをつけなかった場合は、参照元のファイルがコピーされることになります。
例えば、
$ cp /home/test1link /home/test1link-cp2
このように「-d」オプションをつけなかった場合は以下のようにシンボリックリンクが作成されず、参照元のファイルがコピーされます。
$ cd /home $ ls -l -rw- r-- r-- 1 root root 6 9月 14 20:16 test1 |
コピーした「test1link-cp2」ファイルがシンボリックリンクとなっていないのが分かりますね。
コメント