シンボリックリンクを作成するコマンド
シンボリックリンクは、コマンド「ln -s」で作成できます。
下記の例では、第1引数「target-dir」がリンク先(=実体ディレクトリ or ファイル)の指定、第2引数「simbolik-link」 が作成されるシンボリックリンクの名前となります。
# シンボリックリンク「symbolic-link」を作成する
$ ln -s target-dir symbolic-link
# いちおう、確認
$ ls -la
# シンボリックリンクができている!
drwxr-xr-x 3 joe wheel 96 .
drwxr-xr-x 4 joe wheel 128 ..
-rwxr-xr-x 1 joe wheel 266 target-dir
lrwxr-xr-x 1 joe wheel 10 symbolic-link -> target-dir
第1引数の「リンク先」は、ディレクトリ名でもファイル名でも構いません。

そうじゃな。わしもたまに忘れるぞ。少し引数について、深堀りしてみるのじゃ
第1引数「リンク先」とは?
第1引数の「リンク先」は、作成されるシンボリックリンクの場所からの「相対パス」の指定となる点に、注意が必要です。(もちろん、フルパスを指定すれば絶対パスとなります)
現在のディレクトリの外に、シンボリックリンクを配置しようとうすると、失敗しやすいです。
# ディレクトリ「my-links」を作って・・・
$ mkdir my-links
$ mkdir target
# ディレクトリ内にシンボリックリンクを作成
$ ln -s target my-links/new-sym-link
# 確認すると、同じディレクトリ内で、target を参照しようとしている
$ ls -la my-links
drwxr-xr-x 3 joe wheel 96 .
drwxr-xr-x 4 joe wheel 128 ..
lrwxr-xr-x 1 joe wheel 10 new-sym-link -> target
シンボリックリンクからの相対パスか、もしくは、絶対パスで指定する必要があります。
# やり直し。
$ mkdir my-links
$ mkdir target
# ディレクトリ内に、シンボリックリンクを作成
# 相対パスで、親階層を指定
$ ln -s ../target my-links/target-link
# 確認。今度はうまく行っている。
$ ls -la my-links
drwxr-xr-x 3 joe wheel 96 .
drwxr-xr-x 4 joe wheel 128 ..
lrwxr-xr-x 1 joe wheel 10 target-link -> ../target
上記は、相対パスを利用していますが、シンボリックリンク自体があとで移動される可能性がある場合などは、絶対パスを使うほうが適切なケースもあります。
第二引数「シンボリックリンク名」
前述の通り、第二引数に「シンボリックリンク名」を指定しますが、第二引数に「既存のディレクトリ名」が指定された場合、この命名をスキップすることもできます。この場合、第一引数で指定した「リンク先(実体)」の名前が、そのままシンボリックリンク名として使われます。
同じ仕様で、もし第二引数を引数を全く指定しなければ、「.」 、すなわち、現在のディレクトリが暗黙的に第二引数に指定されます)
発生しやすい誤りの一つが、第二引数で「シンボリックリンク名」を指定したつもりが、意図せず「既存のディレクトリ名」と一致してしまい、この振る舞いで実行されてしまうケースです:
# 準備:ディレクトリ
$ mkdir target
$ mkdir target-alt
# target へリンクを作りたかったが、第2引数が既存ディレクトリ名「target-alt」とマッチしている
# 下記は、このコマンドと同じ意味になる
# $ ln -s target ./target-alt/target
$ ln -s target target-alt
# 結果として、シンボリックリンクはこのディレクトリではなく、
$ ls -la
drwxr-xr-x 4 joe wheel 128B .
drwxr-xr-x@ 30 joe wheel 960B ..
drw-r--r-- 1 joe wheel 10B target
drw-r--r-- 1 joe wheel 10B target-alt
# target ディレクトリ内に、リンク target が作成されている。
$ ls -la ./target-alt
drwxr-xr-x 4 joe wheel 128B .
drwxr-xr-x@ 30 joe wheel 960B ..
drw-r--r-- 1 joe wheel 10B target -> target

なるほど。この仕様は実はよくわかっていなかったよ〜
複数のリンク先
これはあまり利用する機会がないかもしれません。
ln コマンドは、実際は「リンク先」の指定を複数まとめて引き受ける指定が可能です。
# 例1
# 複数のパス指定をまとめて引き受ける
$ ln -s target-1.txt target-3.txt target-3.txt slinks
# 例2
# ワイルドカードでまとめてリンクを作成
$ ln -s target-*.txt slinks
シンボリックリンクの削除
作成したリンクは「unlink」で削除できます。
$ unlink sym-link
rm -r の削除コマンドも有効ですが、誤ってリンク先の実体を削除してしまうことがありますので、仕様は避けたほうが良いでしょう。
# これはOK。対象のシンボリックリンクを削除する
$ rm -r sym-link
# ディレクトリ末尾にスラッシュがつくと、意味が変わる
# これは悲劇。リンク先のディレクリ内の実体ファイルを削除する
$ rm -r sym-link/

人間は、わかっていてもいつか間違ってしまう生き物じゃからな。rm は使わないほうがよいのじゃ

これで基本的な使い方は、OKじゃな!

明日にも、忘れそうだよ〜
引数の順番が、いつも混乱しちゃうんだよね・・