はじめてターミナルを使ってみるメモ(Cygwin・Windows7)


はじめてターミナルを使ってみよう!ということで、
Cygwin を試してみて難しかったのでメモしたものです。
Windows7 64bit での話です。

いろいろインストールしよう

Cygwin を入れる(cmd.exe をレベルアップする)

Cygwinとは「Windowsオペレーティングシステム上で動作するUNIXライクな環境の一つである。」だそうで、ようするに Windows でもターミナルを使いやすくしたりコマンド増やしやすくしたりするためのもの。下記よりインストールする。
https://cygwin.com/install.html
デフォルトで適当にインストールすると一緒に Cygwin64 Terminal(64ビットバージョンの場合)というターミナルがついてくる。これは mitty という名前のターミナルとのこと。何かかわいい。

apt-cyg を入れる

setup.exe を GUI で使わなくてもアップデートできるようにするため、下記を見ながら apt-cyg をインストール。
http://dqn.sakusakutto.jp/2013/12/64bit_cygwin_apt-cyg.html

fish を入れる

あと Shell を bash から fish にすると、補完機能がついたり色分けしてくれたりと初心者に優しいらしいとどこかで読んだのでインストール。
早速 apt-cyg install fish で。
http://fishshell.com/

Chocolatelyを入れる

https://chocolatey.org/
ここに書いてあるとおりにcmd.exeにコピペしてインストール。インストール時には「管理者として実行」しないほうがいいらしく、使うときは「管理者として実行」(とQiitaでどなたかが書いてらした気がしますが未確認)。choco search xxx で入れたいものさがして choco install xxxx でインストール。

学んだこといろいろ

  • タイトルバーで右クリック → Options → Text → Locale を ja_JP、Character set を UTF-8 にしてOKとしておく
  • /cygdrive/c が C:という意味。
  • / は C:/cygwin64/ という意味。
  • ~ は C:/cygwin64/home/username/ という意味。
  • ~ はホームディレクトリ。これを変えたいときは、Cygwin.bat を編集する。これができない場合は、コンパネ→システムとセキュリティ→システム→システムの詳細設定→環境変数→システム環境変数(S)→新規→変数名:HOME、変数値:好きな場所、でも変えることが可能。echo $HOME として確認。
  • ログインシェルを fish に変更したければ Cygwin.bat の bash を fish に編集したら使える、はずなんだけど使えない。未解決。/etc/shells に /usr/bin/fish も追加したけれどダメでした。 → 調べてみると、どうやらショートカットのプロパティを C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico /bin/fish --login てすればいいみたい。でもなんかやたらと動きが重いのでやめておく。
  • 矢印上キーで前に打ったコマンドを表示
  • 矢印右キーで次に来るものを補完するものを表示
  • /home/username/ 以下にある .bashrc に alias open='cygstart' とすると、open xxx で xxx ディレクトリを Explorer で見られたり、ファイルを開けたり、します。ヽ(=´▽`=)ノ。

コマンドいろいろ

コマンド 意味
cd C: Cドライブ直下へ行く。cd は Change Directry の略。
ps 今つかってるシェル一覧が出る?
Ctrl + D ターミナルを閉じる、シェルから抜け出す
Ctrl + C 動かしてるプログラムを終了する、今打ってるコマンドをキャンセルする
Ctrl + A 今打ってるコマンドの先頭へ
Ctrl + E 今打ってるコマンドの末尾へ
pwd 今いる場所を表示。Positioning Working Directry の略。
ls 今いる場所にあるディレクトリを表示。List Segments の略。
ls /xxx/sss ルートディレクトリから/xxx/sss にあるディレクトリを表示
-l オプション。所有者やパーミッションも見られる
-a オプション。不可視ファイルも見られる
help いろいろなコマンドが見られる
touch ファイルを作れる。touch sample.txt とか。
mkdir フォルダを作れる。スペース開けると複数作れる。mkdir js css img とか。touchも同様。
mv mv (ファイル名) (移動する場所) で、ファイルを移動する。移動する場所にファイル名を足すとファイル名が変更されて移動される。ディレクトリも移動可。
cp cp (ファイル名) (コピーする場所) で、ファイルをコピーする。コピーする場所にファイル名を足すとファイル名が変更されてコピーされる。
cp cp -R (ディレクトリ名) (コピー先のディレクトリ名) で、ディレクトリのコピーもできる。ディレクトリ内のファイルも全部コピーされる。
rm 消される。初心者は trash というプログラムを入れるか、使わないほうがいい気がする。
* ファイル名などの指定にはワイルドカードも使える。
cat ファイルを結合する。cat aa.txt bb.txt > cc.txt とすると、cc.txt 内に aa.txt と bb.txt の内容が結合されている。もともと cc.txt がある場合は中身が消えてしまう。Catenate の略。
cat cc.txt の中身を消さないで追加するときは cat aa.txt >> cc.txt とすると追加される。
apt-cyg install xxx xxxのパッケージを追加する
apt-cyg list 追加されているパッケージを表示する
apt-cyg list xxx xxxというパッケージが追加されているか、追加可能なパッケージがあるかを表示する
apt-cyg update setup.ini をアップデート