Previous Topへ Next

UNIXコマンドについて2/What is UNIX commands? 2

ディレクトリの中身に何があるか表示させる

いくつか簡単なコマンドを練習してみます。
今見ているディレクトリ(GUI環境ではフォルダと呼んでいるものはUNIXでは「ディレクトリ」といいます)の中にあるファイル、フォルダのリストを表示させることができます。
terminalを起動して、ユーザ名%の表示が現れたら

ls -a

とタイプして実行して下さい。(実行は常にenterキーまたはreturnキーです)


これは今見ているディレクトリの中にある全てのファイル、フォルダ、不可視ファイルを表示するというコマンドです。
(lsは多分リスト、-aはALLという意味ですから多分これは「List All」という意味でしょう。)

それでは今どこのディレクトリを見ているかということですが、これは

[Macintosh:~] ユーザ名% ls -a

のユーザ名の前のカッコの最後の:の後に表示されます。
この場合「~」は常にホームディレクトリ、つまりユーザフォルダの中の自分のユーザ名のフォルダをさします。
この今見ているディレクトリをUNIXでは「カレントディレクトリ」といいます。
これも良く出てくる言葉なので覚えておいた方が良いでしょう。

このコマンドを使えばGUI環境では見ることができない不可視ファイルも見ることができます。

lsコマンドにもいくつかのオプションのバリエーションがあります。

-F  実行形式のファイルには* フォルダには/シンボリックリンクには@をつけて表示
-a  .(ドット)で始まるファイル、フォルダ(不可視ファイル、フォルダ)も表示する
-v コントロールシーケンスも含めて強制的に出力する
-l  ファイル、フォルダの詳細な情報を表示する
-S ファイルサイズの大きい順に表示する

今見ているカレントディレクトリ以外のディレクトリのリストを表示することもできます。

ls /

とタイプして実行して下さい。sと/との間にもスペースキーを打つことを忘れないで下さい。



「/」は前段でも書きましたが、前に何も書いていない時には常に起動ボリュームをさします。
実にシンプルですね。

さらにホームディレクトリの下の階層を表示させます。

ls ~/Pictures

とタイプして実行して下さい。



これでホームディレクトリの中のPicturesフォルダの中身のリストを表示します。
階層の表示は常に起動ボリュームかホームディレクトリを起点にします。
アプリケーションフォルダの中身をリスト表示したい時には

ls /Applications

アプリケーションフォルダの中のユーティリティフォルダの中身を表示したい時は

ls /Applications/Utilities

書類フォルダを表示したい時には
ls ~/Documents

または

ls /Users/(ユーザ名)/Documents

というふうにタイプしてやる必要があります。またUNIXは大文字と小文字を認識しますのでちゃんと区別してタイプしないと正しく表示されないことにも注意して下さい。






さらに練習を続けます。
今見ているカレントディレクトリはユーザ名%(これをUNIXではプロンプトといいます。コマンドの入力を促す記述という意味です)の前のカッコの最後に表示されると書きました。
このカレントディレクトリは移動することができます。コマンドは「cd」です。
試しに起動ボリュームに移動してみます。

cd /

で実行です。例によって「cd」と「/」の間にスペースキーを打つことを忘れないで下さい。これでプロンプトの前のカレントディレクトリの表示は「/」に変わったはずです。



本当に起動ボリュームに移動できたかどうか、前段の「ls」コマンドを使って確認して下さい。
コマンドは

ls

だけでいいでしょう。 起動ボリュームの中のお馴染みのリストが出てきたら移動できていることが判ります。



少し応用で練習してみます。アプリケーションフォルダに移動するコマンドは?

cd /Applications

です。移動できたかlsコマンドで確認して下さい。 ホームディレクトリの中のミュージックディレクトリの中のiTunesフォルダに移動したい時は

cd ~/Music/iTunes

もとのホームディレクトリに戻りたい時は

cd ~

このようにcdの後にパスを入力してやれば、ディスクの中のどこにでも移動できます。


注意:
今の時点ではterminalは日本語を使えません。なので日本語名がつけられたフォルダの中には移動できません。日本語のフォルダの中身を表示することもできません。terminalを有効に使うためにいくつかお薦めしたいことがあります。

ひとつはFinderの環境設定に入って「常にファイル拡張子を表示する」という項目にチェックを入れることです。

こうすることで起動ボリューム直下の「システム」「ライブラリ」「ユーザ」などの表示が「System」「Library」「Users」というように英語の表示に変わったはずです。またホームフォルダの直下のフォルダ名も「ミュージック」「ピクチャー」「ムービー」などが「Music」「Pictures」「Movies」等に変わったはずです。
OSXではこれらのフォルダはUNIXでコントロールできるために本当は英語のフォルダ名がついていますが、お年寄りや子供に配慮したということなのかデフォルトではこれらのフォルダはカタカナで表示されるようになっています。
しかしこれは本当のフォルダ名ではなくFinderで擬似的に日本語表示をしているだけです。
全く余計なお節介な設定です。
そのためにterminalを使ってみようという初心者は必ずここで混乱してしまいます。
なので混乱を避けるために、このFinderの設定変更をやっておくことを勧めます。

ふたつめはterminalで扱う可能性があるフォルダ、ファイルには日本語の名前を付けないことです。
先にも書きましたがterminalは日本語を扱うことができません。日本語のファイル名を表示させる方法は後段で書きますが、日本語のフォルダの中身を見ることはできませんし、日本語のファイルを開くこともできません。
Windows等の他のプラットフォームとの互換性という問題なども考えると、日本語のファイル、フォルダ名は極力避けるべきです。(というより2バイト文字、つまり日本語の文字だけでなくことえりやATOKの数字アルファベットも含むということです。ファイル、フォルダ名はかならずU.S.モードの英数文字を使う習慣を付けて下さい)


さらに追記:
terminalは日本語を扱えないと書きましたが、この問題は実は解決できるという御指摘を受けました。
OS10.3以上の場合はterminalはbashを起動しますので、簡単な設定で日本語を通せるようになります。
またOS10.2までのterminalが起動するtcshはデフォルトでは日本語が使えないように設定されていますが、日本語文字をエスケープする、または日本語を使えるように設定してコンパイルし直すなどの方法で日本語を使えるようです。
またOS10.2でもbashが使えますので、それで日本語を使うという方法もあります。

詳細はこちらに詳しく解説されています。
情報をいただいた「た」様ありがとうございます。







ここまでいくつか練習をやってみて、途方に暮れている人もいるかも知れません。

こんなにいろいろあるUNIXのコマンドを覚えていくことは不可能だと思っているかも知れません。

しかし、もしあなたがUNIX環境での開発者になろうと思っているのでなければ、
これらのコマンドを暗記する必要はありません。

UNIXには過去のコマンド履歴を記憶するという便利な機能があります。
また判らないコマンドはterminalに据え付けのマニュアルで意味を見ることができます。
もしシステムを有効に使いたいだけで、UNIXの専門家になる気はないというのであれば、これらのコマンドを覚えることには余り意味がありません。

ここまでの練習の目的は、UNIXの独特なパス、ディレクトリ、カレントディレクトリという考え方を理解してもらうことであって、これらのコマンドを覚えることではありません。
実際に指定された通りのコマンドを入力したら、その通りの結果が出たということだけ確認してもらえれば充分です。

UNIXのコマンド履歴や、日本語のマニュアルなどの便利な機能については後段で詳しく説明します。











Previous Topへ Next





site statistics