便宜上、シンボリックリンクを作成したいので(長いパスを入力したくない)、次のようなことをした場合:
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を実行できます