43
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2018-10-21

シンボリックリンクを貼るのが苦手で、いつもなかなかうまく貼れずに苦戦するのでメモ。

シンボリックリンクを貼るコマンド

シンボリックリンクを貼る
$ ln -s リンクしたい実際のdir そのdirを呼び出す際のリンク名

例えばこんな場合

ローカルでテストする時に、ローカル環境をサーバーと同じディレクトリ構成にしたい。

下記のようなディレクトリ構成だったとして、
/var/project/conf/Users/tamorieeeen/test/project/confを呼び出したい場合。

Dir構成
$ pwd
/Users/tamorieeeen/test
$ tree
.
└── project
    ├── conf
    │   ├── local_conf.xml
    │   └── test.xml
    ├── sql
    │   └── test
    │       └── test.sql
    └── tmp

絶対パスで貼る場合

絶対パスで指定する場合は、どこでコマンドを実行しても一緒なのでどこにいてもOK。

絶対パスの場合
$ ln -s /Users/tamorieeeen/test/project /var/project

相対パスで貼る場合

シンボリックリンクを貼りたいディレクトリに移動してからコマンドを実行。
今回の場合/varprojectという名称でシンボリックリンクを貼りたいので/varに移動。

相対パスの場合
$ cd /var
$ ln -s /Users/tamorieeeen/test/project project

確認方法

シンボリックリンクを貼ったディレクトリをls -lして、権限の頭にlがついてればシンボリックリンクが貼れてることがわかる。

確認方法
$ ls -l /var/project
lrwxr-xr-x  /var/project -> /Users/tamorieeeen/test/project

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

どちらでもOKですが、個人的にはrmは緊張するのでunlinkの方が好きです。

シンボリックリンクを消すコマンド1
$ unlink /var/project
シンボリックリンクを消すコマンド2
$ rm /var/project

ちなみにディレクトリを削除する場合はrm -rですが、シンボリックリンクを削除する場合は-rは不要です。

シンボリックリンクを変更する方法

変更する場合は-fの上書きオプションをつける。
ここで注意なのは、ディレクトリのシンボリックリンクの場合は-nオプションも必要なこと。

シンボリックリンクを変更する場合
$ ln -nfs /Users/tamorieeeen/test_2/project /var/project

参考

lnコマンドのオプション詳細は下記参照
【 ln 】コマンド――ファイルのハードリンクとシンボリックリンクを作る

43
35
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
43
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?