【効果的学習法レポート】シェルスクリプトをこれから学びたい人のためのオススメ書籍&教材特集


2021/12/11

弊社では技術開発活動の中で活用しているナレッジを日々様々なリソースから得て、継続的に勉強を重ねています。

ソフトウェア産業の分野では、常に新しい情報を得るために多方面にアンテナを張って、貪欲に知識をビジネスに取り入れるという姿勢が必要になります。

この記事では、ブログの個人的に気になった&試してみたいBashを中心としたシェルスクリプトの良質で旬な学習素材をまとめていく内容になっています。

気になる学習教材があれば、リンク先のサイトで是非ともチェックしてみてください。


シェルスクリプトをしっかり学べる厳選書籍

まずシェルスクリプトを学ぶ上で、コレは読んでおきたいと思う書籍を、著者の独断でピックアップしていきます。

新しいシェルプログラミングの教科書

合同会社タコスキングダム|蛸壺の技術ブログ

システム管理やソフトウェア開発などの業務で使えるように配慮された内容で、シェルスクリプトの基礎知識から徹底解説されている本です。

内容としてはBashに特化することで、より実践的なプログラミングを紹介を凡例を元に学習できます。

なお発行部数の関係か、印刷出版された本は中古でしか扱われていないので、執筆中は電子書籍での購入が推奨です。

シェルスクリプトの基本が満遍なく、じっくりと解説されているので、シェルコマンド入門書としてはとても良い一冊です。

一方でこのブログで集中的に取り扱うところの、Sedコマンドは10章の正規表現のパートでちょこっと紹介がある程度です。

Awkに至ってはほぼ紹介さえ無いようですので、シェルコマンドをある程度自分のものにされているエンジニアは敢えて購入する必要もないでしょう。

新しいLinuxの教科書

合同会社タコスキングダム|蛸壺の技術ブログ

こちらの書籍は先程の
「新しいLinuxの教科書」の著者が2年ほど先行して出版されていた本です。

先程の書籍がBash特化の内容であったのに対し、こちらはより汎用のShellに対応した内容になっています。

Bashでなく、より純粋なシェルを基礎から学ぶには最適の「教科書」です。

本書のターゲットはシェルコマンドの初学者を対象にしていますので、広く・浅く・満遍なくシェルに関するノウハウが書かれているため、SedとAwkなどのコマンドにはその導入部分しか触れられていない感じです。

社内教育等で、これからLinuxに触れてみたいけれど、シェルコマンドなんて全く分からない新人エンジニアの方に読ませるのであれば、この本は大いに役に立つでしょう。

シェルスクリプト基本リファレンス ──#!/bin/shで、ここまでできる

合同会社タコスキングダム|蛸壺の技術ブログ

ロングセラーの『シェルスクリプト基本リファレンス』の改訂第3版です。

この本はタイトルの通りで、Linux標準の純粋なShellで出来ることを深く掘り下げる内容になっています。

第3版ではLinux/FreeBSD/Solarisに加え、組み込み分野等で注目度の高いBusyBoxの内容もカバーされています。

付録として収録されているシェルスクリプトのサンプルは異種OS間の移植性を意識して、どのOS上でも動作するような内容に改訂されているようです。

目次の大まかなおしながきは以下の通りです。

            
            第0章 シェル&シェルスクリプトの基礎知識
第1章 シェルスクリプト入門
第2章 シェルスクリプトの基本事項
第3章 シェル文法の循環構造
第4章 複合コマンド
第5章 組み込みコマンド(1)
第6章 組み込みコマンド(2)
第7章 パラメータ
第8章 パラメータ展開
第9章 クォートとコマンド置換
第10章 各種展開
第11章 リダイレクト
第12章 よく使う外部コマンド
第13章 配列
第14章 シェルスクリプトのノウハウ&定石
Appendix サンプルスクリプト
        

ここらへんのシェルコマンドの基礎的な使いこなしは、上級者でも暫くつかっていないとど忘れしてしてしまうことも良くありますので、手元において逆引きのハンドブックとして机の上においておくといざという時サッと確認できて便利です。

「シェル芸」に効く!AWK処方箋

合同会社タコスキングダム|蛸壺の技術ブログ

Awkコマンドに特化したテクニック本です。

gawkをベースに、AWKの基礎からちょっとした実用的なスクリプトなどを楽しく紹介されている一冊です。

内容としては少し薄いですが、Tip集としてAWKの書き方を忘れてしまった際に、後で見返すような用途でも十分活用できる本になっています。

基本は電子書籍形式での販売になっていますが、どうしても紙媒体の書籍が要りようの場合には割高にはなるもののオンデマンド(ペーパーバック)版で購入可能です。

