Yuki's Tech Blog

仕事で得た知見や勉強した技術を書きます。

【もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】セクション1: Linuxの基礎知識と環境構築で知らなかったことをざっくりまとめてみた

目次

Linuxとは何か

Linuxという言葉は、2つの意味で使われます。

基本的にはLinuxと言われた時には、Linux OSを指すことが多いです。 Linux OSは、WindowsMac OSと同じOSの一つです。

(※) Linux OSはコストの面や高い安定性の面で、サーバー用途のOSでトップシェアを誇っています。

OSとは何か

OSとは、 コンピュータを動作させるための基本ソフトウェア群です。 ブラウザとかアプリケーションはOSがあることで、動くことができます。 アプリケーションを動かすためにはOSが必要です。

(※)アプリケーション(応用)に対して、OSは基本です。

OSが提供する機能

OSが提供する機能として、以下のようなものがあります。

  • デスクトップ環境(GUIの場合)
  • ファイルシステム
  • ネットワーク通信
  • プロセス間通信
  • プロセス管理
  • メモリ管理
  • バイス管理
  • シェル
  • コマンド

OSとは上記の機能を担うソフトウェア群のことで、私たちが普段当たり前に使っている機能を提供してくれます。

(※)さまざまなことを並行して行えるのは、OSがプロセス管理を行なってくれているからです。

Linuxカーネルとは何か

Linuxカーネルとは、 Linux OSのカーネルです。カーネルとは、OSの中核にあるソフトウェアのことです。 カーネルは、プロセス管理、メモリ管理、デバイス管理などのハードウェア制御やファイルシステムを提供するという役割を担っています。LinuxカーネルLinux OSで使用されます。

(※)Kernelは日本語で「中核」という意味です。

OSはカーネルとそれ以外に分けられる

OSはカーネルとそれ以外に分けられるが、カーネルはOSの一部の機能しか持たないので、その他のOSの機能はカーネル以外のソフトウェアで実現する必要があります。

Linuxカーネルの特徴

Linuxカーネルの特徴は、 オープンソースで開発されていることです。 オープンソースで開発されているので、WindowsMac OSのようにライセンス料を払わずに無料で使用することができます。無料なのに安定性も高いです。

Linuxディストリビューションとは

Linuxディストリビューションとは、 OSとして動かすのに必要なソフトウェア群を、Linuxカーネルとまとめて提供したものです。 それぞれの開発者はLinuxディストリビューションをインストールすることで、すぐにLinux OSとして使用できるようになります。

Linuxカーネルが開発された当初は、開発者はLinuxカーネルをインストールして、周辺のソフトウェアは自分で探して、LinuxカーネルとセットでインストールすることでOSとして使用することができていました。Linuxディストリビューションのおかげでこれらの手間が省けます。

(※) Linuxディストリビューションは、ほとんどLinux OSと同じような意味です。 Linuxカーネルは共通ですが、周辺のソフトウェアがディストリビューションによって微妙に異なってきます。

ディストリビューションの種類

ディストリビューションには大きく分けて2つの種類があります。1つがCentOSのようなRedHat系と、UbuntuのようなDebian系です。現時点でより主流なのはRedHat系だそうです。

普通のPCとサーバー用のコンピュータの違いは何か

  • 操作する際のインターフェースの違い
    普通のPCの場合はGUI サーバー用のコンピュータはディスプレイを持たないので、シェルでコマンドを実行するCLIを使用します。

  • ユーザー数の違い PCは一人のユーザーだけが操作しますが、サーバー用のコンピュータは複数のユーザーがログインして操作を行います。

(※)CLI(コマンドラインインターフェース)とは、 キーボードでコマンドを入力して、文字列として結果を出力するインターフェースのことです。また、マルチユーザーシステムとは、一人のユーザーではなく、複数のユーザーが同時にログインして利用することを前提とするシステムのことです。サーバー用のコンピュータはマルチユーザーシステムを採用しています。

Linux OSがインストールされているマシンを用意する3つの方法

  1. 今持っているパソコンのOSをLinuxに書き換える
    今動いているアプリケーションが動かせなくなってしまうので、この方法はやらない方が良いです。
  2. AWSGCPでEC2インスタンスを起動させてそこにLinux OSをインストールする
  3. 仮想マシンとしてLinux OSがインストールされているマシンを用意する

物理マシン、仮想マシンとは何か

物理マシンとは

物理マシンとは、普通のコンピュータのことです

仮想マシンとは

仮想マシンとは、 物理マシンと同じ機能をソフトウェアで実現したコンピュータのことです。 仮想マシンの実体は物理マシン上のファイルであり、このファイルが物理マシン上で実行されることによって、物理マシンと同じ機能をソフトウェアで実現しています。物理マシンにインストールされているOS上で、仮想化ソフトウェア(Virtual Box等)が動いていて、そのソフトウェアを使うことで、仮想マシンを作成することができます。仮想マシン上にOSをインストールします。

仮想化を知る上で以下の画像が分かりやすかったので、引用させていただきます。

画像引用(サーバ仮想化とは?)

(※)物理マシンが持つOSをホストOS、仮想マシンが持つOSをゲストOSと呼びます。ホストが招待する側、ゲストが招待される側であるため、そのような名前になっています。

終わり

VirtualBoxを使って仮想マシンを立ち上げようとしたのですが、うまくいかなかったので、EC2インスタンスを設置して以降はやります。

参考記事

もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 | Udemy

マルチユーザーシステムとは - コトバンク