はじめましてTヨシダと申します。
業務ではマネージャ業を中心にしている関係上、コンソールでの作業はここ数年ほとんどしておらず、 Windows7上でEXCELで資料作成の機会が多く、その資料のデータを成形する過程で、Linuxホストにデータを置いて、 成形するためにLinuxコマンドを使い、その成形したデータをまたWindowsに持ってくることが多いので、 いっそのことWindows環境にLinuxコマンド環境を作ってしまおうと考えた次第です。
種を明かすとminttyを入れるだけなので、業務でgitを使っていらっしゃる方は、 git for windowsでやる方が良いと思います。(ベースは後述のMSYS2と同一)
余計なものをインストールしたくないので、MSYS2で進めたいと思います。
mintty自体は、Cygwinとか、Puttyでも使われているものです。
やりたいこと
- いちいちLinuxホスト上にデータを置かなくても、Windows7上で、grepやsort等のコマンドを実行してデータ成形が出来るようにしたい。
- 足りないコマンドは追加でインストールしたい。
やったこと
事前準備
自身のPCの稼働環境を確認
『コントロール パネル\すべてのコントロール パネル項目\システム』から、『システムの種類』を確認。
64bit環境でした。
MSYS2をインストール
こちらでEXEを取得。
64bit環境なので、x86_64の方のexeをダウンロード
EXEを普通にインストール。
レジストリは介さないので、好きな場所にインストール
※以下説明用に上記でインストール先に指定したフォルダを、以下、『インストールフォルダ』と記載します。
起動とログイン時ディレクトリの変更について
スタートアップにショートカットができるので、そこから起動する。
また、インストールフォルダを見ると、mingw32.exe、mingw64.exe、msys2.exeなど、exeがいくつかあると思いますが、msys2.exeを起動しておけば問題無し。
起動時のカレントディレクトリには、/home/[Windowsのログインユーザ名]になっています。
これはインストールフォルダ配下の『home』の下を見ると、このWindowsのログインユーザ名でフォルダが作成されています。
これを変更したい場合は、インストールフォルダ/etc/fstabを以下のように編集します。
※例えば、C:\tmp以下にログインしたい場合
C:\tmp /home/[Windowsのログインユーザ名]
これで開き直すと、C:\tmpが起動時のディレクトリとなります。
勝手に.bash_profileや、.bashrcなどのファイルが起動時にコピーされます。(便利)
【補足説明】
- インストールフォルダが、Linuxでいう/(ルートディレクトリ)になる。
- それを起点に、/home/[Windowsのログインユーザ名] が開始時のディレクトリとなる。
- 変更したい場合は、/home/[Windowsのログインユーザ名]/etc/fstab をいじる。
- フォントや右クリック時の挙動などは、画面上側右クリック時からOptionで設定のこと。(説明省略)
コマンドの追加
初期状態であるコマンドは、インストールフォルダは以下のusr/binの下にあるファイル群が対象です。
または、『pacman -S -i』コマンドで確認のこと。
ちなみに、Windows環境なのでvim使うことも無いとは思いますが、一応インストールしておきます。
コマンド追加の参考になれば。
MSYS2で入れたminttyでのパッケージ管理はpacman。
CentOSで言うところのyumみたいなもの。
pacmanのコマンドはこちらのチートシートが参考になります。
パッケージの検索
$ pacman -Ss vim
---------------------------------------
msys/vim 8.0.1305-1 (editors)
msys/vimpager 2.06-1
Use ViM as PAGER
msys/vimpager-git r279.bc5548d-1
Use ViM as PAGER
---------------------------------------
パッケージのインストール
$ pacman -S vim
---------------------------------------
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (1) vim-8.0.1305-1
合計ダウンロード容量: 6.49 MiB
合計インストール容量: 41.66 MiB
:: インストールを行いますか? [Y/n] Y
---------------------------------------
動作確認
$ vim sample.txt
無事vimコマンドが有効になっていることが確認できました。
ついでにssh端末としても使おうと思う。
$ pacman -S openssh
---------------------------------------
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (2) heimdal-1.5.3-9 openssh-7.5p1-1
合計ダウンロード容量: 1.20 MiB
合計インストール容量: 6.74 MiB
:: インストールを行いますか? [Y/n] Y
---------------------------------------
これでSSHコマンドも使える。
インストールされているコマンドの確認
(厳密ではないけど)だいたい以下で確認できます。
$ pacman -Ql | awk '{print $1}' | uniq | sort
---------------------------------------
bsdcpio
bsdtar
bzip2
ca-certificates
catgets
coreutils
crypt
curl
dash
file
filesystem
findutils
flex
gawk
(以下、省略)
---------------------------------------
以上。