Edited at

シンボリックリンクの作成、更新、削除、権限変更をしました。

More than 3 years have passed since last update.

lnコマンドで作成するシンボリックリンクについて、毎度忘れてしまうのでメモしておきます。


シンボリックリンクを貼る

シンボリックリンクの貼り方です。


シンボリックリンクの貼り方

ln -s ファイルのパス リンクのパス


上記の様に実行すると、リンクのパスでファイルへの参照ができるようになります。

Macに置いてあるファイルで確認してみました。


piyoファイルにhogeというシンボリックリンクを貼る

ln -s ~/Downloads/piyo ~/Desktop/hoge


確認します。


シンボリックリンクの確認

ls -al ~/Desktop/hoge

lrwxr-xr-x 1 pugiemonn staff 41 5 25 10:54 /Users/pugiemonn/Desktop/hoge -> /Users/pugiemonn/Downloads/piyo

ここでhogeというファイル開くとpiyoファイルになっていました。

もう一点、以下はhttpdでconfファイルへシンボリックリンクを張った例です。


confファイルへシンボリックリンクを貼る

sudo ln -s /etc/httpd/sites-available/dev.example.com.conf /etc/httpd/sites-enabled/


このように実行した後に、/etc/httpd/sites-enabled/dev.example.com.confにはシンボリックリンクが貼られています。

上記は都合によりsudoがついてます。


ディレクトリのシンボリックリンクを変更する

ディレクトリのシンボリックリンクを変更する場合です。


ディレクトリへシンボリックリンクを貼る

ln -nfs ディレクトリのパス シンボリックリンクを貼るディレクトリのパス


以下はcurrentディレクトリに貼られていたシンボリックリンクを貼り替えた例です。


currentディレクトリへシンボリックリンクを貼る

ln -nfs /var/www/pugiemonn.com/releases/20150510043839 current


currentディレクトリに貼られていたシンボリックリンクを貼りかえました。

よくrmコマンドでシンボリックリンクを削除していたのですが、削除したくなかったので上記を使用しました。


シンボリックリンクを削除する

lnで作成したシンボリックリンクを削除する場合はunlinkを使用します。


シンボリックリンクを削除

unlink /etc/httpd/sites-enabled/dev.example.com.conf


シンボリックリンクをrmで消すのはよく見ますが、unlinkのほうが良い気がします。


シンボリックリンクのPermissionを変更

chownコマンドに-hオプションを付けます。


シンボリックリンクの権限を変更

chown -h pugi:pugi /etc/httpd/sites-enabled/dev.example.com.conf



参考

http://qiita.com/takeoverjp/items/bb1576e90a8a495db4b3

http://qiita.com/pugiemonn/items/9e1bccf3344b74cea832