なぜLinuxの学習で挫折する人が多いのか？効果的なLinuxの学習方法を解説!

こんにちは、
[InfraAcademy(インフラアカデミー](https://engineer-ninaritai.com/infraacademy/)というインフラ学習サービスを運営しております、ryuと申します。
InfraAcademyはインフラエンジニアを目指す方やインフラの学習したい方にご利用いただいているサービスです。

Linuxの学習サポートをしていると、このような質問をいただきます。
**「Linuxの学習が継続しない...」**
**「Linuxの学習で挫折した...」**
**「参考書を読んだけど全く理解できない...」**

Linux初心者の方には、共通のお悩みがあります。
そこで、なぜLinuxの学習で挫折する人が多い理由について、解説したいと思います。また、それを踏まえた効果的なLinuxの学習方法も併せて解説します。

一度Linux学習に挫折してしまった方や、これからLinux学習を始める方は、ぜひ参考にしてください。

## そもそもLinuxとは？
まず、Linux（リナックス）とは何かを簡単に説明します。
Linuxについてすでにご存知の方は、この部分を読み飛ばしてください。

Linuxは、オペレーティングシステム（OS）の一種です。
つまり、コンピューターやサーバー、組み込みシステムなどが動作するための基本的なソフトウェアです。

Linuxは、オープンソースとして開発されています。
オープンソースとは、ソフトウェアのソースコード（プログラムの元になるコード）が一般に公開され、誰でも自由に閲覧、使用、改変、再配布できることを指します。

　オープンソースであるLinuxは無料で使用することができます。
そのため、さまざまな用途で利用されています。たとえば、WebサーバーのOSやラズベリーパイなどです。
みなさんが使うシステムには、Linuxが使われていることが多いと思います。したがって、Linuxを勉強する人も多いのです。


## なぜLinuxの学習で挫折する人が多いのか？
ここから本題です。
**なぜLinuxの学習で挫折する人が多いのでしょうか？**
その背景には、さまざまなパターンが存在します。

Linuxの学習で挫折してしまう方には、以下のような特徴がありました。

:::note info
* 目的や目標が無く勉強をしている
* 目標が高すぎる
* 学習が継続しない
* 他人や同僚、先輩と比較してしまう
* 学習方法が合っていない
:::

これらのパターンについて、詳しく解説します。

## 目的や目標が無く勉強をしている
Linuxの学習で挫折する１つ目の特徴は、「**目的や目標が無く勉強をしている**」です。
目的や目標があいまい、弱い場合も当てはまります。

例えば、
「会社の制度で強制的に資格取得することになった」
「とりあえずLinux勉強しといたほうがいいと言われたから勉強している」
「エンジニアに転職したいからLinuxの勉強をしている」
といった人たちです。

主体性がなく、他人に学習を強制されていると思います。このような人たちとお話しすると、嫌々学習している印象を感じ取れました。

この特徴はLinuxに限らず、どのような学習でも挫折するパターンだと思います。

## 目標が高すぎる
Linuxの学習で挫折する2つ目の特徴は、「**目標が高すぎる**」ことです。
目標を持つのはいいことですが、あまりにも難しすぎる目標を立てると、挫折の原因になります。

たとえば、PCの操作すら未経験の人が1週間でインフラエンジニアになることを目指すのは、実際には不可能な目標です。
こうした現実とのギャップに直面すると、やる気を失ってしまうことがあります。

特に、SNSで学習の内容を公開している方や仲間を集めている人がこの傾向になりやすいです。
SNSで自身の学習内容を公開することは、アウトプットに繋がるので効果的です。
しかし、他人の学習状況も見えてしまうため、無意識に比較してしまいます。
「自分は1時間しかやっていないけど、あの人は10時間もやっている...」と気負いしてしまうのです。

他人とは比較せずに自分ができる目標を持って、学習を進めていきましょう。

## 学習が継続しない
Linuxの学習で挫折する3つ目の特徴は、「**学習が継続しない**」ことです。
学習が継続できない理由は大きく２つあります。
* 勉強時間が確保できない
* 他の誘惑に負けてしまう

### 勉強時間が確保できない
社会人で勉強している方は、勉強時間を確保することが難しいです。
特に、エンジニア未経験からエンジニアに転職しようと考えている方です。

**本業と学習の両立をすることが難しく、学習に挫折してしまうことがあります。**

Linuxの学習では、どうしても時間がかかってしまいます。
例えば、Webサーバーを構築する学習をしたい場合、Linuxの準備、ネットワークの設定、パッケージのインストールなど準備だけでも時間がかかります。
また、初心者の方の場合、エラーの対処で数時間かけてしまうこともあります。

このように、Linux学習をするためには、まとまった時間を確保する必要があります。
休日の有効活用や、本業を定時で帰るなどして学習する時間を作りましょう。

私個人は、残業が当たり前の職場で過ごしていたことがありましたが、学習のために一人早く帰っていたことがありました。「なんであいつだけ早く帰っているの？」と変な目を向けられていましたが、学習時間を作るためと、割り切っていました。

### 他の誘惑に負けてしまう
Linux学習以外の誘惑に負けてしまう場合も、学習が継続できません。
特に個人の趣味が多い方や、資格取得の勉強をしている方に当てはまりやすい特徴です。

多くの場合、人は短期的な快楽や娯楽に引かれることがあります。SNSのチェック、ゲーム、youtubeやTikTokの視聴など、誘惑はさまざまです。Linux学習は継続的な取り組みを必要とし、時間とエネルギーが必要です。そのため、疲れた時や気が散る時に、他の誘惑に負けてしまうのです。

一方、資格試験までの時間が長いと、「まだ時間があるから後でやればいい」と先延ばしにしてしまう傾向があります。試験直前までは、誘惑に負け続けてしまいます。そして、実際に試験日が近づいてから本格的に準備を始めることにつながり、最終的には焦って無理な勉強をすることになります。

資格試験の準備やLinux学習においては、継続的なスケジュールの設定とそれを守ることが重要です。誘惑に負けず、計画的に学習を進めることが重要です。

## 学習方法が合っていない
Linuxの学習で挫折する5つ目の特徴は、**「学習方法が合っていない」** です。
学習方法について、以下の3点についてお話ししたいと思います。
* 難しい参考書を使っている
* インプットばかりでアウトプットしない
* 実践的でない内容を勉強する

### 難しい参考書を使っている
Linuxを学習するには、さまざまな参考書があります。
入門者向けから上級者向けとさまざまなレベルのものがあります。

家の近くに大型の本屋があれば、さまざまな種類の本があります。しかし、小さい書店しかの場合は、Linuxの参考書は3~5冊程度しか置いていません。そうすると、自分のレベル感に合った参考書を選ぶことができません。

また、Linux入門書と謳っている本でも、本当の初心者には難解すぎる場合があります。
Linuxの参考書の一番最初がVirtualBoxの構築から始まるものもあります。初心者の場合、VirtualBoxの構築で躓くこともあります。

Linux参考書を選ぶ場合は、大型書店の試し読みや、Amazonでの試し読みをしてから、自分が理解しやすいものを選びましょう。

また、私が運営している[InfraAcademy(インフラアカデミー)](https://engineer-ninaritai.com/infraacademy/)では、知識0からLinuxのコマンドやサーバー構築の方法が理解できるようにカリキュラムを組んでいるので、興味のある方はお試しください！
https://qiita.com/ryu235464345/items/bb5c447c600c8aa08992
### インプットばかりでアウトプットしない
Linuxの参考書を買っても、アウトプットをしないと知識は定着しません。
Linuxのコマンドは読んだだけでは身につかないですよね？

Linuxを使いこなせるようにするには、アウトプットも必要です。
アウトプットをするには、どうしたらいいのでしょうか？
個人的におすすめしているのは、以下の2つです。

:::note info
* サーバーの構築をする
* 技術系ブログを作って発信する
:::

サーバーの構築では、WebサーバーやDNSサーバー、データベースなどさまざまなサーバーを作ってみましょう。サーバー構築をする過程で、Linuxコマンドの使い方やサーバーの運用方法(ログの見方)などが身に付くでしょう。
特に作りたいものが無いという人は、技術系Blogを作って発信することもおすすめです。私自身も技術ブログを５年間で700記事ほど執筆しました。
ブログを執筆することで、学んだ内容が分かりやすく整理されます。また、自分が忘れたときに見返すこともできます。まずは、メモ程度の内容でもよいので、学んだ内容をブログなどで発信してみましょう。

### 実践的でない内容を勉強する
インプットとアウトプットをすれば、Linuxが使えるかというとそういう訳ではありません。
Linuxを使いこなすためには、実践的な学習をする必要があります。

先ほど説明したように、サーバー構築など、実機を使った練習です。
実機を使った練習とは、Linuxを実際に操作することです。物理サーバー本体に限らず、クラウドやシミュレーター、仮想環境などでも大丈夫です。

特に資格試験の取得が目的の方の場合、実践的ではない内容を勉強してしまうことがあります。
例えば、LPICのような資格試験では、Linuxの仕組みや細かい設定ファイル、コマンドのオプションについて出題されます。これらの内容は実務で使うものもありますが、使わない内容も多く含まれています。

資格取得が無駄と言っているわけではありません。資格取得をすることにはさまざまなメリットがあります。
しかし、資格取得をする場合、合格すればよいと考え、過去問の丸暗記をしてしまう方もいます。そうすると、資格は持っているけど、Linuxが使えない状態になります。
TOEIC高得点だけど、英語が喋れない状態ですね。

とにかく、Linuxを学習するにはLinuxを触ることが一番だと思っています。実践的なハンズオンはなどで学習を進めましょう！

## 挫折しないための効果的なLinuxの学習方法とは？
ここまで、Linux学習に挫折してしまう人の特徴について解説しました。
では、どのような学習をしたら良いのでしょうか？

私が、Linux学習者の方にアドバイスしていることをまとめました。
大きくは以下の4つです。

:::note info
* 適切な目標設定やキャリアプランを考えよう
* 先輩、メンターを活用しよう
* 自分に合った教材を選ぼう
* 勉強する時間と期間をしっかりと確保しよう
:::

個人によって、最適なアドバイスや具体的なアクションプランは変わりますが、共通して上記の3つをアドバイスすることが多いです。
さらに詳しく解説します。

## 適切な目標設定やキャリアプランを考えよう
学習をする上で大切なことは、適切な目標設定をすることです。
つまり、ご自身のキャリアプランを考えることです。

Linuxを学習しているということは、仕事でLinuxを使っている方がほとんどだと思います。もちろん、趣味でサーバー構築する人もいるかもしれませんが。

Linuxを仕事で使う方は、以下の職種の方が多いでしょう。

* インフラエンジニア
* バックエンドエンジニア
* セキュリティエンジニア
* 組み込み系エンジニア
* フルスタックエンジニア

様々な職種の方が、様々な用途でLinuxを使っていることでしょう。

ここで、ご自身が数年後にどのような仕事をしたいのか考えてみましょう。


「今と同じ職種で技術の深掘りをしたい」
「別の職種も経験して、フルスタックエンジニアになりたい」
「出世してマネージャーや経営に携わりたい」
「独立して、フリーランスや起業をしたい」
このように、様々なキャリアプランがあります。キャリアプランは人によって様々です。正解や不正解はありません。ご自身がやりたいこと、興味があることを考えてみましょう。

キャリアプランを考えることができたら、Linuxをどの程度勉強する必要があるのかが明確になります。
例えば、インフラエンジニアとしてキャリアを積み上げていきたい場合は、Linuxの深い内容まで知っておく必要があります。また、マネージャーや経営に携わりたい人であれば、Linuxをそこまで深く知っておく必要は無いでしょう。
このように、自分のキャリアを考えながら、どのような内容を学習するか考えることが大切です。

ただ、一人でこれらの内容を考えるのは大変です。この際に先輩やメンターを活用しましょう。
## 先輩、メンターを活用しよう。
ここまで、キャリアプランを考えることの重要性を説明しました。
キャリアプランを考える場合、一人で考えるのはとても大変です。その際、先輩やメンターにアドバイスをもらってみましょう。

おそらく、自分が進みたいキャリアに既に進んでいる人や、やってみたいことをやっている人などに、話しを聞いてみましょう。

:::note info
* 現在の仕事はどうなのか
* どのような知識やスキルが必要なのか
* どのようなキャリアを歩んできたのか
* どのような学習をしたのか
:::

このように、様々な内容を質問してみましょう。


ご自身の周りに先輩やメンターがいないという方は、メンタというサービスがおすすめです。私自身もメンターとして登録していました。1時間あたり3000円から10000円程度で、様々なキャリアのエンジニアとお話しすることができます。メンターのプロフィールや評価などを見るとができるので、変な人にあたる確率は低いと思います。

また、エンジニアの交流会やイベントに参加してみるのもいいと思います。
[connpass](https://connpass.com/)というサイトにはさまざまなイベント情報が載っているので、興味あるイベントに参加してみましょう。イベントに参加すると、さまざまなエンジニアの方とお話しする機会があります。

Xにも先輩エンジニアは多いと思いますが、マウント取ってくる人や情報商材屋がいると聞いたことがあるので、注意しましょう。

ご自身のキャリアや学習について、親身になってくれるメンターや先輩を、見つけましょう。


## 自分に合った教材を選ぶ

ここまで、キャリアプランの目標設定やメンターの有効活用について説明しました。
これらは、効果的な学習をするための事前準備です。

次は、実際に効果的なLinux学習をするための具体的な方法について解説します。**実際に効果的なLinux学習をするための具体的な方法とは、自分に合った教材を選ぶことです。**
教材というのは、参考書や学習サイト、動画、オンラインスクールなどを含みます。

Linux学習で挫折する理由の部分でも解説しましたが、ほとんどの方は難しすぎる参考書を選ぶ傾向にあります。
普段から、読書に慣れ親しんでいない方やITの知識が全くない方の場合は、参考書から理解するのは、とても大変です。

このような方の場合は、学習サイトや、動画教材をおすすめします。まずは、Linuxがどのような内容なのかを理解するところから始めましょう。また、私が運営する[InfraAcademy](https://engineer-ninaritai.com/infraacademy/)という学習サイトでは、ハンズオンと図解を中心に解説しているので、普段本を読まない方でも安心して進めることができます。

ある程度知識が付いた段階から、参考書を使うことをおすすめします。参考書には、Linuxの仕組みやTCP/IPの仕組みなど専門的な知識が詳しく解説されているものが多いです。

参考書の知識では物足りないという上級者の方は、Linuxのソースコードを見てみたり、Linuxの開発に参加してみると良いかもしれません。私個人は、Linuxのソースコードを見て、どのような仕組みで動いているのかを学んだりしています。
ソースコードを読む方法についてはこちらに記載されていました。また、ソースコードを読むにはある程度のプログラミングスキルやCS(コンピューターサイエンス)の知識が必要になりますので挑戦してみましょう！
https://qiita.com/Kernel_OGSun/items/1c0068e2bf58a55377a2
https://qiita.com/tajima_taso/items/c8ed4cb06866ef11a455

このように、教材にはさまざまなレベル感があります。ご自身のレベルに合った教材を見つけて、学習を進めましょう。

また、インプットだけでなくアウトプットもしっかりと行いましょう。実機を使った練習や、技術ブログを書くなど、インプットとアウトプットを両立しましょう。

## 勉強する時間と期間をしっかりと確保しよう

ここまで、キャリアプランや教材について説明してきました。
あとは、Linuxの学習を進めるだけです。
効果的に学習を進めるためには、計画が必要です。エクセルなどで、厳密にスケジュールを立てる必要はありませんが、どの程度の期間でどのくらいの学習をするのかを決めておきましょう。

例えば、「2ヶ月でLPIC101に合格する」や「1ヶ月でLinuxの基本操作ができるようになる」といった感じです。

学習は短期間ではなく、数ヶ月単位は必要です。しかし、学習の継続を難しいと思う人は多いでしょう。

学習を継続する上でのポイントは以下の2点です。
* 毎日勉強する必要はない
* 楽しんで学習する

### 毎日勉強する必要はない
まず、Linux学習は、毎日勉強する必要はありません。
なぜなら、毎日勉強すると決めると、できなかったときのダメージが大きいからです。

毎日学習をするよりも、長期間継続することが大切です。

しかし、1ヶ月に1から2回の学習では不十分だと思います。週に2から3回、10時間程度の学習時間を確保しましょう。
### 楽しんで学習する
Linuxの学習は退屈なことも多いです。
よく分からないエラーの対象は、私自身も嫌になります。

Linuxの学習を続けるためには、学習自体を楽しむことが大切です。
何かサービスを作ってみたり、難易度の高い資格に挑戦してみたり、好奇心を持って疑問点を調べてみたりしましょう。

また、学習をした当初は退屈でも、数ヶ月もすると、Linuxが使えるようになるので、楽しくなってくる場合もあります。


## さいごに
ここまで、Linuxの学習で挫折してしまう方の特徴や効果的なLinux学習方法について解説しました。
これらの内容は、私自身がLinuxを学んでいる方からのインタビューなどを通じて感じた内容をまとめたものです。

もちろん、挫折する理由や効果的な学習方法は人によって千差万別です。別の理由があって挫折した経験がある方や、こんな勉強方法が役に立ったという方は、コメント欄にて教えてください！

さいごに、Linuxの学習は、エンジニアとして必須の知識だと感じています。
AWSやAzureなどのクラウドが便利になり、誰でもインフラを構築できるようになりました。その反面、エンジニア全員に最低限のインフラ知識が求められるようになりました。Linuxの学習は大変だと思います。しかし、学習を継続することで確実にレベルアップすることができるでしょう。その先に、自分が望んだキャリアになると思っています。

これで、この記事は終わりです。
ここまで、お読みいただきありがとうございました。

記事が役に立ったと思う方は、"いいね"していただけると嬉しいです！