LinuCレベル1 GNUとUnixのコマンド 問36
GNUとUnixのコマンド/コマンドラインの操作カレントディレクトリが /home/alice/work のとき、cd ../../bob/./docs を実行してから pwd を実行した。表示されるパスとして正しいものはどれか(途中のディレクトリはすべて存在し、シンボリックリンクは含まないものとする)。
当サイトのオリジナル問題(LinuCレベル1の出題範囲「GNUとUnixのコマンド」に対応。実際の試験問題ではありません)
- A/home/alice/bob/docs
- B/home/bob/docs
- C/bob/docs
- D/home/alice/work/bob/docs
正解:B
解説
/ で始まらないパスは相対パスで、カレントディレクトリを起点に解釈されます。.. は1つ上(親)のディレクトリ、. はそのディレクトリ自身を表します。/home/alice/work から .. で /home/alice、もう一度 .. で /home に上がり、bob、.(移動なし)、docs とたどるので /home/bob/docs になります。pwd はカレントディレクトリの絶対パスを表示するコマンドです。
選択肢ごとの解説
- A誤り。これは .. を1回だけたどった場合の結果です。../.. で /home まで上がります。
- B正しい。/home/alice/work → /home/alice → /home → /home/bob → /home/bob/docs とたどります。
- C誤り。これは .. を3回たどってルートまで上がった場合の結果です。
- D誤り。.. を無視してカレントディレクトリの下にたどった場合の結果で、相対パスの解釈として誤りです。