草プログラマー、それはつまり草

CS 会計 法律 サッカー 野球 bitcoin 数学 物理学 などいろいろやってます

Unix/Linux 入門から中上級者まで おすすめ本

2018 11 23 更新

Unix/Linuxのおすすめ本を紹介していきたいと思います。

エンジニアをやっていれば望もうが望まなかろうが、嫌でもLinuxと関わることになると思います。

まあ、Linuxカーネルぐらいは理解しときたいですよね???

また最近はどの分野でも情報系の知識が求められるようになってきて、バイオの研究者見たいにLinuxの知識が求められる人もたくさんいると思います。

そういう人は初心者とサーバのとこあたりだけ参考にしてくれればいいと思います。

ここでは本当の初心者から上級レベルまで私がいままで読んで役立った本をあげていきたいと思います。

初心者


まあ、最初はコマンドラインから使えるようになる必要があります。


1週間でLPICの基礎が学べる本 第2版 (徹底攻略)

1週間でLPICの基礎が学べる本 第2版 (徹底攻略)

新しいLinuxの教科書

新しいLinuxの教科書

Linuxに触ったことがないよって人は、この二冊がおすすめです。初心者でも挫折することなく学べると思います。


まあ難しい要素は特にないので、ささっと覚えましょう。

コマンドラインはしっかりと使いこなせるようにならないといけないので、実際にパソコンでたくさん色んなコマンドを打ってみましょう。


この後に

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界

  • 作者: ブルース・ブリン,Bruce Blinn,山下哲典
  • 出版社/メーカー: ソフトバンククリエイティブ
  • 発売日: 2003/02
  • メディア: 単行本
  • 購入: 18人 クリック: 331回
  • この商品を含むブログ (64件) を見る

で、シェルはOKでしょう。シェルも重要です。しっかりと学ぶ必要があります。


シェルをやるなら、まずこの本をやっておきましょう。何らかのプログラミング言語を勉強したことがある人ならそこまで苦労せずに読めると思います。


逆に全くプログラミングをやったことがない人はもしかしたらつまづくかも。

サーバ

CentOSで作るネットワークサーバ構築ガイド

CentOS 7で作るネットワークサーバ構築ガイド 1804対応 第2版 (Network Server Construction Guide S)

CentOS 7で作るネットワークサーバ構築ガイド 1804対応 第2版 (Network Server Construction Guide S)

サーバをたてる人はとりあえず読んでおくといいと思います。

これは結構分厚いです。

というかこの分野の本はどれも分厚くて大変です。


初級者


コマンドラインとシェルの勉強をしたあとはシステムプログラミングの勉強をしていきましょう。システムコールの勉強はコマンドラインと同じくそんなに難しいというわけではないので、短い期間で読み込むのがいいとおもいます。


ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道

ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道


最初の一冊としてはふつうのLinuxが無難だと思います。取っ掛かりとしてはいいとおもいますが、まあ個人的にはUnix/Linux理論と実践の方が好きです。

というか理論と実践の方が分かりやすいと思います。


Unix/Linuxプログラミング理論と実践

Unix/Linuxプログラミング理論と実践


Unix/Linux理論と実践はすごいおすすめです。ホントに分かりやすい図があるので多分Linux関連の本のなかで1番読みやすいと思います。

理解が曖昧だったところがスッキリします。

まあまあ分量があるのでそれなりの時間はかかります。

私はこの本を何周もしてLinuxの基本を学びました。

個人的にはもっとも評価の高い本でして、もっと世間的な評価も高くなっていいと思うのですがね。

オペレーティングシステムの入門書としてもとても優れていると思います。

中級者


詳解UNIXプログラミング 第3版

詳解UNIXプログラミング 第3版


いわゆる名著ですね。昔から非常に評価が高い本です。

網羅せいが高く、そのぶん分厚いです。ホントに分厚いです。

短期間でさらっと読めるものではないので、時間をかけてしっかりと読み込みましょう。

読みやすいかと言われたらはっきりいって微妙です。ある程度の前提知識が必要ですので、難しく感じたらUnix/Linux理論と実践をまず読みましょう。


Linuxプログラミングインタフェース

Linuxプログラミングインタフェース

