ディレクトリの移動と確認
同じコマンドなのに、結果が違う
さっきと同じように打ったのに、並んだファイルがまるで違う。原因はたいてい 1 つで、自分がいる場所が変わっているからです。多くのコマンドは「今いる場所」を基準に動くので、そこを確かめないと、何を見ているのか分からなくなります。
ターミナル
pwd
# /home/deploypwd は現在地を答えます。作業に迷ったらまずこれを打つ、というのが基本の型です。
見る、移る、また見る
ターミナル
ls /var/log
# alternatives.log apt dpkg.log syslogls は指定した場所の中身を並べます。場所を書かなければ、現在地の中身です。
ターミナル
cd /var/log
pwd
# /var/logcd で場所を移します。移った後にもう一度 pwd を打てば、確かに動いたことが目で確認できます。慣れるまでは cd のあとに pwd を打つ癖をつけておくと、迷子になりません。
名前だけでは足りないときは ls -l を使います。1 行に権限・所有者・サイズ・最終更新日時が並ぶので、更新が止まっているファイルを見つけたいときや、サイズが膨らんでいるログを探したいときに効きます。
1 つ上に戻る、さっきの場所に戻る
ターミナル
cd ..
pwd
# /var
cd -
pwd
# /var/log.. は 1 つ上、つまり親を指します。cd - は直前にいた場所へ戻ります。離れた 2 か所を往復する作業では、長いパスを打ち直さずに済むのでかなり楽になります。cd を引数なしで打つと、どこにいてもホームへ戻ります。
行き先が無かったとき
ターミナル
cd /var/nope
# bash: cd: /var/nope: No such file or directoryエラーはちゃんと読める形で返ってきます。無いと言われたら、慌てず 1 つ上で ls を打ち、名前の綴りを確かめます。ほとんどの迷子は、これで解決します。
そもそも打ち間違えないために、パスの途中まで打って Tab キーを押してください。候補が 1 つに決まるならシェルが残りを補完し、複数あるなら候補を並べてくれます。長いディレクトリ名を最後まで打つ必要はありませんし、補完が効かないこと自体が「その名前は存在しない」という手がかりにもなります。
課題
- cd, mkdir, pwd の3コマンドを使う
- 最後に /tmp/demo_nav が出力される