解説
同じコマンドなのに別のファイル?pwdとcdで作業場所を確認しよう
同じcat note.txtを実行したのに、違う内容が出た。ファイル名だけでなく、コマンドを実行した作業場所を確認してみよう。

同じcat note.txtを実行したのに、違う内容が出た。ファイル名だけでなく、コマンドを実行した作業場所を確認してみよう。
このページでは、カレントディレクトリ、つまり現在の作業用フォルダーの基本を知る。BashとGNU/Linuxの練習例を使い、既存のデータは変更しない。新しい練習フォルダーだけで試そう。
相対的な名前の出発点
note.txtのような相対パスは、通常、今いるフォルダーを基準に解釈される。別のフォルダーにも同じ名前があれば、同じコマンドの文字列でも別のファイルを開くよ。
pwdは現在地を表示するコマンド。cdはシェルの作業場所を移動するために使う。画面上でフォルダーが見えていることと、そのターミナルがそこにいることは同じとは限らないんだ。
二つのフォルダーで練習
空の場所へ移動し、次を実行する。cwd-practiceがある場合は、別の空の場所を選んでね。
mkdir cwd-practice
cd cwd-practice
mkdir a b
printf 'A\n' > a/note.txt
printf 'B\n' > b/note.txt
cd a
pwd
cat note.txt
cd ../b
pwd
cat note.txt
最初のcatはA、次はBを表示する。pwdの前半は環境によって違うけれど、末尾がそれぞれ/a、/bになる。名前が同じでも、保存先の違いで内容が変わることを確認できるよ。
cdが成功したかを見落とさない
移動先を間違えてcdが失敗すると、意図した場所へ移っていないまま次の操作をするおそれがある。エラーを読み、pwdなどで確認してから続けよう。
スクリプトでは、移動に成功したときだけ次へ進めるなど、失敗を扱う設計も必要になる。上書きや削除の前に現在地を確かめることは、とくに大切だよ。
ターミナルごとに場所は違う
別のタブでcdしたことが、ほかのターミナルの作業場所まで変えるわけではない。開いた端末ごとに現在地を確認しよう。
シンボリックリンクを通ったパスでは、論理的に見える現在地と実際の保存先のパスを区別する場合もある。基本の練習とは分け、pwdのオプションや環境の仕様を確認してね。

みんなのコメント 0
感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。
最初のコメントをどうぞ。