黒い画面 
Hiroki Komurasaki 
@petitviolet
黒い画面とは 
§ 情報機器の種類の一つで、通信回線などを通じて他 
のコンピュータなどに接続し、もっぱら情報の入力 
や表示などを行なうものを端末という。 
その機能をソフトウェアとして再現した端末エミュ 
レータ(terminal emulator)のことを略してターミナ 
ルと呼ぶ (*1) 
*1: 
http://e-­‐words.jp/w/E7ABAFE69CAB.html
黒い画面とは 
§ ユーザーからの入力(標準入力)を受け取って 
– キーボードからの入力 
– ファイルの読み込み 
§ 何らかの処理を行い 
§ 何らかの出力(標準出力)を行う 
– ディスプレイに出力 
– ファイルに書き込み 
ただの入出力ソフトウェア 
– 普段使うのはGUI(Graphical User Interface) 
– 黒い画面はCUI(Character User Interface)
黒い画面とは 
§ 実際に動いているのはshell(シェル) 
– ややこしい入出力を包んでくれるもの 
– /bin/sh 
– /bin/bash 
– /bin/csh 
– /bin/zsh 
§ これ使いましょう 
§ ログインシェル 
– ユーザとグループ 
– 詳細オプション 
– ログインシェル
まずは黒い画面にしましょう 
§ ターミナル.appを開く 
§ ⌘-, 
– 設定を開く 
§ ターミナル.appの終了 
– ⌘- q 
§ もう一度開く
基本的な用語 
§ プロンプト 
– $ 
– ここに入力して下さい、の目印的なもの 
§ コマンド 
– プログラムのこと 
– 何らかの操作を実行するためのプログラムを指す 
§ ディレクトリ 
– フォルダと同じ 
§ 環境変数 
– 環境で共有される変数 
– $で始まる文字をkeyとしてvalueが入っている 
§ echo $PATH
基本的な用語 
§ パス(path) 
– そのファイル、ディレクトリの場所 
– /で区切る 
– 絶対パス 
§ ルートディレクトリ(/)からのパス 
– 相対パス 
§ 今いるディレクトリ(./)からのパス 
§ 一つ上は../で表す 
– ホームディレクトリ 
§ ~/ 
§ hoge, foo, bar 
– 意味のないことを指す言葉 
– 例として使われる
基本的な使い方 
§ $ コマンド サブコマンド 引数 [オプション] 
– コマンド 
§ 操作用プログラム 
– サブコマンド 
§ コマンド内での何らかの操作に特化したもの 
– 引数 
§ コマンド(サブコマンド)を実行する際に渡す値 
§ 例) mv source.txt target.txt 
– ファイルを移動する元のファイル名と移動した後のファイル名 
– オプション 
§ コマンド(サブコマンド)の動作を変更、調整するための値 
§ 引数の前につけることも多い 
§ 例) mv -f source.txt target.txt 
– 移動する先にファイルがあっても強制的に移動する
基本的な使い方 
§ man コマンド 
– マニュアルを表示 
– 基本的に英語だが、プログラマは読むしかない 
– システムのコマンドは必ずマニュアルが存在する 
– わからなければ、まずはmanでマニュアルを見ること 
§ help オプション 
– -h 
– --help 
– コマンドの使い方を表示する 
§ 誰かがコマンドなどはこれしかない場合もある 
§ これがなければ使わないほうが良いレベル
基本的なコマンド 
§ echo hoge 
– 引数を入力として、それを出力する 
§ ls path 
– pathにあるファイルを表示 
– pathを与えないと今いるディレクトリで実行 
§ ls ./の略 
– 引数にはファイルを表示したいpathを与える 
§ which コマンド 
– コマンドがどこにあるかを表示する 
§ where コマンド 
– コマンドがどこにあるかを表示する 
– 複数あれば全て表示
基本的なコマンド 
§ pwd 
– 今いるディレクトリを表示する 
§ カレントディレクトリ 
§ cd 移動先ディレクトリ 
– 引数に与えたディレクトリへ移動する 
– 省略すると~/に移動 
§ cat ファイル 
– ファイルの中身を表示する 
§ mkdir ディレクトリ名 
– 新しくディレクトリを作成する
基本的なコマンド 
§ cp コピー元 コピー先 
– ファイルのコピー 
§ 元のファイルは残る 
– ディレクトリをコピーするなら 
§ cp –r コピー元ディレクトリ コピー先 
§ -r(recursive): 繰り返し はよく使う 
§ -f(force): 強制上書き もよく使う 
§ mv 移動元 移動先 
– ファイルの移動 
§ ファイル名変更ともいえる 
§ 元ファイルは当然消える 
§ 上書きに注意
基本的なコマンド 
§ rm ファイル 
– ファイルの削除 
– ファイルを消すと二度と元に戻らない 
§ HDDからデータ復旧などする必要がある 
– rm –r でディレクトリを消せる 
– rm –f で強制削除 
– rm –rf / 
§ やるとPCが... 
§ sudo コマンド 
– root権限でコマンドを実行する 
§ 単なるユーザーではなく、PCの管理人として実行 
§ 普通は禁止されているコマンドを実行できる 
§ sudo rm –rf /
Pythonファイルの実行 
§ python ファイル名 
ファイルの 
中身 
実行*2
ファイルの編集は? 
§ エディタを使いましょう 
– 簡単、おすすめ 
§ sublime text 
– 70$ 
§ atom 
– gitとの連携が強力 
– 操作が独特で使いにくいが、プログラマは好んで使う 
§ vim 
– 慣れてきたらこれ使いましょう 
§ emacs 
– windowsでいうメモ帳 
§ cot editor 
§ テキスト編集というやれることは同じです 
– 外部ソフトウェアとの連携や設定方法などが異なります
コマンド置き場 
§ $PATH 
– ここにコマンドが入っていますよ、 
という環境変数 
§ /bin/ 
– システム起動に必要なものな 
ど、重要なコマンド置き場 
§ /sbin/ 
– システム管理者が使うコマン 
ド置き場 
§ /usr/  
– システムの起動に必要なもの 
以外のファイル置き場 
§ /usr/bin/ 
– システムの起動に必要でないコマ 
ンド置き場 
§ /usr/sbin/ 
– システムの起動に必要でない管理 
者用コマンド置き場 
§ /usr/local/bin/ 
– このコンピューターのみで使うプ 
ログラム置き場 
http://ord.jp/love/589.html
自作コマンドの作り方 
§ シバン(shebang) 
– 一行目の#!で始まるpath 
– このファイルは/usr/bin/pythonで実行します!という印
tips 
§ キーボードショートカット 
§ controlキー押しながら 
§ Ctrl- 
§ ^ 
– shiftキー押しながら 
§ Shift- 
§ ⇧ 
– optionキー押しながら 
§ alt- 
§ ⌥
tips 
§ キーボードショートカット 
– emacsキーバインドと呼ばれるもの 
§ ^a: 行頭 
§ ^e: 行末 
§ ^f: 一文字進む 
§ ^b: 一文字戻る 
§ ^n: 一行下に進む 
§ ^p: 一行上に戻る 
§ ^m: 改行(enter) 
§ ^h: 左の一文字削除する(backspace) 
§ ^d: 右の一文字削除する(delete)

