- セントースバージョン:8.5.2111
- 現在のパスワードは次のとおりです。
/tmp/new/
/home/chenchen/Videos/
との間にソフトリンクを作成する必要があります。/tmp/softlink
- これは私のコマンドです:
ln -s /home/chenchen/Videos/ ../softlink
- 結果:このソフトリンクは次に
/home/chenchen/softlink
表示されると思います。/tmp/softlink
- 明らかに '
..
' は/home/chenchen
step.4 コマンドで for を表します。 - ただし、以下を使用すると、
double-tab
この時点でいくつかのファイルが表示さln -s /home/chenchen/Videos/ ../
れます。/tmp/
..
/tmp
..
Q:ほぼ同じコマンドがstep4とstep7で異なる意味を持つのはなぜですか?
答え1
これが異なる意味を持つのではなく、シェルがそれを誤って..
解釈しただけです。..
ここで問題は、シェルがユーザーが存在するディレクトリを知っていると思いますが、シェルのpwdのパスの1つがシンボリックリンクであり、そのシンボリックリンクが通過する..
場合、シェルはパスコンポーネントを削除して新しいディレクトリを作成しますが、これは実際には正確ではありませんそうではなく、実際の巡回では..
異なる結果が表示されます。
組み込みシェルの出力と外部.shellの出力を比較すると、pwd
それをより直接的に確認できます/bin/pwd
。 Bashでは、シェル組み込み機能を使用してpwd -P
実際のパスを取得することもできます。