- 第 5 回 UNIX入門(3) ... シェル/応用プログラム

シェル(shell)とカーネル(kernel)


シェルの操作

教科書p85-102


リダイレクトの補足

入力を受け付けて、結果を出力する一般的なコマンドの場合、入力元は標準入力、出力先は標準出力になっている。一般に標準入力はキーボード、標準出力はディスプレイが割り当てられている。

簡単な計算をするコマンド bc

[07fi999@dynamic139 07fi999]$ bc -l                                   ← "-l"オプションを付けて起動
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1+2                                                                   ←キーボードから計算式を入力
3                                                                     ←結果が出力される
256*256                                                               ←キーボードから計算式を入力
65536                                                                 ←結果が出力される
sqrt(2)                                                               ←キーボードから計算式を入力
1.41421356237309504880                                                ←結果が出力される
[07fi999@dynamic139 07fi999]$                                         ^Dでbcを終了

このコマンドのイメージ

標準入力から式の入力
通常はキーボード
"<"でファイルに切替
bcコマンド
標準出力へ結果の出力
通常はディスプレイ
">"または">>"でファイルに切替

リダイレクト処理の練習

emacsやvi等で、次のような内容のテキストファイルを作ります。

ファイル名 shiki1.txt shiki2.txt
内容 1+2
256*256
sqrt(2)
5-2
10/3
s(3.14159/2)

以下の各コマンドを実行して、結果を確認してください。

この結果生成されたテキストファイルkekka1.txt 〜 kekka4.txtの内容を確認し、なぜそのような結果になるか考察しなさい。

フィルタ処理の練習

以下の内容のテキストファイル"list.txt"を作成しなさい。

07FI001,高橋時市郎
07FI002,高橋時市郎
07FI003,高橋時市郎
07FI004,高橋時市郎
07FI005,高橋時市郎
07FI006,高橋時市郎
07FI007,高橋時市郎
07FI008,高橋時市郎
07FI009,高橋時市郎
07FI010,高橋時市郎
07FI011,高橋時市郎
07FI012,高橋時市郎
07FI013,高橋時市郎
07FI014,矢島敬士
07FI015,矢島敬士
07FI016,矢島敬士
07FI017,矢島敬士
07FI018,矢島敬士
07FI019,矢島敬士
07FI020,矢島敬士
07FI021,矢島敬士
07FI022,矢島敬士
07FI023,矢島敬士
07FI024,矢島敬士
07FI025,矢島敬士
07FI026,矢島敬士
07FI027,小谷悠紀子
07FI028,小谷悠紀子
07FI029,小谷悠紀子
07FI030,小谷悠紀子
07FI031,小谷悠紀子
07FI032,小谷悠紀子
07FI033,小谷悠紀子
07FI034,小谷悠紀子
07FI035,小谷悠紀子
07FI036,小谷悠紀子
07FI037,小谷悠紀子
07FI038,小谷悠紀子
07FI039,佐々木良一
07FI040,佐々木良一
07FI041,佐々木良一
07FI042,佐々木良一
07FI043,佐々木良一
07FI044,佐々木良一
07FI045,佐々木良一
07FI046,佐々木良一
07FI047,佐々木良一
07FI048,佐々木良一
07FI049,佐々木良一
07FI050,佐々木良一
07FI051,小坂直敏
07FI052,小坂直敏
07FI053,小坂直敏
07FI054,小坂直敏
07FI055,小坂直敏
07FI056,小坂直敏
07FI057,小坂直敏
07FI058,小坂直敏
07FI059,小坂直敏
07FI060,小坂直敏
07FI061,小坂直敏
07FI062,小坂直敏
07FI063,小山裕徳
07FI064,小山裕徳
07FI065,小山裕徳
07FI066,小山裕徳
07FI067,小山裕徳
07FI068,小山裕徳
07FI069,小山裕徳
07FI070,小山裕徳
07FI071,小山裕徳
07FI072,小山裕徳
07FI073,小山裕徳
07FI074,小山裕徳
07FI075,増田英孝
07FI076,増田英孝
07FI077,増田英孝
07FI078,増田英孝
07FI079,増田英孝
07FI080,増田英孝
07FI081,増田英孝
07FI082,増田英孝
07FI083,増田英孝
07FI084,増田英孝
07FI085,増田英孝
07FI086,増田英孝
07FI087,桑田孝泰
07FI088,桑田孝泰
07FI089,桑田孝泰
07FI090,桑田孝泰
07FI091,桑田孝泰
07FI092,桑田孝泰
07FI093,桑田孝泰
07FI094,桑田孝泰
07FI095,桑田孝泰
07FI096,桑田孝泰
07FI097,桑田孝泰
07FI098,桑田孝泰
07FI099,戸辺義人
07FI100,戸辺義人
07FI101,戸辺義人
07FI102,戸辺義人
07FI103,戸辺義人
07FI104,戸辺義人
07FI105,戸辺義人
07FI106,戸辺義人
07FI107,戸辺義人
07FI108,戸辺義人
07FI109,戸辺義人
07FI110,戸辺義人
07FI111,中島克人
07FI112,中島克人
07FI113,中島克人
07FI114,中島克人
07FI115,中島克人
07FI116,中島克人
07FI117,中島克人
07FI118,中島克人
07FI119,中島克人
07FI120,中島克人
07FI121,中島克人
07FI122,中島克人
07FI123,川澄正史
07FI124,川澄正史
07FI125,川澄正史
07FI126,川澄正史
07FI127,川澄正史
07FI128,川澄正史
07FI129,川澄正史
07FI130,川澄正史
07FI131,川澄正史
07FI132,川澄正史
07FI133,川澄正史
07FI134,川澄正史
07FI135,安田浩
07FI136,安田浩
07FI137,安田浩
07FI138,安田浩
07FI139,安田浩
07FI140,安田浩
07FI141,安田浩
07FI142,安田浩
07FI143,安田浩
07FI144,安田浩
07FI145,安田浩
07FI146,安田浩
07FI147,齊藤剛
07FI148,齊藤剛
07FI149,齊藤剛
07FI150,齊藤剛
07FI151,齊藤剛
07FI152,齊藤剛
07FI153,齊藤剛
07FI154,齊藤剛
07FI155,齊藤剛
07FI156,齊藤剛
07FI157,齊藤剛
07FI158,齊藤剛
06ki010,高橋時市郎
06ki015,矢島敬士
06ki061,吉成雄一郎
06ki063,吉成雄一郎
05ki002,守屋愼次

catコマンドで内容を表示させなさい。

cat list.txt

自分の学籍番号が含まれる行のみを表示しなさい。

grep 自分の学籍番号 list.txt

アドバイザの先生が自分と同じ人の一覧を表示させなさい。

grep 自分のアドバイザ list.txt

アドバイザの先生が自分以外の人の一覧を表示させなさい。

grep -v 自分のアドバイザ list.txt

パイプ処理の練習(教科書p95)

自分の学籍番号が含まれない行のみを表示しなさい。

grep -v 自分の学籍番号 list.txt

このままでは確認が難しいので、パイプ処理でlessに送ります。

grep -v 自分の学籍番号 list.txt | less

教科書p92の

ps -ef

を実行した結果を確認しなさい。続いて教科書p95の

ps -ef | less

の実行結果を考察しなさい。

エイリアス

教科書の内容を確認しなさい。

ジョブ制御

xeyes

xeyes &

の違いを確認しなさい。

xeyes

で起動した後、^Zで中断し、fgとbgの違いを確認しなさい。

kill で xeyes を止めてみなさい。

ヒストリ機能

教科書の内容を確認しなさい。

演習問題