Webデザイナーの為の「本当は怖くない」“黒い画面”入門 Part.03

Webデザイナーの為の「本当は怖くない」“黒い画面”入門シリーズ一覧

前回、/bin以外にも$PATHを覗いてみたら色々とディレクトリが設定されてました。その中でも頻繁に使うコマンドが沢山入っている/usr/binを見てみましょう。

bin

cdというコマンドが見えます。これを使ってみましょう。

頻繁に使うコマンドcd

前回見たように$PATHに入ってるディレクトリはディレクトリ名を省略して実行できるんでしたね。また、コマンドには文字を渡して実行できることも学びました。

$ cd /bin

cdはChange Directoryの略で引数に与えたディレクトリに現在のワーキングディレクトリを変更するコマンドです。要はディレクトリを移動するコマンドです。Finderでフォルダをダブルクリックするのと同じと思って貰えればOKです。

何も表示されないので本当に移動できたのかわかりませんね。pwdで確認してみましょう。

$ pwd /bin

ターミナル — bash — 80×24

/binと表示されました。これまでは/Users/komagataだったのが/binに移動してます。ではここでlsしてみましょう

$ ls

ターミナル — bash — 80×24

沢山出ました。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

ターミナル — bash — 80×24

lsに渡した-aという引数はオプションといって、コマンドにデフォルトとはちょっと違う動作をして欲しい時に渡します。

lsの-aは.(ドット)から始まる名前のファイルやディレクトリを表示するオプションです。つまり、デフォルトでは.hogeや.fugaというファイルを作っても見えないのです。.も..もドットから始まるファイルには違いないのでオプション無しでlsした場合は表示されません。

ホームディレクトリでls -aしてみてください。いつもFinderから見ていたフォルダに得体のしれないドットから始まる謎のファイルがいくつもあるはずです。これらドットから始まるファイルを”隠しファイル”または”ドットファイル”と言います。ホームディレクトリにあるコイツらは後々正体を小一時間ばかり問い詰めることにしましょう。

ターミナル — bash — 80×24

一個上のディレクトリ(..)も単なるディレクトリであるということが分かりました。ということは二つ上のディレクトリに移動したい場合は下記のようにできるということです。

$ cd ../..

三つ上のディレクトリに移動したい場合はこうです。

$ cd ../../..

komagataのホームディレクトリからmachidaのホームディレクトリにあるDocumentsディレクトリに移動する場合はこうです。

$ cd ../machida/Documents

軽く頭が混乱してきますね。今自分がどこのディレクトリにいるかはpwdで確認できますが、常に自分の頭の中で意識しておく必要があります。

#### Macのディレクトリ構造 パソコン内が探索出来るようになったのでMacのディレクトリ構成の概要を見てみましょう。(主要なものだけ説明します) ````bash / -- ルートディレクトリ Applications/ -- GUIアプリ置き場 Users/ -- ユーザー毎のディレクトリが置かれる komagata/ -- ユーザー毎のディレクトリ(人によって違います) Documents/ -- 書類置き場 Movies/ -- 動画置場 machida/ bin/ -- 最低限必要なコマンド置き場 sbin/ -- システム管理者が使うコマンド置き場 etc/ -- etcetera(エトセトラ)の略で種々のものという意味。現在は実質設定ファイル置き場に使われてる。 tmp/ -- temporary(テンポラリー)の略で一時的なという意味。再起動したら消えちゃってもいいような一時的なファイルの置き場所。 usr/ -- userの略。元々は現在のUsersのような用途の為にあったが、システムの起動に必要なもの以外のファイル置き場程度の用途になってしまった。 bin/ -- システムの起動に必要でないコマンド置き場 sbin/ -- システムの起動に必要でない管理者用コマンド置き場 local/ -- このコンピューターのみで使うプログラム置き場 ```` 一番上の階層(/)のことをルートディレクトリと言います。rootとは木の根っこのことです。/を頂点として複数のディレクトリやファイルがぶら下がっている構造が木を逆さまに見たときに似ているからです。同じように、こういう階層構造全体の事を木という意味のツリー(tree)と言います。 unix-tree 大文字から始まっているものと小文字から始まっているものがありますが、これはMac OS XがMac OSとUNIXという二つの先祖を持つという歴史があるからです。Mac OSでは大文字から始まるディレクトリ名が使われていました。UNIXは小文字のディレクトリ名が使われていました。Mac OS XからベースはUNIXになりましたが、急に今まであった大文字のディレクトリが無くなると既存のユーザーが困るのでこのように共存しています。/homeディレクトリはUNIXでは/Usersと全く同じ用途に使われるのでMac OS Xでは/homeは/Usersの単なるショートカット(シンボリックリンクと言います)になっています。二つの祖先を上手く共存させるための涙ぐましい努力の後ですね。

cdで移動してlsで一覧するという流れがつかめたでしょうか。Part.03はこのへんで失礼します。

まとめ

  • cdでディレクトリを移動できる
  • 相対パスというものがある
  • 普段は見えないドットファイルというものがある
  • 自分の現在位置を確認しながらパソコン内を探索してみよう

次:Webデザイナーの為の「本当は怖くない」“黒い画面”入門 Part.04

comments powered by Disqus