400 likes | 490 Views
Unix とターミナルとコマンド. Unix の特徴. マルチタスク、マルチユーザ機能 柔軟なファイルシステム 豊富なコマンドとソフトウェアツール群 強力なコマンド解読部 ネットワーク機能 CUI と GUI. 標準入出力、リダイレクション、パイプ. 標準入力 標準出力 標準エラー出力 リダイレクション < > >> >& 標準入出力、エラー出力をファイルに接続 パイプ | 標準出力を次のコマンドの標準入力に接続. ファイルの保護モード. ファイルの所有者、グループ、その他のユーザを区別
E N D
Unixの特徴 • マルチタスク、マルチユーザ機能 • 柔軟なファイルシステム • 豊富なコマンドとソフトウェアツール群 • 強力なコマンド解読部 • ネットワーク機能 • CUIとGUI
標準入出力、リダイレクション、パイプ • 標準入力 • 標準出力 • 標準エラー出力 • リダイレクション < > >> >& • 標準入出力、エラー出力をファイルに接続 • パイプ | • 標準出力を次のコマンドの標準入力に接続
ファイルの保護モード • ファイルの所有者、グループ、その他のユーザを区別 • read, write, execute(実行)のそれぞれを許可する/許可しないを指定 • ls –l で表示 • chmodで変える
ターミナルの画面 シェルの名前 行あたりの文字数 X 行数 プロンプト カーソル • ターミナルの背景は「新規ウィンドウ」、「新規タブ」などで選べる • この背景は 「Grass] • 文字の大きさなどはメニューバーからメニューを選んで変更 • 起動したときのカレントディレクトリはホームディレクトリ
ターミナルでコマンドを実行する. • シェル(Bash) が動いている • コマンドはこのプログラムへの入力 • コマンドは英小文字で入力. • ファイル名も英字にするほうが良い • ファイル名は日本語が使えることもある (アプリケーションにより異なる.)
シェル(Bash)の操作 • コマンド行の編集/再利用 • (日本語/英字入力モード) • ファイル名とコマンド名の補完 • 標準入出力のリダイレクション • パイプ処理 • ファイル名の簡略指定
コマンド行の編集/再利用(1) • カーソルキー カーソルの移動 ↑ 1つ前のコマンド ↓ 1つ先のコマンド → 右に移動 ← 左に移動 • Control+a行の先頭 • Control+e行の末尾 • Delete カーソルの1つ前の文字を削除 • Control+dカーソル位置の文字を削除
コマンド行の編集/再利用(2) • コマンド履歴の利用 • !! 直前のコマンドを再実行 • !strstrが先頭にあるコマンドを再実行 • !-n n個前のコマンドを再実行 • ^str1^str2 コマンドのstr1をstr2に変えて再実行 • !* コマンド名を除くすべての引数 • !$ 最後の引数
日本語/英文字入力モード ATOK2010 • ⌃⇧C : 英文字 • Control+Shift+C • ⌃⇧Z :ひらがな(日本語モード) • Control+Shift+Z • ⌃⇧X :カタカナ(日本語モード) • Control+Shift+X • ⌃⇧V :英字(日本語モード) • Control+Shift+V
コマンド入力時の操作 • おかしな状態になってしまったとき • Return/Enter • Control+q • Control+c • Control+d • ターミナルを閉じて、再度起動する
ファイル名とコマンド名の補完 • Tab • 補完出来るところまで補完し、複数候補がある位置で止まる • ESC+? • 補完候補の一覧を表示 • ファイル、コマンド両方が表示される
標準入出力、リダイレクション(1) • command < file • 標準入力のリダイレクション • 標準入力をキーボードからファイルに切り替える • command > file • 標準出力のリダイレクション • 標準出力をファイルに切り替える • (ファイルは書き換えられる) • command >> file • ファイルの最後に追加
標準入出力、リダイレクション(2) • command >& file • 標準出力と標準エラー出力のリダイレクション • 両方が同一のファイルに出力される • command < datafile > outfile • 標準入力と標準出力の切り替え
標準入出力、リダイレクション(3) • (command1 ; command2 ; ...) > file • 連結された標準出力のリダイレクション • 複数のコマンドの結果がファイルに書き込まれる • (command > file1) >& file2 • コマンドの標準出力と標準エラー出力を別のファイルに書き込む
パイプ処理 • command1 | command2 | command3 ... • コマンドの標準出力を次のコマンドの標準入力に接続する • 例 • ls –l /usr/bin | sort -nr +4 | less • パイプを利用してls –lの出力をファイルサイズの多いものから順に表示する
ファイル名の簡略指定 • ワイルドカード文字を使用してファイルを指定する * 0個以上の任意の文字列 ? 任意の1文字 [xyz] x,y,zのうちいずれか1文字 [a-z] aからzのうちいずれか1文字 [^abc] a,b,c以外の任意の1文字
コマンドの形式. ファイル名など (複数並ぶこともある) コマンド ls –l ~/C オプション (コマンドの動作を変える) コマンドもファイルである。 lsは /binにある。
コマンドの例 • 日付、時刻を表示する • date • date –u
コマンドの例 • カレンダーを表示する • cal • cal 05 2016
cat • cat file • ファイルの内容を表示する • 画面のコントロールは行わない • (長いフィルは見づらい) • cat file1 file2 • ファイルの内容を連結する
コマンドの例 date > file1 cal 03 2016 >> file1 cat file1 現在の時刻と2016年3月のカレンダーがfile1に書き込まれる catコマンドでfile1を表示する
コマンドの例 (date –u ; cal 03 2016) > file1 cat file1
echo • echo 文字列を表示する • echo $PATH • PATHはコマンドがおいてあるディレクトリのリスト(シェル変数) • コマンドはPATHにあるディレクトリからコマンドを探して実行される
less • less file • ファイルの内容を表示する • 画面のコントロールを行う Space 1画面先に進む b 1画面前に戻る return 1行先に進む y 1行前に戻る gfileの最初に移動 Gfileの最後に移動 /str文字列strの検索 n 前回の検索の繰り返し q 終了
ls ファイルの情報を表示する. ls カレントディレクトリーのファイルを表示 lsディレクトリィ名 指定されたディレクトリーのファイルを表示 ls –al 名前以外の詳しい情報も表示する
ls • ls [options] file -l 名前以外の詳細な情報を表示 -a ファイル名の先頭が.であるファイルも表示 -F ディレクトリには/、実行可能ファイルには*を つけて表示
cp • cpfile1 file2 • file1をコピーして、名前をfile2とする • cpfiles dir • 複数のファイルをディレクトリdirにコピーする • (コピー元のファイルは空白で区切る) -R コピー元とコピー先がディレクトリの場合、 ディレクトリの下のファイルを再帰的にコピーする
mv ファイルを移動する ファイルの名前を変える ディレクトリーを移動する ディレクトリーの名前を変える mv file名1 file名2
rm • rm file • fileを消去する。 • rm –R dir • ディレクトリdirを再帰的に消去する。
mkdir ディレクトリィを作る mkdir directory名
rmdir • rmdirdir • ディレクトリdirを消去する • dirにファイルがあると、消去されない。
pwd カレントディレクトリィを表示する.
cd カレントディレクトリィを移動する cd ホームディレクトリィへ移動 cd .. 親のディレクトリィヘ移動 cd ディレクトリィ名 指定されたディレクトリィヘ移動
lpr • lprfiles -P プリンタ名を指定
man コマンドの詳しい説明を表示 man コマンド 画面の操作はlessと同じ ただし英語! コマンドによっては -h , -help オプションで簡単な説明を表示するものもある。
man man cal と入力して、calコマンドを調べてみよう。
最低限これぐらい使えれば何とかなる • pwd • cd 異動先のdirectory • ls • mkdir directory • cat file • less file • mv file1 file2 • lpr–Pprinterfile