みんなのプログラミング学習方法

Linux超初心者のために現役エンジニアが勉強法・書籍を教えます

WindowsやMac OSが使われている中、なぜLinuxを学ぶ必要があるのでしょうか?
それはLinuxがサーバー用途として広く使われていますし、操作の自動化するための仕組みがあったり、コマンドにより様々なことができるからです。

ただ、WindowsやMac OSは直感的に操作することが可能ですが、Linuxはかなり勉強しないと使いこなすことができません。

しかし、Linuxは需要が高いため多くの企業がLinux技術者を必要としています。
Linuxが使いこなせるようになれば、多くの企業から重宝される人材になれます。

また、プログラミングをするには最適なOSなので学んでおいて損はないでしょう。

まずはLinuxが何かを学びましょう

linux-gold
Linuxを学べといわれていきなり本を読んでもなんことやらわかりませんよね。

まずはLinuxとは何なのかを知って概要を理解したほうがいいでしょう。

オススメの本を紹介します。
「UNIXの絵本 著:株式会社アンク」がオススメです。

絵本シリーズは図がのっていて解説が丁寧なのです。
初学者はもちろんのこと、中級レベルのエンジニアでも発見があったりします。

また、LinuxはOSの1つですので、OSについても知っておいたほうがいいです。

OSはソフトウェアなのですが、それとハードウェアとのつながり、OSがどのようにして機能して、ハードウェアを動かしているかを知る必要があります。

「OSの仕組みの絵本~ソフトウェアの動きがわかる 著:株式会社アンク」がオススメ。

この本は読みやすくてOSについて必要な知識が詰まっているので、途中で挫折することなく最後まで読むことができます。

Linuxとは何か、OSとは何かのさわりを理解したら次はもう少し深い部分に入っていきます。
Linuxは奥が深く、コマンドというものがたくさんあります。

そのコマンドの使い方などをまずは学んでいくことになります。

いきなり難しい本をやっては意味がわからず挫折してしまいます。

そうならないために程よい難易度の書籍を2冊紹介します。
「ゼロからわかる UNIX基礎講座 著:中井 獏」

「ゼロからわかる Linux超入門 著:阿久津 良和」です。

これらの本は、Linuxについて無知の人でも読める本になっています。
まずは基本の操作から入っていきます。また、この本で学ぶコマンドも少なく、内容が軽いためすぐに読めるのでいいです。初学者向けというより、超初学者向けです。

この本に載っている問題は実際にそのコマンドを単独で使えるかという問題だけなので、この本を読み込むことができたら次のステップに行きましょう。

「新しいLinuxの教科書 著:大角 祐介」

さきほど紹介した2冊とは違い、初学者向けなのですが、内容がかなり濃いです。
最初の2冊と大きく異なる点としてはシェルスククリプトに触れていることです。

シェルスクリプトはLinuxの醍醐味です。

コマンドを複数組み合わせてプログラムとして実行するという感じですね。この本で学ぶことでLinuxの面白さが分かってくるので、内容は難しくなり、ページ数もかなりありますがしっかりやりましょう。

大学のWebページで学ぶという手もあり

各大学でのプログラミングはWebページを使って学んでいることが多いです。
このWebページは一般にも公開されていることが多いのでこれを探して勉強していく手もあります。

これの何がいいのかというと、さきほど紹介した書籍は問題がほとんどありません。

あっても簡単なものばかりです。

大学でのWebページには学生向けの課題があるので、それに挑戦することで実際にコマンドを自分で使えるのか実力を試すことができます。

有名大学になればなるほど問題は難しいですが、やっていることは同じなのでチャレンジしてみる価値は十分にあります。

ただ、注意したいのが大学ごとに授業期間のみ公開であったり、使用不可になっている場合があるので大学名 linuxなどで適宜検索をかけるといいと思います。
個人的におすすめなのは京都大学のlinuxについてのページです。

LPICを受験するのもおすすめ!

「1週間でLPICの基礎が学べる本 著:中島 能和」です。

LPICとはLinux技術者試験のことです。この資格を目指して勉強するのはモチベーションになるので挑戦してみることをオススメします。
資格取得への学習方法が書いてありますし、初学者には良いです。

書籍で学ぶ点で注意すること

Linuxのコマンドにはオプションというものがあります。
オプションで実行する内容が変わってきます。

オプションを使いこなせるようになるのは大切ですが、最初のほうは全部覚えようとしなくて大丈夫です。

実際にコンピュータに打ち込んで学んでいき、また出てきたところでそのコマンドについてまたオプションはどうだったかな?と調べる程度でいいでしょう。

また、最初はわけもわからず進めていくことになりますので、コマンドも忘れがちになってしまいます。

