「CUIでパソコンを使う」でMS-DOSのコマンドについて書きました。でも、今どきMS-DOSコマンドを使って何かをする・・・という場面はあまりないと思います。WindowsではGUI環境でおおよそ完結するからです。
一方、LinuxではCUI環境は現役です。Linuxはサーバーとしても随分使われていますので、IT技術者になってLinuxを扱うという人は今後もいるでしょう。ということで、Linuxのコマンドを覚えておくことは十分に意味があります。
LinuxはUNIXを元にして作られたと話しました。MS-DOSもUNIXライクなOSですが、Linuxはそれ以上にUNIX的です。利用者にとっては、ほぼUNIXであると言っても問題ありません。
まず、Linuxはファイルシステムの考え方がUNIXです。MS-DOSはドライブを意識している・・・という話もしました。LinuxやUNIXでは「ドライブ」という考え方はありません。物理的にはハードディスクやSSDを扱えますし、今どきはあまり使われないフロッピィディスクを使うことだってできます。当然ですが”複数”の装置を使えます。
じゃ、ファイルシステムはどうなっているのか?
Linuxのファイルシステムは、ドライブごとにあるのではなくて、コンピュータ(パソコン)一つに対して一つあります。ファイルシステムはそもそも仮想的、論理的なものですから、物理的に複数の装置があっても、ファイルシステムとしては一つ・・・と考えます。
MS-DOSの説明の時に話したように、Linuxのファイルシステムも階層構造をしています。Linuxのファイルシステムを構成しているのはディレクトリとファイルです。
ディレクトリとは、ファイルや別のディレクトリの情報をもった特別なファイルです。階層構造中で、ディレクトリの中にファイルや別のディレクトリを「入れる」ことができます。
前にも見せたファイルシステムの階層構造のイメージ図です。Windowsではフォルダといっていますが、Linuxではディレクトリといいます。
ファイルシステムの階層構造は、ちょうど一本の木が沢山の枝を生やしているように見えますので、樹状構造だといってもいいかもしれません。そういう訳で(?)、ファイルシステムの一番大本(おおもと)のところを「根っこ」という意味で、root(ルート)と言っています。
この root はファイルシステムでは一番元になる部分「ルートディレクトリ」(”/”で表します)ですが、また同時にコンピュータ(OS)の管理者も意味します。管理者のことを、ルートユーザー(rootユーザー)と言います。
Linuxで階層構造のファイルを表すには、ディレクトリとファイルを”/”を使って繋いで表します。次の図でuser01の下のfile001.anotherをルートディレクトリからの絶対パス表示で表すと、
/home/user01/file001.another
となります。
パス表示の一番先頭の”/”がルートディレクトリを表します。つまり、このファイル(file001.another)は、「ルートディレクトリにあるhomeディレクトリの下にあるuser01ディレクトリの下にあるfile001.anotherというファイル」・・・ということになります。
Linuxでもファイルシステムのどの位置にいるか(どの位置で作業しているか)を意識する必要があり、上の例で仮に今、homeディレクトリにいるとすれば・・・
今いるhomeディレクトリがカレントディレクトリです。また、ルートディレクトリは親ディレクトリです。user01ディレクトリは子ディレクトリになります。
ファイルシステムを扱う時、カレントディレクトリを”.”(ドット)を使って表します。また、親ディレクトリを”..”(ドット2つ)を使って表します。
例で言えば、ルートディレクトリ直下にfile001という名前のファイルがありますが、それは絶対パス表示で表せば、
/file001
ですが、カレントディレクトリがhomeなので、相対パス表示では
../file001
と表せます。ちょっとややこしいでしょうかね(苦笑)
カレントディレクトリのhomeにもfile001という同名のファイルがありますので、こちらを表す時は、絶対パス表示なら、
/home/file001
で、相対パス表示だと単に、
file001
とするか、または
./file001
となります。やっぱり結構ややこしいですね(笑)こういう事がすっきり頭に入る人はコンピュータ技術者に向いてます。
MS-DOSでは、ディレクトリ(ファイル)をつなぐのは¥(エンサイン)でした。PC-DOSでは英語で¥を使わないので(同じ文字コードですが)、”\”(バックスラッシュ)を使います。(ここに書いたのは全角のバックスラッシュですが、実際にPC-DOSでは半角のバックスラッシュが表示されます)
Linuxでは”/”(スラッシュ)を使いますので、覚えておいて下さい。
コメント