頻繁に使うコマンド cd、パソコン内の探索、相対パス指定
前回、/bin以外にも $PATH を覗いてみたら色々とディレクトリが設定されてました。その中でも頻繁に使うコマンドが沢山入っている/usr/binを見てみましょう。
cdというコマンドが見えます。これを使ってみましょう。
頻繁に使うコマンド cd
前回見たように $PATH に入ってるディレクトリはディレクトリ名を省略して実行できるんでしたね。また、コマンドには文字を渡して実行できることも学びました。
$ cd /bin
cd は Change Directory の略で引数に与えたディレクトリに現在のワーキングディレクトリを変更するコマンドです。要はディレクトリを移動するコマンドです。Finderでフォルダをダブルクリックするのと同じと思って貰えれば OK です。
何も表示されないので本当に移動できたのかわかりませんね。pwdで確認してみましょう。
$ pwd
/bin と表示されました。これまでは/Users/komagataだったのが /bin に移動してます。ではここで ls してみましょう
$ ls
沢山出ました。ls コマンドは何も文字を渡さない場合は現在いるディレクトリ(カレントワーキングディレクトリといいます)のファイル一覧を表示します。今は/binの中のファイル一覧が表示されているわけです。
豆知識
cdが成功したのに何も表示されないのでアレ?と思ってしまいますね。「黒い画面」では成功した場合は何も表示せず、失敗した場合には色々表示するのが普通です。
「黒い画面」では沢山のコマンドを組み合わせて使うので、一つ一つのコマンドがいちいち成功するたびに何かを表示していたら画面が文字で埋まって本当に知りたい情報が分からなくなってしまいます。
コマンドを絶対にそう作らなければならないという訳ではわりませんが、「問題が無ければ黙っていろ」そういう文化があります。
パソコン内の探索
cd と ls さえあればパソコンの中にどんなファイルがあるのか見て回ることができます。 /bin や /usr/bin 以外にも適当なディレクトリに cd して ls してみてください。cd や ls することでパソコンが壊れることは無いので安心してください。
相対パス指定
「黒い画面」では「今いる場所(カレントワーキングディレクトリ)からみて一つ上のディレクトリ」や「今いる場所からみてfoo/barというディレクトリ」といった相対的な指定が出来ます。
..(ドット二つ)が一つ上のディレクトリ、.(ドット一つ)が今いるディレクトリ、foo/barは今いる場所から見てfoo/barというディレクトリ(先頭が/から始まるかどうかで決まります)という意味です。
これはhtmlやcssでも画像などを指定する時使うので分かると思います。../images/logo.png とか書きますよね?
これは実際にフォルダとして見ることが出来ます。/bin に移動して、ls に -a を引数として渡して実行してみてください。
$ cd /bin
$ ls -a
ls に渡した-aという引数はオプションといって、コマンドにデフォルトとはちょっと違う動作をして欲しい時に渡します。
ls の -a は .(ドット)から始まる名前のファイルやディレクトリを表示するオプションです。つまり、デフォルトでは.hogeや.fugaというファイルを作っても見えないのです。.も..もドットから始まるファイルには違いないのでオプション無しでlsした場合は表示されません。
ホームディレクトリでls -aしてみてください。いつもFinderから見ていたフォルダに得体のしれないドットから始まる謎のファイルがいくつもあるはずです。これらドットから始まるファイルを「隠しファイル」または「ドットファイル」と言います。ホームディレクトリにあるコイツらは後々正体を小一時間ばかり問い詰めることにしましょう。
一個上のディレクトリ(..)も単なるディレクトリであるということが分かりました。ということは二つ上のディレクトリに移動したい場合は下記のようにできるということです。
$ cd ../..
三つ上のディレクトリに移動したい場合はこうです。
$ cd ../../..
komagataのホームディレクトリからmachidaのホームディレクトリにあるDocumentsディレクトリに移動する場合はこうです。
$ cd ../machida/Documents
軽く頭が混乱してきますね。今自分がどこのディレクトリにいるかはpwdで確認できますが、常に自分の頭の中で意識しておく必要があります。
cd で移動して ls で一覧するという流れがつかめたでしょうか。Part.03 はこのへんで失礼します。
まとめ
- cdでディレクトリを移動できる
- 相対パスというものがある
- 普段は見えないドットファイルというものがある
- 自分の現在位置を確認しながらパソコン内を探索してみよう