Presentation is loading. Please wait.

Presentation is loading. Please wait.

Faculty of Computer and Information Sciences, Hosei University Resource Administration Team CIS RAT 1 Linux リテラシ 2006 第 3 回 エディタ、シェル.

Similar presentations


Presentation on theme: "Faculty of Computer and Information Sciences, Hosei University Resource Administration Team CIS RAT 1 Linux リテラシ 2006 第 3 回 エディタ、シェル."— Presentation transcript:

1 Faculty of Computer and Information Sciences, Hosei University Resource Administration Team CIS RAT 1 Linux リテラシ 2006 第 3 回 エディタ、シェル

2 CIS RAT2 Table of Contents テキスト処理 エディタを起動する モード シェル bash リダイレクト パイプ グロブ エイリアス シェルスクリプト

3 CIS RAT3 テキスト処理 Linux でテキストを処理するエディタ vi emacs その他 ほとんどの設定はテキストで行う テキストエディタの習得が必須

4 CIS RAT4 vi 代表的なテキストエディタ シンプルながら多彩な機能を持つ ほとんどの Linux 環境で使用できる コマンドがちょっと複雑 Windows でいう「メモ帳 (notepad) 」

5 CIS RAT5 エディタ (vi) を起動する 「 vi ファイル名」でエディタを起動でき る sample.txt というファイルを開く 存在しないファイル名を指定した場合、 新規作成される $ vi sample.txt

6 CIS RAT6 vi のモード ノーマルモード ファイルや文字列の編集を行うためのモー ド  コピー & ペースト  保存  など 挿入モード 文字を入力するためのモード vi 起動直後は「ノーマルモード」

7 CIS RAT7 挿入モード 文字を入力するためのモード ノーマルモードから「 i 」と入力 左下に「 -- 挿入 -- 」とモード表示 自由にテキストを入力できる

8 CIS RAT8 挿入モードの例 (1) 「 i 」と入 力

9 CIS RAT9 挿入モードの例 (2) 好きに書ける

10 CIS RAT10 ノーマルモード テキストの編集を行うためのモード 挿入モードから「 Esc 」キーを入力 左下の「 -- 挿入 -- 」が消える 様々なコマンドを入力できる

11 CIS RAT11 ノーマルモードへの移行 「 Esc 」キーを 入力

12 CIS RAT12 カーソルの移動 カーソルを移動する ( ノーマルモード ) 上へ移動: 「 ↑ 」 または 「 k 」キー 下へ移動: 「 ↓ 」 または 「 j 」キー 左へ移動: 「 ← 」 または 「 h 」キー 右へ移動: 「 → 」 または 「 l 」キー 古いシステムでは「 ↑↓←→ 」は使えない HJKL

13 CIS RAT13 カット & ペースト カーソル位置を削除 : [ x ] カーソル位置を一行削除 : [ d d ] カーソル位置を一行コピー : [ y y ] 貼り付け : [ p ] vi は「削除 = 切り取り」 削除、コピーしたものは [ p ] で貼り付け られる

14 CIS RAT14 やり直し 手前の操作を取り消す [ u ]

15 CIS RAT15 検索 / 検索したい文字列 処理中のテキストから文字列を探す ( 下方 向 ) 検索中に [ n ] : 下方向に再度検索 検索中に [ N ] : 上方向に再度検索

16 CIS RAT16 保存と終了 現在の内容を保存する (write) [ :w ] 保存して vi を終了する (write and quit) [ :wq ] 保存しないで vi を終了する [ :q! ]

17 CIS RAT17 vi まとめ コマンドラインから「 vi ファイル名」で 起動 起動時はノーマルモード ノーマルモードから「 i 」で挿入モードへ 挿入モードでは文字を自由に書ける 挿入モードから「 Esc 」でノーマルモー ドへ [ :wq ] で保存して終了 [ :q! ] で保存しないで終了

18 CIS RAT18 シェル 今までにコマンドを入力してた画面 Linux の複雑な制御を簡単なコマンドで操 作する「殻 (= shell) 」の役割 シェルにも色々ある bash tcsh zsh など

19 CIS RAT19 bash 皆さんの環境で標準的に使われるシェル オートコンプリートが便利 途中まで入力して [Tab] キーを押す 例えば $ unz[TAB]$ unzip unz まで入力後 Tab キーを押す unz ip になる

20 CIS RAT20 標準入出力 プログラムは標準入力と標準出力がある 通常は「キーボードから入力」 → 標準入力 通常は「画面へ出力」 → 標準出力 これまで「出力」と書いていたのは 「標準出力へ書き出す」を意味している

21 CIS RAT21 標準入出力のイメージ 例えば echo は「引数に書かれた文字列を標準出力へ出力」 $ echo Hello, world!

22 CIS RAT22 $ echo Hello, world! 引数を画面上に表示 Hello, world と画面に表示される

23 CIS RAT23 リダイレクト (1) 標準出力先をファイルに変更する 通常は画面に出力 コマンド名 > リダイレクト先ファイル 例えば $ echo Hello, world > hello.txt

24 CIS RAT24 $ echo … > hello.txt “Hello, world” と書き込まれた hello.txt が 完成 画面には何も表示されない

