「Linuxできますか?」
「Linuxできますか?」という言葉はIT業界であれば面接でよく問われる質問だと思います。私も過去問われたことがありますが、この、できますか?、って言う質問はかなりあいまいな問い方だと思います。何ができればできるなんでしょう。勝手な判断でできると答えていいものかどうか。
現場経験を重ねて来た立場から、この「できますか」が示す内容を説明してみたいと思います。
期待していること
コマンドでファイルの操作ができること
Linuxには一応グラフィカルインターフェースも付属していますが、かなりの操作をSSHプロトコル経由でコマンドプロンプトにて行うことが多いです。WindowsだとリモートデスクトップでGUIが標準なので、ここは大きく違うところです。
さて、コマンドで何をするかと言うと、9割がファイル操作だと思います。テキストエディタでファイルを修正する。ファイルのコピー・移動・削除をする。Linuxはファイルによって成り立っていて、ファイルの修正が動作の変更を示します。
Linuxができる、と抽象化すると何のことだかわかりにくいですが、まずはファイル操作をコマンドレベルできちんとできることが重要です。
ユーザー管理、権限の操作ができること
一台のLinuxホストは、たいてい複数のユーザーが使います。
その際、全ての人がroot権限(管理者権限)を持っていたら、誰かひとりの誤った操作でホストごと不具合が発生してしまいます。
したがって、ユーザーを作成し権限設定を適切に行うことで、過度にできないようにします。
このユーザーまわりや権限のことを確実に理解していることは重要です。Linuxできます、がroot前提になっているとしたら、これは不十分な知識と言えます。
TCP/IPを理解していること
ネットワークを理解していること、と書いても良いですが、もはやネットワーク=TCP/IPというところがあります。物理層に近い部分までもネットワークに含まれていますが、たいていの現場ではTCP/IPが全てじゃないかなあと言う印象です。
大昔は他のプロトコルもあったのですが完全にTCP/IPが制覇してしまい、むしろIPv4かIPv6かぐらいの話がもっぱらの話題なのかなと思います。
今のコンピューターはネットワーク、特にインターネットへの接続があることが前提なのでTCP/IPの4階層モデルを身に着けた人は、あらゆる場面で物事を理解するのが早いだろうなと思います。
アプリケーションを使っていても、他のアプリケーションとネットワーク越しに会話をするAPIが整備されていて、TCP/IPの知識無しでは仕事は難しいなと感じるシーンは多いです。
TCP/IPと言っても、かなり利用期間が長く洗練されていますので、基本をしっかりおさえればいいぐらいの話です。
ストレージを扱えること
ストレージと言えば昔はローカルディスクだけだったのですが、最近はネットワーク越しにディスクをマウントすることは普通です。
このストレージとOS自身を分けた考え方はクラウドではよくするのですが、この辺りはクラウドでLinuxを実際に使って慣れる部分もあるので、「できますか?」に結構含まれてきます。
最近はオブジェクトストレージなども登場し、ストレージは、物理的なハードディスクの意味合いから、アプリケーションやシステムのような意味合いに変化しています。Linuxもこれとつきあう必要があります。
まとめ
Linuxできますか、の裏にはOSそのものの知識のほかに、ネットワークやストレージが絡んだりして、年々その感覚は変化しているなとは感じます。
昔は素の物理サーバーにインストールから始めなければいけなかった利用も、クラウドではワンクリックに近い形でOSが構築できてしまいます。
アプリケーションもオープンソースで優れているものもたくさんあり、導入手順もたくさんインターネットに掲載されています。
ですから、Linuxを構成している様々な構成要素を理解する以上に、どう利用するか、ということにポイントが移っていると思います。
単に「できます」というときにもこれだけの事情が広がっていることを考えると、うかつに、「Linuxできますか?」と言う言葉を発するのは語弊がある可能性があるな、とも考えます。
追記
Windows編はこちら。