黒い画面入門

  • 1.
  • 2.
    黒い画面とは § 情報機器の種類の一つで、通信回線などを通じて他 のコンピュータなどに接続し、もっぱら情報の入力 や表示などを行なうものを端末という。 その機能をソフトウェアとして再現した端末エミュ レータ(terminal emulator)のことを略してターミナ ルと呼ぶ (*1) *1: http://e-­‐words.jp/w/E7ABAFE69CAB.html
  • 3.
    黒い画面とは § ユーザーからの入力(標準入力)を受け取って – キーボードからの入力 – ファイルの読み込み § 何らかの処理を行い § 何らかの出力(標準出力)を行う – ディスプレイに出力 – ファイルに書き込み ただの入出力ソフトウェア – 普段使うのはGUI(Graphical User Interface) – 黒い画面はCUI(Character User Interface)
  • 4.
    黒い画面とは § 実際に動いているのはshell(シェル) – ややこしい入出力を包んでくれるもの – /bin/sh – /bin/bash – /bin/csh – /bin/zsh § これ使いましょう § ログインシェル – ユーザとグループ – 詳細オプション – ログインシェル
  • 5.
    まずは黒い画面にしましょう § ターミナル.appを開く § ⌘-, – 設定を開く § ターミナル.appの終了 – ⌘- q § もう一度開く
  • 6.
    基本的な用語 § プロンプト – $ – ここに入力して下さい、の目印的なもの § コマンド – プログラムのこと – 何らかの操作を実行するためのプログラムを指す § ディレクトリ – フォルダと同じ § 環境変数 – 環境で共有される変数 – $で始まる文字をkeyとしてvalueが入っている § echo $PATH
  • 7.
    基本的な用語 § パス(path) – そのファイル、ディレクトリの場所 – /で区切る – 絶対パス § ルートディレクトリ(/)からのパス – 相対パス § 今いるディレクトリ(./)からのパス § 一つ上は../で表す – ホームディレクトリ § ~/ § hoge, foo, bar – 意味のないことを指す言葉 – 例として使われる
  • 8.
    基本的な使い方 § $コマンド サブコマンド 引数 [オプション] – コマンド § 操作用プログラム – サブコマンド § コマンド内での何らかの操作に特化したもの – 引数 § コマンド(サブコマンド)を実行する際に渡す値 § 例) mv source.txt target.txt – ファイルを移動する元のファイル名と移動した後のファイル名 – オプション § コマンド(サブコマンド)の動作を変更、調整するための値 § 引数の前につけることも多い § 例) mv -f source.txt target.txt – 移動する先にファイルがあっても強制的に移動する
  • 9.
    基本的な使い方 § manコマンド – マニュアルを表示 – 基本的に英語だが、プログラマは読むしかない – システムのコマンドは必ずマニュアルが存在する – わからなければ、まずはmanでマニュアルを見ること § help オプション – -h – --help – コマンドの使い方を表示する § 誰かがコマンドなどはこれしかない場合もある § これがなければ使わないほうが良いレベル
  • 10.
    基本的なコマンド § echohoge – 引数を入力として、それを出力する § ls path – pathにあるファイルを表示 – pathを与えないと今いるディレクトリで実行 § ls ./の略 – 引数にはファイルを表示したいpathを与える § which コマンド – コマンドがどこにあるかを表示する § where コマンド – コマンドがどこにあるかを表示する – 複数あれば全て表示
  • 11.
    基本的なコマンド § pwd – 今いるディレクトリを表示する § カレントディレクトリ § cd 移動先ディレクトリ – 引数に与えたディレクトリへ移動する – 省略すると~/に移動 § cat ファイル – ファイルの中身を表示する § mkdir ディレクトリ名 – 新しくディレクトリを作成する
  • 12.
    基本的なコマンド § cpコピー元 コピー先 – ファイルのコピー § 元のファイルは残る – ディレクトリをコピーするなら § cp –r コピー元ディレクトリ コピー先 § -r(recursive): 繰り返し はよく使う § -f(force): 強制上書き もよく使う § mv 移動元 移動先 – ファイルの移動 § ファイル名変更ともいえる § 元ファイルは当然消える § 上書きに注意
  • 13.
    基本的なコマンド § rmファイル – ファイルの削除 – ファイルを消すと二度と元に戻らない § HDDからデータ復旧などする必要がある – rm –r でディレクトリを消せる – rm –f で強制削除 – rm –rf / § やるとPCが... § sudo コマンド – root権限でコマンドを実行する § 単なるユーザーではなく、PCの管理人として実行 § 普通は禁止されているコマンドを実行できる § sudo rm –rf /
  • 14.
    Pythonファイルの実行 § pythonファイル名 ファイルの 中身 実行*2
  • 15.
    ファイルの編集は? § エディタを使いましょう – 簡単、おすすめ § sublime text – 70$ § atom – gitとの連携が強力 – 操作が独特で使いにくいが、プログラマは好んで使う § vim – 慣れてきたらこれ使いましょう § emacs – windowsでいうメモ帳 § cot editor § テキスト編集というやれることは同じです – 外部ソフトウェアとの連携や設定方法などが異なります
  • 16.
    コマンド置き場 § $PATH – ここにコマンドが入っていますよ、 という環境変数 § /bin/ – システム起動に必要なものな ど、重要なコマンド置き場 § /sbin/ – システム管理者が使うコマン ド置き場 § /usr/ – システムの起動に必要なもの 以外のファイル置き場 § /usr/bin/ – システムの起動に必要でないコマ ンド置き場 § /usr/sbin/ – システムの起動に必要でない管理 者用コマンド置き場 § /usr/local/bin/ – このコンピューターのみで使うプ ログラム置き場 http://ord.jp/love/589.html
  • 17.
    自作コマンドの作り方 § シバン(shebang) – 一行目の#!で始まるpath – このファイルは/usr/bin/pythonで実行します!という印
  • 18.
    tips § キーボードショートカット § controlキー押しながら § Ctrl- § ^ – shiftキー押しながら § Shift- § ⇧ – optionキー押しながら § alt- § ⌥
  • 19.
    tips § キーボードショートカット – emacsキーバインドと呼ばれるもの § ^a: 行頭 § ^e: 行末 § ^f: 一文字進む § ^b: 一文字戻る § ^n: 一行下に進む § ^p: 一行上に戻る § ^m: 改行(enter) § ^h: 左の一文字削除する(backspace) § ^d: 右の一文字削除する(delete)