web-dev-qa-db-ja.com

私のCentOS 7.2では、シンボリックリンクはディレクトリ全体ではありません

これはチュートリアルが示しています:

enter image description here

/application/nginx -> /application/nginx-1.8.0を見ることができます

しかし、私はステップに従います:

[root@localhost nginx-1.8.0]# ll /application/nginx lrwxrwxrwx. 1 root root 12 5月 19 04:01 /application/nginx -> nginx-1.8.0/

これはnginx-1.8.0/であり、その前に/applicationはありません。また、nginx-1.8.0/applicationの下のシンボリックリンクであることを確認してください。

私のオペレーティングシステムはCnet OS 7.2です

チュートリアルのオペレーティングシステムはCent OS 6.8です。

チュートリアルの違いは、システム上の理由ですか?

1
qg_java_17137

ディレクトリの内容を表示する場合は、パスを指定するときに末尾にスラッシュが必要です。このような:

ll /application/nginx/
1
Vegar

lnコマンドを使用するときに、ターゲットを間違った方法で取得するのはよくある間違いです。

必ずln <target> <linkname>を使用して、機能するかどうかを確認してください。

冒頭の投稿はもう少し明確かもしれないので、それが私が与えることができるすべての助けです。

0
bitofagoob

チュートリアルでは、絶対パスに解決されるリンクを作成しました。相対パスに解決されるシンボリックリンクを作成しました。

絶対リンクを作成します:

ln -s /application/nginx-1.8.0 /application/nginx

nginxを新しいディレクトリに移動した場合でも、nginxは常に/application/nginix-1.8.0に解決されます。

nginxが移動する可能性があり、/application/nginix-1.8.0が移動しない場合は、絶対リンクを使用してください。

相対リンクを作成します:

ln -s nginx-1.8.0 /application/nginx

nginxは、nginxが入っているディレクトリに関係なく、常にnginx-1.8.0に解決されます

-sを使用してシンボリックリンクを作成する場合、最初のパラメーターはファイルシステムに存在する必要さえありません。まだ存在していないファイルまたはパスへのシンボリックリンクを作成することはエラーではありません。

nginixが常にnginx-1.8.0と同じディレクトリrelativeに存在する場合は、この相対リンクを使用します

より相対的なリンクの例

ln -s ../real alpha      # alpha will always point to real in alpha's parent directory
ln -s real alpha         # alpha will always point to real in alpha's directory
ln -s subdir/real alpha  # alpha will always point to subdir/real in alpha's directory
0
Jim U