便宜上、シンボリックリンクを作成したいので(長いパスを入力したくない)、次のようなことをした場合:
ln -s /foo/bar/baz ~/baz
cd baz
~/baz
にいる間に実行するすべてのコマンド /foo/bar/baz
にいる場合は、まったく同じように実行されます ?
承認された回答:
ほとんど…cd
およびpwd
コマンドは、~/baz
にいるかのように動作します (ただし、cd
/foo/bar/baz
のサブディレクトリへ ~/baz
内 、cd ..
の場合 ~
になります )
他のすべてのコマンドは、実際のディレクトリにいるかのように動作し、すべてのアクセス許可が保持されます(もちろん、シンボリックリンクには「ダミーのアクセス許可」があると言うのはそのためです)。
これには、ディレクトリの外部に拡張する相対パスを持つ(混乱を招く可能性のある)コマンドが含まれます。 cd
を除いて 、これはあなたが~/baz
にいると見なします 、シンボリックリンクではなく、実際のディレクトリにいるかのように使用する必要があります。たとえば、ls
が必要な場合 /foo/bar
の内容 、~/baz
内 あなたはls ..
を行うことができます foo/bar
内のファイルをシンボリックリンクしたい場合 /foo/bar/baz
にあります (それをkitten
と呼びましょう )次に~/baz
内 ln -s ../kitten kitten
を実行できます