クライアントマシンのOSはもっぱらWindowsを使うことがほとんどなのですが、サーバーはLinux/Unix系OSを使用することが多いです。
現行Windowsでは、OSに必要な操作はほぼGUIで完結するので、CUIで触るのはLinux系OSがほとんどでした。
ところが、開発やサーバー管理などをしているとWindowsを使っていてもCUIに頼らないといけない場面というのがでてきます。
普段使い慣れているLinuxとかなり使い勝手の違うWindowsのシェルは、いざ触ってみると戸惑うことが多いです。
また、Linuxは未だにCUIで使われる機会がおおいためか、CUIベースのツールはかなり充実しています。これらのツールは、さくっとサーバーの状態を確認したいときに非常に便利なのですが、Windowsでは標準で搭載されておらず、インストールもちょっと手間がかかるものも多いです。
かといって、何か操作する度にLinuxが動いているマシンにログインするのはちょっと面倒です。
そこで、Unix/Linux系で使えるポピュラーな機能の一部をWindowsに導入できないかなーと考えていろいろ調べていました。
VMで動かすとファイルのやりとりとかいろいろ不便。
かといってCygwinやWSLみたいにガッツリUnixライクな環境までは必要ない。
という方向けの、Windows上でネイティブに動く、簡単に”UNIXっぽい操作環境”を作る方法を紹介します。
実は、あるツールを入れていると、簡単にWindowsのコマンドプロンプトをUnixっぽくできます。
バージョン管理ツールのGitです。
実はGitをインストールすると、Unix/Linuxで非常によく使われるシェル”bash”のWindows版がついてきます。
今回はこれを利用します。
Gitのインストールが完了していれば
C:\Program Files\Git\bin
あたりのフォルダの中に、
“bash.exe”
というファイル名でインストールされているかと思います。
これをコマンドプロンプト上で開けるように、環境変数内の”Path”に、C:\Program Files\Git\binを追加しておきます。
スタートから”環境変数”と検索して”環境変数を編集”をクリックします。
“ユーザー環境変数”内のPathを選択し、”編集”をクリック
C:\Program Files\Git\bin
を追加します。
これで準備完了。
コマンドプロントで
bash
と入力すると、なんとWindows上のcmdでbashが使えてしまいます。(※WSLとコマンド名がかぶってしまったため、別の名前で起動するように書き換えています。)
lsやcat tail grep mv cp などの基本的なコマンドはこのbash.exeを起動するだけで使うことができます。
ちなみに、Windowsにインストールされているコマンドもbash上から実行が可能です。
それ以外の基本的なコマンドは、以前紹介したchocolateryでインストールすれば、そのままbash上でも使えます。
なお、bash起動時のaliasの設定などは、LinuxやUnixと同様に、自分のユーザーフォルダに”.bashrc”ファイルを作成して記述すれば読み込んでくれます。
cmdやPowerShellがちょっと使いづらいなーと感じたときに、bashに切り替えるだけで、操作がかなりしやすくなって便利です。
LinuxerやUnixerなWindowsユーザーの皆さんは是非試してみてはいかがでしょうか?