個人的にはスマホなどでKindleアプリからサッと見れるような使い方で眺めると良いと思います。

AWK実践入門

合同会社タコスキングダム|蛸壺の技術ブログ

こちらは別のAwk特化本ですが、よりAwkの基礎から応用までが徹底的に書かれているAwk専門のガイドブックといった感じの本です。

内容も2015年時点とAwk本にしてはまだ書かれている内容が新しいため、gawk4に対応しています。

この本の読者のターゲットとしては、Awkをはじめて使う駆け出しのシェルコマンドプログラマーからAwk上級者まで、幅広く使える一冊になっています。

近年ではデータサイエンスの分野でAwkに再び脚光を浴びつつあるので、情報系の大学生にもこの本を手にとってAwkを勉強していただくと良いと思います。

如何せんAwkに関する書籍はとても少ないのが現状ですので、この本はAwkの教科書的に使えるかも知れません。

sed & awkプログラミング改訂版(日本語) 大型本

合同会社タコスキングダム|蛸壺の技術ブログ

Sedの特化本となると、極端に少なく、しかも邦書になると皆無と言って良い状況です。

この本は、SedとAwkを2つのコマンドを扱って高度にドキュメントを編集することをとことん突き詰めて考えられた書籍になります。

ただし、内容が20年以上も前の内容になっているので、現状のGNU sedなどでも動くとは思うのですが、良く注意して内容を見る必要はあるでしょう。

1日1問、半年以内に習得 シェル・ワンライナー160本ノック

合同会社タコスキングダム|蛸壺の技術ブログ

こちらは
「シェル芸」いわゆるワンライナー(一行)で書かれたスクリプトが読めるようになりたい・書けるようになりたい人向けに、例題を通してシェル芸人力を磨ける本になっています。

シェル芸は非常に頭をひねるようなテクニックを多数組み合わせて構成されているので、細かい理屈を知らなければ一体どうしたらそう動くのか理解は難しいものです。

そういったこれまで有りそうで無かったシェル芸の基礎的なテクニックをまとめたオリジナリティあふれる一冊に仕上がっています。

シェル芸に興味がある方は是非とも手にとってみてはいかがかと思います。

難読化シェル芸の世界 ~Bashとすてきな難読化~

合同会社タコスキングダム|蛸壺の技術ブログ

こちらもシェル芸系の解説本です。

この本では基本的なシェル芸に加え、Bashを使ってよりマニアックかつ難読化されたスクリプトを「難読化シェル芸」として、そのテクニックを解説していく趣旨の本になっています。

ここまで来ると、実用性という枠を超えて、一つのコンピュータ競技に近いものを感じます。

自分のシェル芸人としての腕試しに一度読んでみると楽しいかも知れません。

とにかく役に立つかは二の次で、Bashプログラミングの深さを再発見できる一冊です。


シェルスクリプトをしっかり学べる学習サービスピックアップ

今の時代、シェルスクリプトを本から学ぶだけが学習の手段ではありません。

先程まで紹介していた書籍には、シェルスクリプト入門レベルから上級者向けまでとレベルが様々ありますが、初学者からするとどう難しいのか判断は付きませんし、一人で勉強すると理解するまで時間のかかるし、気づけばスッとクリアできるポイントもなかなか気づかないままでスムーズに学習が進まないことにもなりかねません。

ここではより効率的にシェルスクリプトを学ぶためにオンライン型のいくつかの学習手法をご紹介していきましょう。

Udemyのオンライン教材を使う

合同会社タコスキングダム|蛸壺の技術ブログ

Udemyのオンライン教材を使えば、おおよそ自分のレベルや目的に見合ったシェルスクリプト関連のオンライン講座を見つけながらステップアップで学習することもできます。

Udemyではシェルスクリプトの基礎が学べるビデオ講座もラインナップされています。

ここでは幾つかピックアップして紹介してみます。

例えば、これからLinuxプログラミングをこれから学ぼうとしている人向けに
『【5日でできる】はじめての Linux 入門(LPIC Level1対応)』の講座などが人気のようです。

この講座はLPIC Level 1(Linuxのエンジニア認定資格)やLinuC Level 1の対策を意識した内容にもなっていますが、もっとストレートにシェルプログラミングをこれから学ぼうとしている人には、
『もう怖くないLinuxコマンド。手を動かしながらLinuxコマンドラインを5日間で身に付けよう』の講座などでじっくりと基礎を学ぶと良いでしょう。

より演習形式な講座をご所望とあらば、以下のような
『もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 』の講座でシェルスクリプトの組立方法を試しながら学ぶことも可能です。