本連載は、これまで7年近く続いている。この7年間でLinuxを取り巻く状況は大きく変わった。WindowsがLinuxに標準対応したり、Chromebookが一定のシェアを持つようになったりと、どれ一つとっても7年前には思いもよらなかったことばかりだ。今回は、この7年間で取り上げてきた内容を基に、Linuxの状況がどのように変遷してきたのかを振り返る。
連載で取り上げてきたこと
本連載では「Linuxを使う」ということに対して、いくつかの視点から取り組みを行ってきた。比較的汎用的な内容で、どのようなLinuxを使っていても応用が効くテーマを取り上げてきたつもりだ。
これまでに連載で取り上げてきた内容を簡単にまとめると次のようになる。
- Linux/UNIX系ディストリビューション(CentOS、Ubuntu、Debian GNU/Linux、SUSE、Mac、FreeBSD)
- サーバLinux (ルータ、NAS、Web)
- デスクトップLinux
- sshdサーバの設定方法
- sshクライアントの設定方法
- コマンドの使い方(cd、ls、cat、less、more、grep、sed、awk、lsof、curl、tr、yes、printf、mail、df、env、bc、cal、cut、date、du、env、true、false、iconv、file、find、kill、make)
- セキュリティアップデート
- パッケージ管理システム
- シェル bash、zsh、fish
- 開発環境 C言語、Python、シェル
- エディタ Vim、Neovim
- ターミナル tmux、Windows Terminal
- Windowsの提供するLinux環境 WSL/WSL2、MSYS2、OpenSSH for Windows
Linuxの利便性の高さは、ユーザランドに導入されているコマンドの便利さが支えているものも多い。こうしたコマンドの使い方を習得することは、長期にわたってLinuxを使う上で強みになる。最初は時間をかけてでも、各種コマンドの使い方は習得しておきたい。そうした考え方から、本連載では特に便利なコマンドの使い方について取り上げてきた。
便利なコマンドはWindowsでも使われる。そして、その逆も起こる
登場した当時はLinuxだけで使用できたコマンドやソフトウエアでも、特に有用性の高いものに関しては、単体でWindows版などが登場して利用されるようになった。WindowsのシェルはLinuxのシェルとはかなり趣が異なるので、同じようにとは行かないが、それでもLinuxスキルのいくつかはWindowsでも使えるようになっていった。
この現象は逆の方向においても起こった。Windowsで使われる人気の高いアプリケーションが、最初からオープンソースソフトウエアとして開発され、Linuxでも使われるようになっていったのだ。
近年、デスクトップアプリケーションの開発では基盤技術としてWeb技術が使われるようになった。主要Webブラウザはクロスプラットフォームで開発されている。WindowsでもLinuxでも使われている基盤コードには、共通点が多い。こうした共通基盤に基づいて新しいフレームワークが開発され、そのフレームワークをベースにして「WindowsでもLinuxでも使用できるデスクトップアプリケーション」が開発されるようになった。
こうした開発の流れは、スマートフォンアプリやタブレットにも波及する。スマートフォンやタブレットのアプリにはかなりのシェアと需要がある。iPhoneとAndroidアプリの双方を個別に開発するのはコストがかかるので、単一のコードベースで双方のバイナリが生成されてほしい。同じ要領で、デスクトップアプリケーションも生成できるならなおラッキーだ。
こうしたことから、昨今、人気の高いアプリケーションは最初からどのOSでも動作するという状況になっている。
ただし、Linuxのスキルは依然として有効
この7年間でOSの垣根は以前よりも低いものになった。かといって、身に付けたLinuxのスキルが無駄になったということは一切ない。今も、Linuxの活用スキルはさまざまなシーンで利用することができる。
Linuxスキルの大部分は、Linuxで動作するコマンドやシェル、ソフトウエアに関する知識とその使い方であり、そういったソフトウエアは依然として現役だからだ。しかも近年、その活用シーンはLinuxやMacだけでなく、Windowsでも使えるようになっている。Linuxを使う中で身に付けたスキルはWindowsでも役に立つのだ。
Windowsには「PowerShell」というシェルがあり、現行バージョン(PowerShell 7)はMacでもLinuxでも利用できる。PowerShellをベースにしてクロスプラットフォームのスクリプトを書くことも可能だ。PowerShellはLinuxのシェルとは異なり、シェル自体にさまざまな機能が実装されている。PowerShellだけで処理を閉じ、クロスプラットフォームで動作するようにすることもできる。
しかしながら、PowerShellをLinuxやMacで使うよりも、LinuxのコマンドをWindowsやMacで使うケースのほうが先行しており、処理速度も圧倒的に速い。特に、WindowsがLinuxに標準対応したことで状況は大きく変わった。WindowsでもLinuxのスキルがほぼそのまま使えるのだ。すでに、Windowsは世界最大のLinuxディストリビューションプラットフォームと言えるような状況になっている。
技術の本質は60年経っても同じ
UNIX系OSの源流をいつに置くのかにもよるが、1969年に開発が開始された「Unix」を起源だと考えるなら、今年で61年目ということになる。この61年でコンピューティングパワーは愉快なほど強力なものになったが、ユーザーから見えるLinuxのツール群に大きな変化はない。長年に渡って残り続けているコマンドにはそれだけの需要があるわけで、現在でも現役だ。
人間は、60年程度では生物としての劇的な進化を見せることはないだろう。基本的なビジネスプロセスもガラリと変わるケースは少ないし、ツールの本質もそう大きく変わらない。身に付けた本質的な技術は、長期にわたって役立つものなのだ。
本連載で取り上げてきた技術は、どれももう数年は経過していることになるが、いずれも色あせてはいない。どれも強力なツールであり、使いこなせば日々の作業を効率化してくれる。要は使い方次第だ。
技術の変遷が速いIT業界だが、それでもLinuxの本質的な部分はこの60年間、変わっていない。今から始めても、遅くはないのだ。Linuxで使われているコマンドについて調べ、その使い方を習得すれば、今後10年、業務に役立ってくれるはずだ。