この記事は、初学者の方がLPICの学習を効率的に進めて、無事資格の取得を応援するための記事です。
今回の記事では、 Linuxの操作に必要な知識の説明をしていこうと思います。
Contents
Linuxのインターフェースについて
Linuxに限らず、すべてのOSには2種類の操作方法が存在します。
この操作方法を指して、ユーザーインターフェースと呼びます。
ユーザーインターフェースには以下の2種類があります。
・GUI(Graphical User Interface)
・CUI(Character User Interface)
GUI(Graphical User Interface)
名前の通り、グラフィカルなユーザーインターフェースです。
簡単に言うと、「マウスとキーボードを使用して直感的な操作を行うことができるユーザーインターフェース」です。
WindowsやMac OSでは、このGUIをメインに操作を行います。
ちなみにLinuxにも搭載されていますが、個人で使う分には問題ありませんが、業務で利用するには動作が重たくなってしまうのであまり利用されません。
CUI(Character User Interface)
こちらは、見ての通り文字だけで操作を行うインターフェースです。
Characterには「文字」という意味があるためCUIと呼ばれます。
CUIでは、コマンドを用いて操作を行います。
当然、文字のみなので操作はキーボードのみで行います。
CUIは直感的な操作ができるとは言いづらいですが、動作が軽く、またコマンド入力に慣れるとGUIよりスムーズに作業をすることができるようになるため、サーバーエンジニアの人は基本的にこのCUIでの作業を行います。
今回の記事でも、このCUIでの操作を主に利用しながら学習を進めていきます。
Linuxでの操作を行う際の基本用語
先ほどのインターフェースもそうですが、Linuxでコマンドを使用して操作を行っていこうと思うと聞きなれない言葉を大量に聞くことになります。
それらを毎回調べていると勉強がスムーズに進められないので必須用語のみをここでいくつか紹介しておこうと思います。
基本的にWindowsにも似たような仕組みがあるので、Windowsと対応させながら説明をしていきます。
※ここで完全に理解をする必要はありません!
「へー、こんなのなんだー」程度の理解で特に問題はないので気楽に進めてくださいね。
ディレクトリ
Linuxでは、ファイルを格納しておく場所のことを「ディレクトリ」と呼びます。
Windowsでいう「フォルダ」のことですね。
機能的にも特にフォルダと変わりはありません。
Linuxでのファイルやディレクトリの管理方法について
Linuxは、ファイルやディレクトリをこの図のように「階層構造」で管理しています。
ここで重要なのが、「/」というディレクトリです。
このディレクトリは「ルートディレクトリ」と呼ばれるディレクトリで、すべてのディレクトリの頂点に存在するディレクトリのことです。
Linux上のすべてのデータはこのルートディレクトリに格納されています。
ちょうど、Windowsでいう「ローカルディスク:C」がこれに近いです。
カレントディレクトリ
今自分が開いているディレクトリのことを「カレントディレクトリ」と呼びます。
これは、ただ単純に自分が今開いているディレクトリのことを表します。
詳しいことは後程説明します。
パス
GUIではどのディレクトリの中にどんなファイルがあるのかが、このように一目瞭然だったため、特に気にする必要はありませんでしたが、今回はCUIでの作業を行うため文字のみでファイルやディレクトリの位置を指定する必要があります。
この、CUIでのファイルやディレクトリの表記方法を「パス」と呼びます。
パスは、2種類が存在します。
この図を例にして、説明をしていきます。
絶対パス
ルートディレクトリを起点にしてファイルの場所を表す方法です。
ルートディレクトリは基本的に「/」であらわされることがほとんどです。
例えば上図の「ルートディレクトリの中のhomeディレクトリの中のuser2ディレクトリの中のtext.txt」を絶対パスであらわす場合、以下のようになります。
/home/user2/text.txt
ややこしいのですが、初めの「/」はルートディレクトリ、2番目以降の「/」はディレクトリの区切りを表します。
基本的には、この表記方法を利用することが多いです。
相対パス
相対パスは、カレントディレクトリを起点としてファイルの場所を表します。
例えば、上図であなたは「home」ディレクトリを開いていたとします。
すると、「home」があなたのカレントディレクトリです。
そして、先ほどと同じくtest.txtを表すと以下のようになります。
user2/test.txt
自分が開いているディレクトリによって表記が変わるため”相対”パスと呼ばれています。
これらのパスは、Linuxの操作をしていくうちに慣れていくものなので今はなんとなくでいいので、覚えておきましょう。
コマンドライン
よく出てくる言葉ではあるのですが、意味は結構あやふやです。
単に「コマンドを実行してLinuxの操作を行うこと」と解釈していただいて構いません。
このコマンドラインでの操作を理解するには、シェルというものの理解が大切になってきます。
シェル
シェルというのは、簡単に言えばLinuxと私たちユーザーの橋渡しを担っている存在のことです。
細かい流れをここで理解しておく必要はありませんがザックリと
私たちユーザーはLinuxの操作を行うために、コマンドを入力します。
例えば「date」という日付を表示するコマンドがあります。
このdateという文字は英語ですが、実はLinuxは英語を理解することができません。
Linuxが理解できるのは2進数のみで構成された「機械語」と呼ばれる言葉のみです。
当然そんな言葉は私たち人間では理解できません。
では、どうやってこのdateという言葉を伝えているのかというとここで活躍するのが「シェル」です。
シェルは、私たちの入力した英語を機械語にしてLinuxに送り、コマンドの結果として帰ってくる機械語を英語にして返してくれます。
存在としてはとても重要なものですが、私たちが直接何かを操作するということは今のところあまりないので、用語として覚えておくだけで十分です。
※ちなみに、図のターミナルというのは、GUIでコマンドを入力するためのソフトのことです。(Windowsでいうコマンドプロンプト)
Linuxのユーザーの種類について
Linuxでは、2種類のユーザーが存在します。
・rootユーザー
・一般ユーザー
rootユーザー
Linuxにおける管理者ユーザーなのですが、このrootユーザーはとてつもない力を持っています。
そのLinuxの中において、あらゆる操作を行うことができるのです。
管理者なら当然では?と思うかもしれませんが、このあらゆる操作というのはシステムの深い部分の操作を行うこともできてしまいます。
※WindowsのAdministerユーザーでは、システム内部は基本的に保護されていて簡単には触れません。
このrootユーザーの何が問題なのかというと、主な問題は次の2つです。
「ユーザーの誤操作」「rootユーザーへの不正アクセス」
例えば、ユーザーが誤ってシステムファイルを消してしまったとします。
一般ユーザーやWindowsのユーザーであれば、システムファイルを消すなと怒られるため問題にはなりませんが、rootユーザーの場合警告もなしにパッと消せてしまいます。
そして、次回の起動時に起動しなくなってしまうということも間々あります。
何でも出来すぎてしまうが故の弊害ということですね。
もう一つの「rootユーザーへの不正アクセス」については、もってのほかなのですが、rootユーザーへのログインを許してしまうということはそのシステム内で完全な権限を手に入れたということです。
当然、中のデータを入手することもウィルスを仕込むこともやりたい放題なわけですね。
そんなわけで、利用するにはリスクが高いため、実運用においてrootユーザーを直接利用することはほとんどありません。
もちろん、今回は勉強がメインですし、仮想環境の場合消えて困るものもないと思うので逆に使い倒してあげましょう。
一般ユーザー
普通のユーザーです。
与えられた権限の中でのみ活動することができるため、安全に利用することができるユーザーです。
実運用では、この一般ユーザーに権限を振り分けて利用することが多いです。
いかがでしたでしょうか。
まだまだ用語に関してはたくさん残っていますが、ひとまずここまでの用語を知っておけばこれからのLinux学習をスムーズに進めていくことができます。
残った用語については、一番必要だと思うときに解説していきます。
それでは、今回はこのあたりにしておこうと思います。
次回は「Linuxでのコマンド操作」についての解説を行います。
実際に簡単な操作をコマンドのみで行っていきます。