35
第19週ファイル アクセス方式 オペレーティングシステム 20111030日日曜日

ファイルアクセス方式 - オペレーティングシステム

Embed Size (px)

Citation preview

第19週ファイルアクセス方式オペレーティングシステム

2011年10月30日日曜日

タイムテーブル

• 前回課題の解説

• P223 ファイルアクセス

• Linux 実習

•シラバス記入

2011年10月30日日曜日

前回課題 解説

2011年10月30日日曜日

access_log ファイルに保存されているレコード数を表示

• 1レコード1行なのでファイルの行数を数えれば良い

% wc -l access_log 21668 access_log

2011年10月30日日曜日

2011年 10月21日には何件のアクセスがあったか表示

•当日に作成されたレコード数を抽出して数を数える

% grep ’21/Oct/2011’ access_log | wc -l317

202.223.149.199 - - [21/Oct/2011:17:31:09 +0900] "GET /mediawiki117/ HTTP/1.1" 301 -202.223.149.199 - - [21/Oct/2011:17:31:09 +0900] "GET /mediawiki117/index.php/

2011年10月30日日曜日

アクセス元のIPアドレスを重複をなくして一覧表示1. 最初にcut コマンドをつかっ てIPアドレスの

み抜き出す

2. 抜き出したIPアドレスを重複を取り除いて表示

% cut -d" " -f 1 access_log | sort | uniq192.168.181.48192.168.181.55 :

2011年10月30日日曜日

最もアクセスがあったパスとそのアクセス回数を、アクセス回数の降順にトップ10を 表示

1. cut コマンドでパスのみを抽出

2. uniq コマンドで重複数も表示

3. uniq コマンドの実行結果を降順にソート

4.ソートした結果の先頭10行を表示

2011年10月30日日曜日

cut -d" " -f7 access_log | sort | uniq -c | sort -r | head

2011年10月30日日曜日

P223ファイルアクセス

2011年10月30日日曜日

順次アクセス•シーケンシャルアクセス

• sequential access•ファイルを先頭から順に読み出す

•読みと飛ばし不可

• P223 図8.3

2011年10月30日日曜日

http://www.canstockphoto.jp/%E5%86%85%E9%83%A8-%E3%83%86%E3%83%BC%E3%83%97-5585443.html2011年10月30日日曜日

• 長所

• ファイルに無駄なスペースがない

• バックアップなど一括処理に便利

• 短所

• ファイル途中のレコード追加、レコード削除ができず、全部レコードを書きなおす必要あり

2011年10月30日日曜日

•ランダムアクセス

• random access

•ファイル内の任意の場所のバイトやレコードにアクセスする

直接アクセスファイル

2011年10月30日日曜日

http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:HDD_inside.jpg

2011年10月30日日曜日

1.トラック2.ヘッド3.セクター

2011年10月30日日曜日

• 長所

• 読み飛ばしが可能。特定のレコードに短時間でアクセス

• レコードの追加、削除、変更時にファイル全体の書き直しが不要

• 短所

• 管理が複雑

• ファイルスペースに無駄ができる可能性あり

2011年10月30日日曜日

アドレスの指定方式

•アクセスするレコードの位置をどうやって特定するのか?

2011年10月30日日曜日

直接アドレス方式•レコードのキーと値とファイルの位置が直接対応

•例•商品コードが1,2,3,... と連番なら

•レコードも1番目、2番目に格納される

2011年10月30日日曜日

間接アドレス方式

•レコードのキーが数値以外だとディクスのアドレス(数字)に直接変換できない。

•何らかの変換ルールを使ってアドレスに変換する

2011年10月30日日曜日

ハッシュ

P225 図8.52011年10月30日日曜日

問題

2011年10月30日日曜日

シノニム

T Fujisawaも計算したらハッシュ値が”02”に!

2011年10月30日日曜日

チェーン法

http://www.geocities.jp/ky_webid/algorithm/014.html

2011年10月30日日曜日

Linux実習

2011年10月30日日曜日

ワイルドカード

•ファイル名を指定するときに利用

• ”*”は任意の文字を表す

•% ls *

•% ls access*

2011年10月30日日曜日

正規表現

•特別な意味をもった記号を用いて文字列を表現する。ワイルドカードとは使い方が違うので注意。

•特殊文字

• * . ^ 2011年10月30日日曜日

•直前の文字の0回以上の繰り返し

• a aa aac bcd acc bbb• a*は a aa にマッチ

• a*c は aacにマッチ

2011年10月30日日曜日

.•任意の一文字

• a aa aac bcd ccc bbb• . は aにマッチ

• .acは aac bcd ccc にマッチ

• .cc はccc にマッチ

2011年10月30日日曜日

.*

•一文字以上の任意の文字列を表す

• a aa aac bcd ccc bbb• a.* は a aa aac にマッチ

• ... は aac bcd ccc bbb にマッチ

2011年10月30日日曜日

^

•先頭を表す

• abc bca cba aaa bbb ccc• ^b.* は bca bbb を表す

• ^.c. は bca ccc を表す

2011年10月30日日曜日

tar コマンド

• tar (Tape Archive) •アーカイブ:書庫、複数のファイルを一つにまとめたファイル

• tar はアーカイブファイルを操作

2011年10月30日日曜日

アーカイブ作成

• % tar cvf ファイル名 追加するファイル1

• 例

• % tar cvf kadai.tar file1 file2 dir1/

2011年10月30日日曜日

アーカイブ内のファイル一覧

•% tar tvf アーカイブファイル

•例•% tar tvf kadai.tar

2011年10月30日日曜日

アーカイブの展開

•% tar xvf ファイル名

•例•% tar xvf kadai.tar

2011年10月30日日曜日