こちらはLinuxの名著ですね。こ

ちらもさっきの本と同じように、網羅性が高く、その分、分厚いです。

本当に分厚いです。

とても、持ち歩ける品物ではありません。

ですが、Linuxをつかうのであれば、読み込んでおく必要があると思います。

こちらも時間をかけて読み進めていきましょう。

時間はかかりますが詰まることはあまりないと思います。

ある程度の前提知識があればですけどね。

やっぱりあらかじめUnix/Linux理論と実践を読んでおいた方がいいと思います



UNIXネットワークプログラミング〈Vol.1〉ネットワークAPI:ソケットとXTI

UNIXネットワークプログラミング〈Vol.1〉ネットワークAPI:ソケットとXTI

  • 作者: W.リチャードスティーヴンス,W.Richard Stevens,篠田陽一
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 1999/07
  • メディア: 単行本
  • 購入: 8人 クリック: 151回
  • この商品を含むブログ (35件) を見る


こちらは、ネットワークプログラミングの名著です。

ネットワークといえばこの本というくらい有名な本ですので、ネットワークプログラミングに興味がある人は必読だと思います。

ただ、ネットワークの基本的な知識がある人向けです。いきなり読んでも理解するのは難しいでしょう。

量も質も素晴らしいのですが、全部目を通すにはかなり時間がかかるでしょう。

ネットワークの勉強をしてから読みましょう。

システム管理

Linuxは主にシステム管理に使う人が多いとおもいます。

Linuxシステム管理

Linuxシステム管理

取り敢えずさいしょに一冊これをよんでおけばいいと思います。本格的にシステム管理をやる人は


UNIXシステム管理 第3版〈VOLUME 1〉

UNIXシステム管理 第3版〈VOLUME 1〉

  • 作者: アイリーンフリッシュ,AEleen Frisch,飯塚正樹,下田みどり
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2003/07
  • メディア: 単行本
  • 購入: 1人 クリック: 18回
  • この商品を含むブログ (14件) を見る
UNIXシステム管理 第3版〈VOLUME2〉

UNIXシステム管理 第3版〈VOLUME2〉

  • 作者: アイリーンフリッシュ,AEleen Frisch,飯塚正樹,下田みどり
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2003/08
  • メディア: 単行本
  • 購入: 1人 クリック: 15回
  • この商品を含むブログ (9件) を見る


をやるといいとおもいます。ただかなり分量があるのでリファレンス的に使っていくのがいいとおもいます。

全部読もうとするとかなりキツいです。

正直システム管理の勉強は私はあんまり好きじゃないですねえ。

かなり苦しんだ記憶があります。

ネットワーク管理


システム管理も重いのですが、ネットワークもかなり重いです泣。


Linuxネットワーク管理 第3版

Linuxネットワーク管理 第3版

  • 作者: Tony Bautts,Terry Dawson,Gregor N. Purdy,高橋浩和(監訳),伊藤真浩(監訳),三好和人
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2005/11/17
  • メディア: 大型本
  • 購入: 1人 クリック: 13回
  • この商品を含むブログ (7件) を見る


取り敢えずこれを読んでおくとネットワークがどんな感じ可わかるとおもいます。この本は薄いのでさっさと読んでしまいましょう。

真面目にネットワーク管理をやるなら。


TCP/IPネットワーク管理

TCP/IPネットワーク管理

  • 作者: クレイグハント,Craig Hunt,村井純,林秀幸,土本康生
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2003/06
  • メディア: 単行本
  • 購入: 1人 クリック: 1回
  • この商品を含むブログ (5件) を見る


も読んでおいた方がいいでしょう。


こちらはかなり重いです。

ネットワークを理解するには、TCP/IPの理解は欠かせません。

読むのは大変ですが、目を通しておいた方がいいでしょう。

ここら辺まで来ると何でこんなに勉強してるんだろ( ̄0 ̄)って感じになりますが、まだまだ勉強するべきことはたくさんあります。

DNS & BIND 第5版

DNS & BIND 第5版

こちらの理解も重要です。DNSは必ず使うことになるので、しっかりとした理解が必要です。

これも結構分厚く、よむのに時間がかかります。

なんか重い本ばっかりなので一冊軽い本を挙げると

