Bash

この記事はBashについて解説した記事です。会話形式のやさしい文章で「Bash」の用語のイメージを紹介した後に、採用に役立つBashの知識を解説しています。

1分で分かる!Bashの基礎知識

ジャバード先生、1つ聞いてもいい?

なんだい??

Bash(バッシュ)ってなに??

Bashっていうのは「UNIX系のOSに搭載されているシェルプログラム」だよ。といっても少しわかりにくいかな?

うん!全然わからない!あ、でもUNIXについては前に教えてもらったよね!たしかLinuxとかmacOSがUnix系のOSだったよね?

その通り!よく覚えているね!

じゃあ、シェルプログラムっていうのは何?

先にOSとかコンピュータの仕組みについて、少し話しておくね。OSのコアとなる部分には、カーネルといわれるプログラムがあるんだ。そのカーネルがハードウェアとソフトウェアを仲介することで、コンピュータは動いてるんだよ。

ふむふむ。OSのコアとなる部分がカーネルね…。もしかして、カーネル・サンダースさんと…

まったく関係ないね。それでね、ソフトウェアがカーネルの機能を呼び出したいとき、直接カーネルにアクセスすることはできないんだ。

じゃあどうすればいいの??

そこで必要になるのがシェルなんだ。シェルがカーネルにソフトウェアからの命令を伝えることでカーネルが動作するんだ。

なるほどなるほど。じゃあ、そのシェルの1つがBashっていうことかな?

そういうことだよ!ちなみにBashっていうのは Bourne-again shellの略なんだ。Bashは Bourneシェルというものの後継として作られたんだけど、そのBourneシェルを開発した人の名前である「Bourne」と「新生」という意味を持つ「born again」がかかっているんだよ。つまり、1種のシャレなんだ。

そんな名前の由来があったんだ!でも、座布団はちょっとあげられないかも。

ことりん君、なかなか辛辣だね。まぁIT業界にはよくあるジョークなので、そこは大目にみてあげて。

ちなみにさ、Bashってどんなときに使うの?「カーネルの機能を呼び出したいときに使う」ってのはわかったんだけど、それならプログラミング言語でプログラムすればいいんじゃないのかなぁ?

たしかにプログラミングすればよいというのはあるんだけどね。あまり厳密に分かれているわけではないけど、簡易的なプログラムをササっと書きたいときとか、大量ファイル操作などをOS関連の操作をしたいときにBashを使うことが多いかな。

実現方法の違いだけで、結果は同じって感じだね。ちょこっとしたプログラムならBashで書いてみるのもいいかもしれないね。

そうだね。そういう理解でいいと思うよ!あ、そうそう。ちなみにさっき「BashはUnix系OSのもの」っていったけど、実はWindows10から公式に対応しているんだ。だから、動作するプラットフォームが多いという特徴もあるんだよ。

そうなんだ!Unix系もWindowsでも使えるのは助かるね!

エンジニアにとっては環境の違いを考慮する必要がなくなるからね!

ジャバード先生、Bashについて良くわかったよ!ありがとう!ちょっとケンタッキーにいってくるね!

完全にカーネル・サンダースさんの影響だね!

Bashとは?採用に役立つ基礎知識

Bashとは、OSのコアなプログラムであるカーネルに命令を出すためのシェルと呼ばれるものの1つです。Bashの歴史は古く、1989年にブライアン・フォックスというエンジニアによって開発されました。オープンソースソフトウェアであり、Unix系のOSに標準的に装備されています。

前身はBourneシェルとよばれるものであり、これにさまざまなシェルの優れた機能を取り込まれているため、シェルの中では高機能であり、スタンダードなポジションを獲得しています。

2016年、Microsoft社は同社のOSであるWindows10が、Bashに完全対応することを発表しました。かつてはMicrosoft社とオープンソースソフトウェアには深い溝がありましたが、CEOの交代や情勢の変化などによって、その溝は無くなりつつありました。このニュースは、Microsoft社が、過去のそのような反Linuxという姿勢とはまったく異なるスタンスであることを印象付けるものとなりました。

Bashを使うエンジニア

Bashはさまざまなエンジニアが使用します。具体的な例としては、開発環境のちょっとしたプログラム(開発ツール)などで使用することがあります。そのため、サーバーサイド(バックエンド)エンジニア社内SE(情報システム)は、Bashに関する知識を有している人が多いです。

また、インフラ系のエンジニアであるインフラ(サーバー)エンジニアインフラ(ネットワーク)エンジニアなどは、OSに関する設定や環境の確認でBashを利用します。

Bashを使うエンジニアの特徴と在籍業界

BashはLinuxなどのOSを制御するためのものです。そのため、どのような業界のエンジニアであっても使用します。なお、Bashを極めるとシェル芸人という称号を得ることができます。

採用する時に知っておくとよいこと

Bashはクラウドでも利用されている

これまで説明してきた内容だけ見ると「Bashは古い技術なんだ」というイメージをお持ちの方も多いと思います。確かに間違いではないのですが、Bashはクラウド時代となった現在でも当たり前に使用されています。

クラウドというと最先端の技術であると考えがちですが、このようにこれまでの技術を活用して作られているものもあります。

また、前述したようにBashはWindowsでも利用できるようになるなど、確実に利用シーンが拡大しています。今後も、エンジニアにとって、そして開発作業においては、必要なものであり続けるでしょう。

求人のポイント

求人を作成する時は、下記の内容を求人に入れるとよいです。

1システム(サービス)の詳細
※特にそのシステム(サービス)をなぜ作っているのかを熱量をもって記載する。
2開発環境
3現在のエンジニア組織の体制
4現行システムの課題と募集の背景
5求められる業務と期待値
6エンジニアとしてのスキルアップ支援制度の有無と詳細
7エンジニアチーム内での相互成長のための仕組み(勉強会やLT会など)の有無と詳細
8選考フロー
9待遇
10キャリアパス

Bashの豆知識

Bashの代表的な機能

Bashは様々な処理を行うことができます。以下に代表的な機能を紹介します。

  • フォルダやファイルの操作(移動・コピー・削除など)
  • ファイルのGrep検索
  • アプリケーションの実行

Bash関連の資格

Bashに関連する資格としては以下のようなものがあります。

関連記事

  1. API

  2. vmware

    VMWare

  3. Arduino

  4. Marketo

  5. sqlserver

    SQL Server

  6. CircleCI