こんにちは!スタビジ編集部です!
ITエンジニアになりたての人やITエンジニアを目指す人は「Linux」を勉強したほうが良いと耳にしたことがあると思います。
LinuxはWindowsやMacと同じくOSの一種でサーバー構築やアプリ開発など様々な場面で利用されます。
そんなLinuxですが、普段はWindowやMacのPCを使っている人がほとんどなので、馴染みがなく苦手意識を持っている方が多いです。
そこで、今回はLinuxについて以下の内容を解説していきます。
・Linuxとは?
・Linuxの3つの特徴
・Linuxでおすすめの勉強の進め方3ステップ
・Linuxが学べるおすすめの学習サイト・本
また当メディアが運営するスタアカではPythonを中心に初学者から学べるITスキルの講座を多く用意していますので、チェックしてみて下さい。
目次
Linuxとは?
「Linux(リナックス)」とは、Unixから派生したコンピュータに載せて動かす基本ソフト(OS)の一つです。
基本ソフト(OS)ではコンピューターのメモリーやディスクといったハードウェアを管理してプログラムといったソフトウェアの橋渡しをするものです。
パソコンやタブレット、スマホ、最新自動車・家電の中を操作するコンピュータは、Linux・Unixのような基本ソフトがないと動きません。
コンピュータのリソースを動かしてプログラムを実行するためには、基本ソフトを載せる必要があります。
その際、基本ソフトであるLinuxの知識を知っておけば、コンピュータを動かせるようなります。
Linuxを勉強することでコンピューター自体を自由に使えるようになるんだ!
世界で最も使われる基本ソフト(OS)
Linuxは、世界で最も使われるコンピュータの基本ソフト(OS)です。
世の中にある多種多様なコンピュータに載せられるため、Linuxの知識を身につけておいて損はありません。
Linuxの知識を身につけると、以下のようなことができるようになります。
・古いコンピュータを動かす
・サーバーを構築・運用する
・Androidのような新しいOSを作る
・OSの中身を変える
Linuxに興味を持った方はぜひ挑戦してみてください。
LinuxはIT技術者として活躍したい方におすすめ
Linuxは、コンピュータのOSを構築する重要な作業に利用されています。
そのため、IT技術者として活躍したい方はぜひ身に着けておきたいスキルになります。
・公共機関や会社などのさまざまな通信で使われるサーバーの構築
・社内のネットワーク監視・管理
・システム開発用OSの環境構築作業
近年ではIoT分野が盛んですが、そこでの物体の制御にもLinuxの知識を活かすことができます。
このようにさまざまな場面でLinuxの知識を活かすことができます。
Linuxの3つの特徴
Linuxについてもう少し掘り下げてみていきましょう。
Linuxには3つの特徴があります。
・基本的に無料で使える
・コマンドで操作するCUI
・PCの性能が低くてもLinuxをインストールできる
それぞれ見ていきましょう。
基本的に無料で使える
Linuxが広く普及している理由の一つに「基本的に無料で使える」、オープンソースなことがあげられます。
オープンソースとは、ソフトウェアを構成するソースコードが無料で公開されることです。
オープンソースではソースコードを無料公開することで様々な人が、ソースコードから別のサービスを作ったり、改良してより良いものを作ったりすることを推進しています。
Linuxもオープンソースにすることで、以前よりもより優れたソフトが更新され、普及することになりました。
有志の人が情報を公開しているので、わからないことがあっても調べれば解決策が見つかりやすい!
コマンドで操作するCUI
Linuxは、Unixと同じようにコマンドで操作する「CUI(シーユーアイ:Character User Interfaceの略)」で言語的・論理的に操作する方法で画面を動かします。
WindowsやmacなどのOSは、視覚的で直感的な操作ができる「GUI(グラフィカルユーザインターフェース:Graphical User Interface)」です。
LinuxのCUIは「コマンドで入力しないと操作できないのはめんどくさい」と感じる方もいるかもしれません。
ただ実際は、コマンド入力の方が複雑かつ繊細な操作が可能です。
ちなみにmacOSはUnixから派生しているため、MacのターミナルではUnixコマンドが使えます。
PCの性能が低くてもLinuxをインストールできる
Linuxは、必要な機能だけを備えた軽量なOSのため「PCの性能が低くてもインストール」できます。
以下のPCでもLinuxを利用できます。
・最近で10年以内に作られたPC
・あらかじめOSが入っていないもの(OSが入っていても良い)
・中古PC
・動画を再生しても重くならないもの
・フリーズしないもの
ただ最低限の機能しかないでの、機能を追加したい時は自分でカスタマイズする必要があるよ!
Linuxでおすすめの勉強の進め方3ステップ
Linuxの勉強方法について見ていきましょう。
Linuxでおすすめの勉強の進め方は以下の通りです。
Step1. Linuxをインストールする
Step2. 手軽に学べるサイトで基礎コマンドを勉強する
Step3. 学習本で応用・ネットワークでの操作方法を学ぶ
実際にLinuxに触りながら、だんだんと操作方法等を学習することで効率的にマスターできます。
勉強する前に確認しておきたいこと
Linuxの勉強をする前に確認しておきたいことがあります。
・サポートがない
・Officeが利用できない
・ディストリビューションによっては少し日本語に違和感がある
・最低限の前提知識をつけておくことが大切
Linuxは、上記の特徴があることを確認しておきましょう。
特に最低限の前提知識を確認しておくことが大切です。
Linuxをスムーズに使うためにも以下のキーワードを簡単に紹介します。
- カーネル:Linuxの中枢部で働くソフト
- ファイル:文章や画像、動画、資料、設定情報などの情報のまとまり
- パッケージ:複数のファイルを1つのソフトにしてインストールできる形にしたもの
- ディストリビューション:カーネルにさまざまなソフトを組み合わせた配布携帯。独自のコミュニティが開発していて、さまざまな種類がある。
- ディレクトリ:Windows・Macでいうフォルダ・保存するための区分
- マウント:記録が「デバイスファイル」に入り、それを一つのディレクトリに認識させること
- シェル:LinuxのCUIの機能を利用するためのソフト
- ターミナル:シェルを画面で表示させるシステム
Step1. Linuxをインストールする
Linux専用のパソコンや「VirtualBox」のような仮想マシンを用意したらLinuxをインストールしましょう。
Linuxには”ディストリビューション“と呼ばれる配布形態があります。
Linuxをインストールする際には、複数あるLinuxディストリビューションの中から一つ選択します。
以下のように、ディストリビューションによって内容・特徴が異なるため、自分にあったものを選ぶことが大切です。
初心者におすすめのディストリビューションは、以下の通りです。
- Ubuntu:Debian系の人気が高いディストリビューション
- ferenOS:Ubuntuをベースとしたディストリビューション
- Linux mint:Windows・macOS・Ubuntuの次にユーザー数が多い、軽量で簡単なディストリビューション
上記の中でも最もおすすめなのが、「Ubuntu」です。
理由としては以下の通り。
・最もメジャーなもので、ネットに情報が多く記載されている
・無料で使える
・特定のバージョンは、長期間サポートされるため、不具合が少ない(LTSのバージョン)
・頻繁に新しいものが更新される
またDockerというコンテナを使って自分のPC上にLinuxを操作することも出来ます。
Dockerについては以下の記事で詳しく書いていますので、是非チェックしてみてください。
Step2. 手軽に学べるサイトで基礎コマンドを勉強する
Linux OSをインストールしたら基礎コマンドを学習サイトで勉強しましょう。
コマンド操作を覚えていけば、さまざまなカスタマイズができるようになります。
実際にターミナルを立ち上げてコマンドを入力しましょう。
以下の例のように表示されていれば、ターミナルが立ち上がっています。
taro@ubuntupc:~$
上記には、以下の意味があります。
- taro ⇒ ログイン名
- ubuntupc ⇒ コンピューター名
- ~ ⇒ 現在位置しているディレクトリの階層。「~」はホームディレクトリを指します。
- $ ⇒ コマンドを入力する場所(プロンプト)で%や#で表示されることもあります。
以下では、簡単にLinuxでよく使うコマンドを紹介します。
ディレクトリの操作「pwd」
「pwd」は自分のいる階層を確認するコマンドです。
taro@ubuntupc:~$pwd
/home/taro
自分が今どのディレクトリで操作しているのか、調べるときに使います。
ディレクトリの操作「cd」
「cd」はディレクトリを移動する際に使うコマンドです。
taro@ubuntupc:~$ cd desktop
taro@ubuntupc:~/desktop$
上記では今いるディレクトリから1階層下の”desktop”に移動しました。
ディレクトリの操作「mkdir」
「mkdir」はディレクトリを新規で作成します。
taro@ubuntupc:~/desktop$ mkdir test
taro@ubuntupc:~/desktop$ ls
test
「mkdir」コマンドで現在いるディレクトリに”test”ディレクトリを作成しています。
「ls」はファイルやディレクトリの情報を表示するコマンドで、”desktop”ディレクトリに”test”ディレクトリが出来たことを確認しています。
ディレクトリの操作「rm」
「rm」はファイルやディレクトリを削除するコマンドです。
taro@ubuntupc:~/desktop$ rm test
taro@ubuntupc:~/desktop$ ls
“desktop”ディレクトリ直下にある”test”ディレクトリをrmコマンドで削除しています。
lsコマンドで”desktop”ディレクトリの中を見ても何もないことがわかります。
ファイルの操作「touch」
「touch」はファイルを作成するコマンドです。
taro@ubuntupc:~/desktop$ touch test.txt
taro@ubuntupc:~/desktop$ dir
test.txt
taro@ubuntupc:~/desktop$ echo Hello! > test.txt
“test.txt”を作成しました。
echoコマンドを使うことで作成した”test.txt”に文字を書き込むことも出来ます。
ファイルの操作「cat」
「cat」はファイルの中身を表示してくれるコマンドです。
taro@ubuntupc:~/desktop$ cat test.txt
Hello!
先ほどの”test.txt”ファイルに書き込まれた内容を確認出来ました。
ファイルの中に入らず内容を確認できるので、絶対にいじっていけない設定ファイルの中身を確認する時などによく使われます。
ファイルの操作「cp」
「cp」はファイルをコピーしてくれるコマンドです。
taro@ubuntupc:~/desktop$ cp test.txt test2.txt
taro@ubuntupc:~/desktop$dir
test.txt test2.txt
上記では、「test.txt」のファイルを「test2.txt」にコピーします。
システムの操作「sudo」
「sudo」は別のユーザーの権限でコマンドを実行するコマンドです。
taro@ubuntupc:~/desktop$ sudo reboot
password
上記では管理者パスワードを入力することで、root権限(管理者権限)で再起動のコマンドが実行されます。
管理者しか実行できないコマンドを実行する際に使います。
Step3. 学習本で応用・ネットワークでの操作方法を学ぶ
最後にLinuxをインストールしてある程度コマンドを覚えたら、学習本で応用・ネットワークでの操作方法を学びましょう。
学習本ではある程度Linuxの操作が出来ることが前提で書かれています。
そのため、Linuxでの操作方法に慣れてから学習本で学ぶ方が効率的に学習できます。
おすすめの学習サイト・本を紹介
Linuxの勉強方法について見ていきました。
ここでは、Linuxの勉強におすすめな学習サイトや学習本を紹介していきます。
おすすめ学習サイト:「Progate」Command Line 基礎編
「Progate」は、ブラウザ上でLinuxのコマンドを入力できる、初心者におすすめの学習サイトです。
その中でも「Command Line 基礎編」では、コマンドの入門的な知識を学ぶことができます。
初めからコマンドに触れられて、すぐにコースを修了できるので、気になった方はぜひ挑戦してみてください。
おすすめ学習サイト:「Udemy」もう怖くないLinuxコマンド。手を動かしながらLinuxコマンドラインを5日間で身に付けよう
「Udemy」は20万以上のコースがあるオンライン学習プラットフォームです。
Udemyにも多くのLinuxのコースが展開されており、自身の目的にあわせて学習できます。
その中でも「もう怖くないLinuxコマンド。手を動かしながらLinuxコマンドラインを5日間で身に付けよう」というコースがおすすめです。
Linuxの背景から各コマンドの操作方法まで初心者にもわかりやすく丁寧に解説されています。
コマンドを実行した時、PCで何が行われているのか仕組みの部分まで説明してくれるので、ただコマンドを入力するよりも論理的に理解できます。
下記におすすめなUdemy講座を以下でまとめていますので、ぜひチェックしてみてください。
おすすめ学習サイト:「ドットインストール」UNIXコマンド入門
「ドットインストール」では、1回3分ほどの短い動画形式でLinuxのコマンドを学習できます。
「Unixコマンド入門」と記載されていますが、Linuxでも基本的な操作は同じのため、勉強に使えます。
コースが細かく分かれているので、「1日3回分学習しよう!」など計画をたてて進めることができるので忙しい人にもおすすめです。
おすすめ学習本:「入門者のLinux」
「入門者のLinux」はLinuxについての基礎知識を学べる本です。
入門的な知識から難しいものまでをわかりやすく、丁寧に解説してくれる本です。
素朴な疑問も解消しながら読み進められるため、Linuxへの理解が深まります。
Linuxについて手軽に学びたいという方におすすめの本!
おすすめ学習本:「ITエンジニア1年生のためのまんがでわかるLinux シェルスクリプト応用&ネットワーク操作編」
(2024/12/10 19:20:03時点 Amazon調べ-詳細)
「ITエンジニア1年生のためのまんがでわかるLinux シェルスクリプト応用&ネットワーク操作編」では、漫画形式でLinuxについて詳しく学ぶことができます。
レベルとしては中級者向けでネットワーク操作に関する内容が多く、実践でも使える知識が身につけられます。
安全でセキュリティ性の高いサーバー構築を行えます。
おすすめ学習本:「ゼロからわかる Linux Webサーバー超入門」
「ゼロからわかる Linux Webサーバー超入門」では、初心者が知識・スキルゼロから実務に取りかかるまでの状態を想定した基礎的な内容が含まれています。
VirtualBoxやCentOS、Apachの使い方などが詳細に記載されているため、サーバーの構造についての理解を深めることができます。
難しい内容もありますが、わからないところは検索しながら進めることで、エラーや不具合に対応する知識も身につけられます。
Linuxのスキルを身につけるためのポイント3つ
Linuxの勉強方法や学習サイト・本について見ていきました。
ここでLinuxのスキルを身に着けるための3つのポイントを紹介します。
とにかくインストールの回数をこなす
まずは「Linuxをインストールする回数」を増やしていきましょう。
Linuxのインストールの回数をこなせばこなすほど、Linux OSの知識・スキルは深まっていきます。
自身の環境にLinuxをインストールして勉強したい内容を実践することを繰り返すことで、エラーや不具合対応も含めてできることが増えていきます。
わからないことはコンピュータで確かめる
Linuxを勉強する際には、必ずといっていいほど不具合やエラーなどのわからないことが出てきます。
・年々新しくシステムが更新されるため、指定のソフトウェアや条件下でのOS構築ができない
・ソフトが更新されてネットワーク処理の対応方法が変わっている
何かうまくいかない場合はコンピュータ側を操作して何が起きているか確かめましょう。
問題の原因はコマンドでログやファイルの中身を調べたり、ネットで解決方法を探したりすることで、わからないことを解決できます。
古い情報は対応するバージョンを確認しよう
Linuxは頻繁にバージョンが更新されるため「対応するバージョンを確認する」ことも大切です。
特にネットで解決方法を探した際には、古い情報が見つかることが何回もあります。
そのため、バージョンを指定して検索するなどの工夫をして、自身の環境にあった適切な情報を見つけましょう。
Linuxとあわせて身に付けたい知識・スキル
Linuxの勉強方法について見ていきました。
ここではLinuxの勉強ととあわせて身に着けたいスキルや資格について見ていきましょう。
Linuxディストリビューションの種類
Linuxには”ディストリビューション“と呼ばれる配布形態があります。
Linuxディストリビューションには、以下の種類があります。
- Red Hat Enterprise Linux (RHEL):RedHat社が開発・商用向け・有料
- Fedora:RedHat社が支援・無料
- Debian:世界中の有志から生まれた・利用者の割合が1番高い・無料
- CentOS:商用部分が除かれたRHELのクローンOS・無料
- Ubuntu:Debianをベースに作成された・世界中で人気のOS
今回はUbuntuを例として紹介していましたが、上記のように他のディストリビューションも数多く存在します。
どれも実務で使う可能性が高いものなので、IT技術者になりたい方はそれぞれの特徴や操作方法などもチェックしておいてください。
Apachサーバー・WEBサーバーの運用・構築の知識
Linuxは、コマンドを覚えて終わりではありません。
コマンドを入力してOSを運用・構築できるようになる必要があります。
- Apachサーバー:世界中で使用されるWEBサーバー・性能と動作性が優れている
- WEBサーバーの構築:配線を行い、OSとサーバーアプリケーションをインストールして、設定を行う
- WEBサーバーの運用:サービスやネットワークが動いているか管理する
クラウド化が進んでいますが、まだまだ企業では自社でサーバーを動かしている所が多く、サーバー運用・構築のスキルは重宝されます。
Linuxの資格取得でインフラエンジニアとして活躍できる
Linuxの資格を取得することもおすすめです。
自身のスキルを資格取得で証明することでLinuxの場合ではインフラ系のエンジニアとしてアピールできます。
おすすめ資格:「LinuC」
「LinuC(Linux技術者認定試験 LinuC)」は、日本の市場に適した試験・運用サービスをテーマに開発された資格です。
試験では、物理・仮想環境でのLinuxサーバー構築・運用の知識が求められます。
LiunC-1⇒LinuC-2⇒LinuC-3とレベルが上がっていき、LinuC-3を取得できると非常に専門的な技術力を証明できます。
おすすめ資格:「Linux Professional Institute LPIC-1」
「Linux Professional Institute LPIC-1」はLinux経験の浅い初心者向けの資格です。
Linuxの資格として世界基準で認定されています。
101試験・102試験の両方を受験して合格すれば、「LPIC-1」に認定されます。
コマンドの使い方などLinuxの基礎操作やシステム管理が求められるので、勉強の習得度を測るのにはおすすめです。
データサイエンスのスキル
データサイエンスやコンピューターサイエンスにおいてLinuxの知識はベースとして必要です。
大がかりなデータ分析を行う際はLinuxOSで分析した方が効率が良いことも多いです。
そのためLinuxを学んだ後にLinuxの知識を活かしてデータサイエンスを学ぶのもおすすめです!
ぜひデータサイエンティストを目指してみてください!
また当メディアが運営するスタアカではデータサイエンスのスキルを体系的に学ぶことが出来ます。
AIデータサイエンス特化スクール「スタアカ」
【価格】 | ライトプラン:1280円/月 プレミアムプラン:149,800円 |
---|---|
【オススメ度】 | |
【サポート体制】 | |
【受講形式】 | オンライン形式 |
【学習範囲】 | データサイエンスを網羅的に学ぶ 実践的なビジネスフレームワークを学ぶ SQLとPythonを組みあわせて実データを使った様々なワークを行う マーケティングの実行プラン策定 マーケティングとデータ分析の掛け合わせで集客マネタイズ |
データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「スタアカ」!
24時間以内の質問対応と現役データサイエンティストによる複数回のメンタリングを実施します!
カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください!
他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。
そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解などもあわせて学べるボリューム満点のコースになっています!
Pythonが初めての人でも学べるようなカリキュラムしておりますので是非チェックしてみてください!
・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ
Linuxの独学勉強法とおすすめサイト紹介 まとめ
Linuxの独学おすすめ勉強法とおすすめサイトを紹介しました。
Linuxでおすすめの勉強の進め方は以下の通りです。
Step1. Linuxをインストールする
Step2. 手軽に学べるサイトで基礎コマンドを勉強する
Step3. 学習本で応用・ネットワークでの操作方法を学ぶ
Linuxは容量も小さく無料でインストールできるので、気軽に環境構築していろいろ操作して覚えていきましょう。
インフラ周りでクラウドについて興味がある方は以下の記事でGCPの勉強法をまとめていますので、チェックしてみてください。
プログラミングの学習方法について興味がある方はこちらを参考にしてみてください
・プログラミング全般の勉強法
・HTML/CSSの勉強法
・PHPの勉強法
・JavaScriptの勉強法
・Javaの勉強法
・SQLの勉強法
・Gitの勉強法
・Pythonの勉強法
またITエンジニアになるための勉強法は以下でまとめています!