24時間365日フルマネージドホスティングサービスのデイーネット

HOME'; $txt2 = '
  • サーバサービス
  • '; $txt3 = '
  • サポート
  • '; $txt4 = '
  • ホームページ制作
  • '; $txt5 = '
  • 技術情報
  • '; if($dir == "") $txt1 = ''; if($dir == "server_service") $txt2 = ''; if($dir == "support") $txt3 = ''; if($dir == "hp_service") $txt4 = ''; if($dir == "technology") $txt5 = ''; ?>

    Windows7環境にLinuxコマンド環境を作ってみた。

    はじめまして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
    (以下、省略)
    ---------------------------------------

    以上。

    • このページの先頭へ

    • 東京本社
      〒105-0001東京都港区虎ノ門2-3-22 第一秋山ビル5F
      TEL:03-3591-8887 FAX:03-3591-8886
    • 大阪本社
      〒541-0041 大阪市中央区北浜2-6-11北浜エクセルビル5F
      TEL:06-6231-8887 FAX:06-6231-8897

    • 認証範囲はこちらをご覧ください。

    Denet logo

    クラウドサービス・データセンタ・高機能専有サーバ・共有サーバホスティングサービス 株式会社ディーネット
    dot_bar