オプションについては良いとして、基本的なコマンドを忘れてしまってはいけません。

適宜復習をしてコマンドを身に着けてください。

それができたら「独習Linux 著:小林 準」です。

今まで学んできたことが網羅されており、さらに踏み込んだ内容になっているので今までの復習にもなります。

このコマンドを知っているからと流しよみをせずに例があれば実際にキーボードで打ち込んで例のようになるか試してみてください。

そして、読み込んでください。

ここから本格的な勉強に入るので、重要なコマンドについては自分で解説できるようにしておきましょう。

私のおすすめする勉強法は、紙にサンプルのコマンド例を書いて、本を見ずにそのコマンドが何をしようとしているのか答れるようになる練習をします。

また、コマンドだけ書いておいて、そのコマンドの書式や役割について説明できるようになりましょう。

次に紹介したいのが実際に仕事で役に立つような内容です。
「UNIXシェルスクリプト マスターピース132 著:大角 祐介」です。

Linuxを用いたサーバーの管理方法やネットワーク管理の方法について書いてあり、仕事でも役に立つ内容が満載です。

シェルスクルプトのサンプル集となっていて、しっかり読み込んでそれを改良などして使いこなせるようになりましょう。

シェルスクリプトを自分で記述できるようにするためにサンプルコードの読み込み→理解します。

そしてサンプルコードの内容を紙にはきだしておいて、その内容をしたいにはどういったシェルスクリプトを書けばいいのか自分で考えて記述して、サンプルをみて答え合わせをするということを何回もしていけば、コマンドの記述方法や論理的思考能力も身につけるようになりかなり実力がつきます。

最後にカーネルについて学ぶために書籍を紹介しておきます。
「詳細Linuxカーネル 著:Daniel P. Bovet」です。

カーネルとはOSのコアとなる部分なのですが、Linuxはカーネル、シェルというような感じで分かれており、人間が分かるようにシェルが働いて、人間の行いたいことをシェルがカーネルから探してカーネルが実行します。

カーネルを知るということは、Linuxを知るということになります。

ハードウェア依存部分にも踏み込んだ内容になっていますし、Linux自身のソースコードを理解するためにも重要なことがたくさん書いてあります。

すごい難しい内容なのですが、今まで紹介した本をしっかりと読んでいれば読んでいける本になります。

まとめ

Linuxはまず実際にコマンドを打ち込んで、動いているか確認→問題を解くという流れで勉強していきます。
コマンドが出てくるたびにオプションについても学び、オプションをつけるとどう動くかを見ていくといいでしょう。

今回紹介した本はぜひ読んでほしいという本を並べていきました。
初学者向けの本はこれらで十分だと考えられますが、それ以上については個人的にこれを読んでほしいという本を記載しました。

難しい内容になっていますので、初学者向けを一通り読んで理解したら実際に書店に行ってみて、いろいろなLinuxの本からカーネルについて学びたいのか、シェルスクルプトについて学びたいのか、サーバー運用がしたいのか本を選らんでいくといいでしょう。

聞くは一時の恥聞かぬは一生の恥

ここまで記事を読んでいただきありがとうございます。

ここまで記事を読んでくれたあなたは、プログラミングを勉強中、もしくはプログラミングの勉強を始めようと思っている方ではないでしょうか。

何か解決したい問題を持って当サイトに訪れたかもしれません。

当サイトの情報であなたの問題が解決できていれば、嬉しいですが、もし、解決できていない場合はteratailで質問してみませんか?

当サイトの情報であなたの問題が解決できてiれば、嬉しいですが、もし、解決できていない場合はteratailで質問してみませんか?

プログラミング学習で意外と大切な「質問力」

プログラミングはわからないことだらけ。

どんなにベテランプログラマーでもわからないことは多く、日々、わからないことを調べています。 むしろ調べている時間の方が長いときさえあります。

ただ、調べても欲しい情報がないときや、聞いた方が早いと感じた場合は、さっさと質問します。

さっさと質問をした方が良いと思っても、独学している方は難しいですよね。

そこでぜひ利用して欲しいのがteratailです。

プログラミングスキルを上達させるには

  • 自分の中のスキルのストック
  • 検索するスキル
  • 人に質問するスキル

が必要だと思っています。

人に質問するスキルはteratailで磨いてみませんか?解決も早いですし、かなり便利ですよ!

teratailで質問すると1時間以内に回答がつくこともあります。

私自身も何度か質問していますが、今の所24時間以内に回答がつかなかったことはありません。

簡単な質問ほどつきやすい気がします。

おそらく、答えられる人が多いからだと推測しています。

初学者にぴったりのサービスです。

Leave a reply

*
*
* (公開されません)

Return Top