ターミナルでシンボリックリンクを作成するにはどうすればよいですか?


回答:


543
┌── ln(1) link, ln -- make links
   ┌── Create a symbolic link.
                            ┌── the optional path to the intended symlink
                               if omitted, symlink is in . named as destination
                               can use . or ~ or other relative paths
                      ┌─────┴────────┐
ln -s /path/to/original /path/to/symlink
      └───────┬───────┘
              └── the path to the original file/folder
                  can use . or ~ or other relative paths
$ echo content > original
$ ln -s original symlink
$ ls -la original symlink
-rw-r--r--  1 grgarside  staff    8 28 Jan 18:44 original
lrwxr-xr-x  1 grgarside  staff    8 28 Jan 18:44 symlink -> original
$ cat symlink
content

ln(1)の詳細については、manページを参照してください

シンボリックリンクへのパスはオプションです。省略すると、lnデフォルトで現在のディレクトリにリンク先と同じ名前のリンクが作成されます。

$ cd ~/Documents
$ ln -s ../Pictures
$ ls -l Pictures
lrwxr-xr-x  1 user  staff  11 Feb  1 17:05 Pictures -> ../Pictures

システムディレクトリを置き換えるシンボリックリンクを作成するには(たとえば、/Users別のディスクドライブをポイントする場合)、System Integrity Protection無効にする必要があります。シンボリックリンクを設定した後、再度有効にすることができます。


63
マニュアルページだけがあなたの答えと同じくらい明確だったら!
エイドリアンリンチ

許可が拒否されました:Sヒントをいただけますか?他のハードディスクで使用できるようにユーザー用のシンボリックリンクを作成しようとしていますが、ssdにはシンボリックリンクしかありません。感謝
イーウォック

2
@patrix答えを編集して明確にしました。さらに編集してください。
GRGの

4
楽しい事実:オリジナルは実際に存在する必要はありません。コマンドln -s "This directory is no longer in use" READMEは完全に正当であり、実行している人はだれでもls -lメッセージを見るでしょう。
エドワードフォーク

1
将来の参照用:スペースを節約するためにmacOSで/ Usersを移動する必要はありません。ユーザーリストのエントリを右クリックして、ユーザーとグループのシステム環境設定でユーザーのホームディレクトリパスを個別に変更できます。
ピーターW.

73

コマンドはと呼ばれlnます。オプションとともに使用すると-s、現在のディレクトリにシンボリックリンクが作成されます。

ln -s /any/file/on/the/disk linked-file

1
リンクファイルは最初に存在する必要がありますか?ターゲットでファイルが見つからないというエラーが表示されます。
-AlxVallejo

2
ファイル(存在しない場合はエラーメッセージが表示されます)ではなく、任意のパスのすべてのディレクトリ。行き詰まっている場合は、右上の[質問する]ボタンを使用して、新しい質問をお気軽にお尋ねください。コンテキストを提供するには、この質問へのリンクを含めてください。
nohillside

このコマンドを実行する前に、シンボリックリンクが存在してはなりません。しかし、私の知る限り有効なパスが必要です。このコマンドを実行する前に出力ファイルのフォルダーが存在しない場合は、No such file or directoryエラーも発生します。
デニスカプラン

34

私はこの質問が明示的にターミナルについて尋ねていることを知っていますが、GUI LandにいてターミナルLandに入りたくない場合は、SymbolicLinkerを使用できます。これにより、Finderの[サービス]メニューに[シンボリックリンクの作成]オプションが追加されます。

「シンボリックリンクの作成」が強調表示された「サービス」サブメニューを示すフォルダのコンテキストメニュー

「シンボリックリンクの作成」が強調表示されたシンボリックリンクのコンテキストメニュー


3
これがなぜダウン投票されたのかを知りたいので、今後より質の高い回答ができるようになります:)
ベンレジエロ

10
おそらく、「ターミナルでシンボリックリンクを作成するにはどうすればよいですか?」しかし、私はあなたを
ダウン投票して

1
@EdwardFalk私はエルキャピタンに考えて、あなたが保持することができますCommand+ Optionファイルをドラッグしながら...後で答えを更新します
ベンLeggiero

1
@BenLeggieroこれはエイリアスを作成します。
アンディスチュワート

2
@BenLeggerio、差がここで説明されていますapple.stackexchange.com/questions/2991/...
MiBの


5

ln -s /some/dir/ ~/Desktop/dir

同じコマンドを使用して、ディレクトリのシンボリックリンクを作成することもできます

ln -s "$(pwd)" ~/Desktop/dir

現在のディレクトリへのシンボリックリンクを作成するには。


2
単純な.(ドット)でpwdが得られます。派手な議論は必要ありません:)
mylogon

@mylogon haha​​ha私は時々考え直すのが好きです。私の答えを簡素化した!
ジェラルド

@mylogon私はちょうどそれ.がmacOSで動作しないことに気づきました。まだLinuxで試していない。使用する./と、foo -> ./fooそれ自体を指すこれになりました。
ジェラルド

入力した完全なコマンドは何ですか?
mylogon
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.