25 CIS RAT25 リダイレクト (2) と 2 回入力しても、 1 回分しか残っていな い リダイレクト先に指定すると、毎回消去さ れる そんなときは「追記モード」のリダイレ クト コマンド名 >> リダイレクト先ファイル ファイルの最後から書き込み始める $ echo Hello, world > hello.txt

26 CIS RAT26 追記モード $ echo Hello3 > hello.txt $ echo Hello2 >> hello.txt $ echo Hello1 >> hello.txt $ cat hello.txt Hello3 Hello2 Hello1 > ではなく >> 3 行すべて 表示され る

27 CIS RAT27 リダイレクト (3) ファイルを標準入力として使える 通常はキーボード コマンド名 < リダイレクト元ファイル 例えば sort は「標準入力を読んで順番に並べて表 示」 $ sort < hello.txt

28 CIS RAT28 $ sort < hello.txt $ cat hello.txt Hello3 Hello2 Hello1 $ sort < hello.txt Hello1 Hello2 Hello3 こんなファイル も リダイレクトす れば 並び替えて表示

29 CIS RAT29 パイプ あるコマンドの標準出力を 次のコマンドの標準入力に流す コマンド 1 | コマンド 2 コマンド 1 の出力を、コマンド 2 の入力へ流 す 例えば rev は「標準入力を読んで逆順に表示」 $ echo Hello, world | rev

30 CIS RAT30 $ echo Hello, world! | rev echo した文字列が逆順に出力される

31 CIS RAT31 パイプのイメージ コマンド 1 | コマンド 2

32 CIS RAT32 複雑な入出力 パイプやリダイレクトは組み合わせられ る なにが画面に表示される? $ echo Hello, world > input $ cat input | rev | rev > output $ cat output

33 CIS RAT33 グロブ シェルが特殊記号を解釈し、該当する ファイル名に展開する abc * – “abc” から始まる全てのファイル 名 * は全ての文字列 abc? – “abc” から始まり 4 文字のファイル 名 ? は何か 1 文字

34 CIS RAT34 グロブの例 abc * ○ abcdefg: * → defg ○ abc: * は 0 文字でもよい × abdaaaa: abc が先頭に来ない abc? ○ abcd: ? → d × abc: ? は 0 文字になれない × abcde: ? は de になれない

35 CIS RAT35 エイリアス ( 別名 ) コマンドに別名を付ける 頻繁に使うコマンドを短く書ける alias 別名 =' コマンド ' 例えば ls -a というコマンド (+ 引数 ) に la という 別名 $ alias la='ls -a'

36 CIS RAT36 エイリアスの使用 エイリアスコマンドは、通常コマンドと 同じように扱える 例えば 先ほど定義したので、 ls -a と同じ $ la

37 CIS RAT37 エイリアス関係のコマンド 現在定義しているエイリアスを確認 alias 引数なし 定義しているエイリアスを取り消す unalias 別名

38 CIS RAT38 シェルスクリプト ファイルにコマンド列を書いて、そのファイル を実行する 書かれたコマンド列を順番に実行してくれ る 複雑な操作を繰り返し行う場合などに便利 今まで使ってきたコマンドをファイルに 書けばよい

39 CIS RAT39 シェルスクリプト [ex.sh] ex.sh という名前のシェルスクリプトを 作る *.sh という名前にするのが慣例 まずはテキストエディタで ex.sh を開く $ vi ex.sh

40 CIS RAT40 vi まとめ ( 再 ) コマンドラインから「 vi ファイル名」で 起動 起動時はノーマルモード ノーマルモードから「 i 」で挿入モードへ 挿入モードでは文字を自由に書ける 挿入モードから「 Esc 」でノーマルモー ドへ [ :wq ] で保存して終了 [ :q! ] で保存しないで終了

41 CIS RAT41 シェルスクリプト [ex.sh] vi で下記の内容のテキストを作成 [ i ] で挿入モードへ 下記の内容を記述する [ Esc ] でノーマルモードへ戻る [ :wq ] で保存して終了 #!/bin/sh #comment echo sample shell script

42 CIS RAT42 シェルスクリプト [ex.sh] ( 続き ) vi を終了したら、シェルスクリプトを動 かす そのままでは動かない アクセス権限のうち「実行権限」が必要 「./ シェルスクリプト名」で実行できる $ chmod a+x ex.sh $./ex.sh sample shell script

43 CIS RAT43 シェルスクリプトの解説 一行目 シェルスクリプトであることを表す「おまじない」 二行目 # から始まる行は「コメント」として無視される 三行目 echo "…" を実行する #!/bin/sh #comment echo …

44 CIS RAT44 シェルのまとめ コマンドを打ち込んでいる環境が「シェ ル」 リダイレクトで出力結果をファイルに保 存 パイプでコマンドとコマンドを接続 グロブで複数のファイル名を指定 エイリアスでコマンド入力を簡単に シェルスクリプトで複雑な処理を簡単に

45 CIS RAT45 演習問題 講義資料の URL http://rat.cis.k.hosei.ac.jp/article/rat/linuxli teracy/2006/editor_shell.html 演習問題の URL http://rat.cis.k.hosei.ac.jp/article/rat/linuxli teracy/2006/editor_shell_question.html


Download ppt "Faculty of Computer and Information Sciences, Hosei University Resource Administration Team CIS RAT 1 Linux リテラシ 2006 第 3 回 エディタ、シェル."

Similar presentations


Ads by Google