萌えるシリーズ 萌え萌えうにっくす! UNIXネットワーク管理ガイド ? PC UNIXネットワーク管理日々の疑問に萌えの一手

萌えるシリーズ 萌え萌えうにっくす! UNIXネットワーク管理ガイド ? PC UNIXネットワーク管理日々の疑問に萌えの一手

がおすすめです。この分野を勉強してると、このぐらいの本がものすごく薄く感じるようになります。

カーネル


ITエンジニアである以上、Linuxカーネルは理解したいですよね⁉ そうですよね?

カーネルの勉強を始める前に読むべき本がありまして、


32ビットコンピュータをやさしく語る はじめて読む486 (アスキー書籍)

32ビットコンピュータをやさしく語る はじめて読む486 (アスキー書籍)


486は必ず読みましょう。すげえ役に立ちます。

本当に役に立ちます。

本当に分かりやすいので必ず読んでください。

仮想メモリとかなかなか理解しづらいところを非常に上手く説明しています。

もう一冊は

熱血! アセンブラ入門

熱血! アセンブラ入門

アセンブラもわかっておいた方が良いですね。

アセンブラくらいは読めないと少し恥ずかしいです。

非常に分厚く量がありますが、詰まるところは特にないのでスラスラ読めると思います。

以外とそこまで時間はかかりません。

カーネル

遂に本丸のカーネルです。

UNIXカーネルの設計

UNIXカーネルの設計

まずはこの本を読むのがいいとおもいます。これも所謂名著ですね。

ふつうにオペレーティングシステムの教科書として使えると思います。

はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus)

はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus)

コードやアルゴリズムを理解するにはこの本が1番簡単だと思います。取っ掛かりに最適でしょう。

読みやすい分量なので短期間で読み込むといいとおもいます。

ある程度のプログラミングの知識は必要です。


詳解 Linuxカーネル 第3版

詳解 Linuxカーネル 第3版

  • 作者: Daniel P. Bovet,Marco Cesati,高橋浩和,杉田由美子,清水正明,高杉昌督,平松雅巳,安井隆宏
  • 出版社/メーカー: オライリー・ジャパン
  • 発売日: 2007/02/26
  • メディア: 大型本
  • 購入: 9人 クリック: 269回
  • この商品を含むブログ (73件) を見る


詳細Linuxカーネルは必読でしょう。

読むのは大変ですが、この本を理解してやっと初心者から中級者にレベルアップといったところです。

時間を作って読み込む必要があります。

かなり時間が懸かりますが、頑張りましょう。

Linuxカーネル2.6解読室

Linuxカーネル2.6解読室

こっちの方が詳解Linuxカーネルより読みやすく、理解も容易だと思います。

詳解Linuxカーネルよりこちらを先に読んだ方がいいと思われます。

エンジニアとして生きていくのであれば、このぐらいは最低でも理解しておきたいところです。

おまけ


BSDカーネルの設計と実装―FreeBSD詳解

BSDカーネルの設計と実装―FreeBSD詳解

  • 作者: マーシャル・カークマキュージック,ジョージ・V.ネヴィル‐ニール,砂原秀樹,Marshall Kirk McKusick,George V. Neville‐Neil,歌代和正
  • 出版社/メーカー: アスキー
  • 発売日: 2005/10/18
  • メディア: 単行本
  • クリック: 122回
  • この商品を含むブログ (58件) を見る


BSDも面白いので余裕があれば読んでおくといいと思います。


このあたりまでくれば、だいたいソースコードを読めるようになります。

まあこのぐらいはやるには一年~二年くらいかかります。

このぐらいやれば、Unix/Linuxチョットできるよって自称しても許されると思います。

許されますよね

Linuxカーネル、glibc、FreeBSDあたりのソースコードはある程度読んでおきましょう。

あとXenやKVMなどの仮想化技術も忘れずに勉強しましょう

あとqemuとかも。

一人でやっていると辛い分野ですので、ブログやらツイッターやらでおんなじようなことを学んでいる人を参考にしたり、大学の講義のスライドを見たりとか色々情報収集は定期的にした方がいいです。


おしまい

Copyright © 2016 へなちょこプログラマー All rights reserved.