すぐに書けて、すぐに実行できる手軽さ
LinuxとUNIXは、Webサービス、クラウドサービス、企業内LANなど世間のさまざまなITシステムの基盤として使われています。そのため、普段の業務で使っているITエンジニアの方も多いでしょう。
Linux/UNIXは今でもCLI(Command Line Interface)が主流です。GUI(Graphical User Interface)のような直観的な操作はできませんが、文字だけでコンピュータを扱えるため、大量データの一括処理や、手作業でやっていた操作の自動化に長けています。
そのCLIを実現しているのがシェルと呼ばれるソフトウェアです。シェルは、人が画面に入力したコマンドを受けとって、OSが理解できる命令に変換してOSに処理を依頼する役割を担います。コマンドは1つだけでも使えますが、複数個組み合わせて自分のやりたい処理を実現することもできます。これがシェルプログラミングです。
Linux/UNIXであれば、シェルは初めから導入されているので、すぐに使えます。「端末(ターミナル)」と呼ばれるソフトウェアを起動したら、その画面に直接コマンドやプログラムを書けます。書いたプログラムはEnterキーを押した瞬間に実行され、すぐに結果が画面に現れます。コンパイルもデプロイも必要ありません。文字の一括置換のような単純な処理から科学計算のような複雑な処理まで、すぐにプログラムを書いてすぐに実行できるのがCLIの強みです。
サーバ管理者だけでなくプログラマにも有用
CLIやシェルプログラミングは、「サーバ管理者やネットワークエンジニアが使うもの」と思われがちですが、Linux/UNIXの一般ユーザやプログラマにも有用です。
コマンドやシェルは、テキストデータを1行ずつ処理することを得意としており、文章の検索や校正にも使えます。HTML形式やJSON形式で書かれたテキストファイルのパースや加工にも適しています。
また、コマンドにはTCP/IPやHTTPなどの通信機能を持ったものもあります。それらを使えば、Webサイトの情報のダウンロードや、Web APIの利用も可能です。
プログラマの方ならシェルプログラミングの習得は難しくありません。簡単な処理を本格的なプログラミング言語で書くまでもなくシェルで済ませられれば、作業の効率も格段にアップします。CLIから直接プログラムを書いて即実行するという、新たなプログラミングの境地も開けることでしょう。
コマンドを自在に組み合わせるコツ
シェルやコマンドの本は世に多数あれど、いずれもコマンドの機能やシェルプログラミングの文法を説明するものばかりです。
本書はそういった説明もしますが、何よりもコマンドの組み合わせ方のノウハウを解説します。テキストデータの加工/集計、ファイルのバックアップ、処理の自動化、名簿の管理など具体的なケースごとに、「どのコマンドをどのように組み合わせれば良いか」の例をたくさん示します。プログラムコードと実行結果を読み解いていけば、だんだんとコマンドの組み合わせ方がわかってきます。
本当にLinux/UNIXを使いこなせるようになりたいなら、ぜひ本書でシェルプログラミングをマスターしましょう。