学習環境の用意
まず、学習するためのLinux環境を用意しましょう。方法には次のようにいくつか考えられます。
- 使用しているPCにLinuxを直接インストールする(PCに入っているデータなどを移動させる必要があります)
- 仮想環境でLinuxを立ち上げる
- Linuxがインストールされているレンタルサーバを借りる(少しお金がかかります)
- クラウド環境(AWSなど)を使用する(やはり、少しお金がかかります)
一番手軽なのは、やはり仮想環境ソフトを使う方法でしょう。VMware PlayerやVirtualBoxを自分のPCにインストールし、Linuxディストリビューションのイメージファイルをダウンロードしてインストールすれば、Linuxを仮想的に立ち上げることができます(この作業の手順は連載のテーマから外れるため、説明を割愛します。ご了承ください)。
なお、本連載では「CentOS 7」というディストリビューションを使用して説明をしていきます。 本連載で勉強してくださる場合、同じディストリビューションを使用すると混乱しなくてよいと思います。
CentOS 7はこちらからダウンロードできます。Japanエリアのミラーサイトを選択して、ダウンロードしましょう。
Linux環境ができあがったら、「root」ユーザでログインしてください。GUIでログインした場合には、「ターミナル(端末)」を起動してください。ターミナルは、Linuxの操作をCUIで行うためのソフトウェアです。Linuxにおいては、「Linuxを操作できる≒CUIで操作ができる」だと思ってください。
さぁ準備は整いました。それでは学習を始めましょう!
まず「パス(Path)」を理解しよう
パスとは、英語で「経路」や「道」という意味です。Linuxを扱う上で、このパスの概念を理解することはとてもとても大切です。 しかし、パスはLinuxだけにある考え方というわけではありません。例えば、Windowsで何かしらのフォルダを開き、画面の一番上に表示されているアイコンをクリックしてみると、「C:¥Users¥tsuchihashi¥Documents¥test」といった文字列に表示が切り替わります。
これは「今自分がいるフォルダ」が、「Cドライブの下にあるUserフォルダの下のtsuchihashiフォルダの下にあるDocumentsフォルダの下のtestフォルダ」であることを意味しています。「¥」記号はフォルダの区切りで、フォルダ階層の大本(スタート地点)である「Cドライブ(またはDドライブやEドライブなど)」からtestフォルダに至る経路(パス)が指定されているのです。
パスはフォルダだけでなく、ファイルの位置を表すのにも使われます。もし、このtestフォルダに「cat.jpg」というファイルがあるとしたら、このファイルのパスは「C:¥Users¥tsuchihashi¥Documents¥test¥cat.jpg」です。
絶対パス
Windowsの場合、パスの大本となるフォルダが複数あり、それぞれ「C」や「D」というようにアルファベット1文字で名前がついています(ドライブレターといわれます)。
Linuxの場合、パスの大本となるフォルダは「常に1つ」です。これをルートディレクトリといいます。Linuxではフォルダのことをディレクトリといいます。
「ルート(root)」という言葉は、某缶コーヒーの名前や数学の授業などで耳にしたことがありますよね。「根っこ」「起源」なんて意味があります。大本のディレクトリなので、ルートディレクトリというわけです。
Linuxが扱うすべてのファイルとディレクトリは、ルートディレクトリ以下に枝葉を広げていくツリー構造状に配置されています。
ルートディレクトリは「/」(スラッシュ記号)で表現されます。また、ディレクトリの区切りも「/」で表現します[1]。例えば、「ルートディレクトリの下のhomeディレクトリの下のlpicディレクトリ」は、/home/lpicというパスで表現できます。
なお、ルートディレクトリとhomeディレクトリの区切りに「/」は入れません(//home/lpicとは書きません)。
このような「ルートディレクトリからのパス」を、絶対パス(Absolute Path)といいます。「絶対」という理由は、パスで指定した場所(ディレクトリやファイル)が必ず一意に決まるからです。
あれ? 一意に決まらない(他にも同じパスを持つディレクトリやファイルがある)なんてことがあるのでしょうか? その答えは、次に相対パスを説明する中で明かしましょう。
注
[1]: 記号がディレクトリ名になっているのには違和感があるかもしれませんが。
相対パス
先ほど例で見たWindowsのパスを思い出してください。そのときには「C:¥Users¥tsuchihashi¥Documents¥test」が今いる位置(今開いているフォルダ)でした。このフォルダの1つ上のフォルダ「Documents」は、先ほど学んだ絶対パスで「C:¥Users¥tsuchihashi¥Documents」と指定できますが、「1つ上の階層のフォルダ」と指定することもできます。
「1つ上の階層のフォルダ(ディレクトリ)」というように、自分が今いる位置(ディレクトリ)をスタート地点としてファイルやディレクトリに至る経路(パス)を指定する方法を、相対パス(Relative Path)といいます。 「自分がいる位置から見た相対的な経路」だから相対パスです。
相対パスを使う上で、覚えておかねばならない記号が2つあります。「.」(ドット)と「..」(ドットドット)です。 「.」は今いるディレクトリ(=カレントディレクトリ(current directory))を意味し、「..」は1つ上の階層のディレクトリを指します。
別の例を考えてみましょう。 Windowsのエクスプローラで「C:¥Users¥tsuchihashi¥Documents¥test」フォルダの下に「dirA」フォルダを作成する場合、[新しいフォルダ]をクリックしてフォルダを作成し、名前を「dirA」と指定しますよね。
もし、今いる位置が「C:¥Users¥tsuchihashi¥Documents¥test2」であるときに同じ操作をしたらどうでしょう。 「test2」フォルダの下に「dirA」フォルダができてしまいます。当然のことですが、CUIで操作する場合、このことをとかく忘れてしまいがちです。 相対パスを使いこなすためには、「自分がいる位置によって、同じ操作を実行しても、違う結果になることがある」ということをしっかり頭に留めておかねばなりません。