コマンドプロンプトnTips

# : subtitle # サブタイトル : author

Masafumi Yokoyama

# : institution # 所属 : content-source

社内勉強会2013

: date

2013/05/17

: allotted-time

30m

: theme

nyankosakana

テーマ

((‘tag:center’)) ((‘tag:large’)) Windowsの黒い画面をn ((*便利*))に使う方法

agenda

* OSとの関係
* 起動方法
* Unix風コマンド

OSとの関係

プロパティ

: as_large_as_possible

false

テーマ

((‘tag:center’)) ((‘tag:large’)) Windowsの((*黒い画面*))をn 便利に使う方法

黒い画面

((‘tag:center’)) ((‘tag:x-large’)) OSの((CLI))

CLIn((‘note:コマンドラインインターフェース’))

# blockquote
キーボードなどから入力した((*文字*))によって、
OSなどのソフトウェアを操作できる仕組み

CLIに似た用語

* コマンドライン
* コマンドラインインタープリター
* CUI (('note:キャラクターユーザーインターフェース(和製英語)'))
* コンソール
* シェル

シェルn((‘note:shell’))

* 広義
  * OSのインターフェースソフトウェア
* 狭義
  * UnixのCLI

((‘tag:center’)) ((‘note:※シェルとシェルスクリプトは別物’))

Unixn((‘note:ゆにっくす’))

* OSの系統
  * マルチタスク・マルチユーザー
  * 様々な種類がある
    * 商用/フリー共に百種類以上
  * 様々な場所で使われている
    * サーバー/PC/家電/車

いろいろなCLI

: Unix, Linux ((‘note:, Mac OS X’))

* sh, ksh, bash, zsh ...

: Windows

* COMMAND.COM (MS-DOS, 9x系)
* cmd.exe (NT系)
* Windows PowerShell

Windows NT系

* いわゆる2000以降のWindows
  * NT, 2000, XP, Vista, 7, 8
  * Windows Server 2000以降
* 9x系とは内部構造が異なる

コマンドプロンプト

* cmd.exeの通称
* 現代のWindowsの標準CLI

CLIでできること

: Unix, Linux

* 全部

: Windows

* 一部

CLIでできることn((‘note:※イメージ図’))

# image
# src = gui-cli-os.png
# relative_width = 100

CLIでできること

# blockquote
Windows PowerShellに\n
ご期待ください。

起動方法

プロパティ

: as_large_as_possible

false

起動方法

* 普通に起動

普通に起動

(1) スタートメニュー
(2) すべてのプログラム
(3) アクセサリ
(4) コマンドプロンプト

普通に起動

(1) ((*Windowsキー*)) + ((*r*))
(2) ((*cmd*)) と入力してEnter

起動方法

* 普通に起動
* ((*エクスプローラーの場所を開く*))

エクスプローラーからn(Vista/7)

(1) エクスプローラーが開いている
(2) ((*Shift*)) + 右クリック
(3) コマンドウィンドウをここで開く\nを選択

エクスプローラーからn(Vista/7)

(1) エクスプローラーが開いている
(2) Alt + d で((*アドレスバー*))に移動
(3) ((*cmd*)) と入力してEnter

エクスプローラーからn(XP)

(1) エクスプローラーが開いている
(2) Alt + d で((*アドレスバー*))に移動
(3) ((*%comspec%*)) と入力してEnter

ComSpec

* 環境変数
* 標準CLIのフルパス

    # 98
    C:\WINDOWS\COMMAND.COM

    # XP
    C:\WINDOWS\system32\cmd.exe

Unix風nコマンド

プロパティ

: as_large_as_possible

false

マニュアル表示

* (('tag:small'))Unix

    $ man コマンド名

* (('tag:small'))Windows

    > コマンド名 /?

ネットワーク接続確認

* (('tag:small'))Unix

    $ ping IPアドレス/ホスト名

* (('tag:small'))Windows

    > ping IPアドレス/ホスト名

IPアドレス確認

* (('tag:small'))Unix

    $ ifconfig

* (('tag:small'))Windows

    > ipconfig

ファイル内容表示

* (('tag:small'))Unix

    $ cat FILE...

* (('tag:small'))Windows

    > type FILE...

ファイル検索

* (('tag:small'))Unix

    $ find DIR... -name "WILD_CARD"

* (('tag:small'))Windows

    > dir /b /s WILD_CARD

ディレクトリツリー表示

* (('tag:small'))Windows

    > tree [/c] [/f]

ファイル内検索n((‘note:grep’))

* (('tag:small'))Unix

    $ grep [-n] "PATTERN" FILE...

* (('tag:small'))Windows

    > findstr [/n] "PATTERN" FILE...

ファイル内検索n((‘note:サブディレクトリを含む’))

* (('tag:small'))Unix

    $ find DIR... | xargs grep "PATTERN"

* (('tag:small'))Windows

    > findstr /s "PATTERN" [DIR/]WILD_CARD

行数を数える

* (('tag:small'))Unix

    $ wc -l FILE...

* (('tag:small'))Windows

    > find /c /v "" FILE...

行数を数えるn((‘note:特定の文字を含む行’))

* (('tag:small'))Unix

    $ grep -c "hoge" FILE...

* (('tag:small'))Windows

    > find /c "hoge" FILE...

行数を数えるn((‘note:特定の文字を含む行’))

* (('tag:small'))Unix

    $ cat FILE... | grep -c "hoge"

* (('tag:small'))Windows

    > type FILE... | find /c "hoge"

差分比較n((‘note:テキスト’))

* (('tag:small'))Unix

    $ diff [-u] FILE1 FILE2

* (('tag:small'))Windows

    > fc [/n] FILE1 FILE2

差分比較n((‘note:バイナリ’))

* (('tag:small'))Unix

    $ cmp FILE1 FILE2

* (('tag:small'))Windows

    > fc /b FILE1 FILE2

まとめ

* WindowsのCLIも意外といける
* クローズドな環境で威力を発揮
* GUIより((*自動化*))しやすい
* CLIで能率を上げよう
* 続きはWindowsで