フォルダーとは
そもそも,スマートデバイスには「フォルダー」なる概念がありますよね.
こんな感じですかね.これ,「ツリー」構造になっていることを知っている人もいるでしょう.
今表示されているのは赤色を中心とするファイルたちで,赤色のところをみているので,青色のフォルダーやファイルが見えているわけです.で,ツリーの上の方(黄色たち)は,ファインダーの下の黄色枠の中に表示されています(出てない人は,ここを参照).
このような構造を「ディレクトリー構造」(ディレクトリーとは配属表みたいな人名録のこと)と言います.
FinderとかWindowsのエクスプロラーでは,フォルダーをクリックして表示を変えていくわけですが,ターミナルってば
こんな感じなので,クリックするところが,ありません.では,どうするのでしょうか.
何も表示されていないターミナルにも,上の図の赤色で示していた「現在の所在地(Present Working Directory)」という概念があります.これは,pwd コマンドで知ることができます.
$ pwd /Users/sugimoto/tmp/私の
HDってのが「/」slash に化けています.これはルートディレクトリーと言います.で,ツリーの道筋が / でつながっています.これをパス名と呼びます.で,今いる場所が文字列で表されています.これを変更するにはChange Directoryコマンドを使います:
$ cd /User/お父ちゃん/仕事
これで,指定した場所に一発で行きます.もう一つ覚えていたほうが良いのが
$ cd .. ←cd空白点点
です.これは,今いる場所の上に移動します.
さて,上に移動したら,Finderであれば画像でそこに置いてあるファイルが全部見えます.ですが,ターミナルでは,何も出てきません.そこで覚えるべきコマンドは,一覧(list)コマンドです:
$ ls 2007沖縄 熱工学 4月12日課題 【周知用チラシ】ついて.pdf
こんなふうに,そこにあるファイルが一覧されます.
$ ls -l total 1200 drwxr-xr-x 2 sugimoto staff 64 4 27 20:10 2007沖縄 drwxr-xr-x 2 sugimoto staff 64 4 27 20:11 4月12日課題 drwxr-xr-x 2 sugimoto staff 64 4 27 20:11 熱工学 -rw-r--r--@ 1 sugimoto staff 613981 4 15 00:07 【周知用チラシ】ついて.pdf
これも便利ですね.先頭が d のものはフォルダ,- のものはファイルということです.ファイルサイズや更新日時も表示されていますね.
ホームフォルダー
さてフォルターツリーは,ファイルの持ち主と関連がありますよね:
緑色は親父の,赤はお袋の,青はおいらのファイルを示しています.さて,あなたがもし計算機サーバーやらスパコンやら,他の計算機を使うとすると,あなたのファイルたちをその計算機にコピーして使います.すると,こんな感じになります:
このように,太枠の下が貴方の持ち物な訳です.すると,パス名がたとえば
ある計算機では /User/おいら/tmp/私の/2007沖縄
別の計算機では /home/nagoya/Labo2/おいら/tmp/私の/2007沖縄
このように「おいら」以下だけが共通で,パス名は機体に依存します.ということは,青字部分をプログラム中に書き込んでしまうと,機体を変えるたびに書き換えなければ動かない,ということになり,大変面倒です.
心配ありません.青字部分は,どんな計算機でも,環境変数 HOME という変数に設定されているので,
HOMEのばしょ/tmp/私の/2007沖縄
と書いてしまえば,どの計算機でも同様にアクセスできることになります.このHOMEの場所を,「あんたのホームディレクトリー(ホームフォルダー)」と呼びます.C++では,これを
getenv("HOME")
と書くことで取得できます.