Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
最 終 更 新 2020.7.11
2 フ ァ イ ル の し く み
奈 良 教 育 大 学 薮 哲 郎
コ ン ピ ュ ー タ ー の 仕 組 み を 理 解 す る 上 で 一
番 重 要 な の が 「 フ ァ イ ル 」 と い う 概 念 で す 。
ス マ ホ ( Android, iOS ) で は ユ ー ザ ー が フ ァ イ ル
を 直 接 操 作 す る こ と は で き ま せ ん 。 ア プ リ を
介 し て 操 作 し ま す 。 そ れ に 対 し て 、 Windows は
エ ク ス プ ロ ー ラ ー と い う ア プ リ で ユ ー ザ ー が
直 接 フ ァ イ ル を 操 作 す る こ と を 許 し て い ま す
Mac OS は Windows と ス マ ホ の 中 間 に 位 置 し ま す 。
Mac OS で は フ ァ イ ン ダ ー と い う ア プ リ を 使 っ て
フ ァ イ ル を 操 作 で き ま す が 、 Windows に 比 べ る
と ブ ラ ッ ク ボ ッ ク ス 化 の 度 合 い が 大 き い で す 。
本 実 習 で は Windows に つ い て 学 び ま す 。 Windowsで 学 ん だ こ と は 、 他 の OS に も 応 用 で き ま す 。
( 授 業 を 受 け る 前 に 以 下 の こ と を 行 っ て お い
て 下 さ い )
(1) フ リ ー の バ イ ナ リ エ デ ィ タ FavBinEdit を イ ン ス
ト ー ル し て く だ さ い 。 「 FavBinEdit 」 で 検 索 し て
ベ ク タ ー の サ イ ト へ 行 き 、 FavBinEdit-1-2-4.exe を ダ
ウ ン ロ ー ド し 、 ダ ブ ル ク リ ッ ク し て イ ン ス
ト ー ル し て 下 さ い 。 C:\Program Files (x86)\FavBinEdit 以 下
に イ ン ス ト ー ル さ れ ま す 。
自 分 の パ ソ コ ン に 余 計 な ア プ リ を イ ン ス
ト ー ル し た く な い 人 は 、 代 わ り に イ ン ス ト ー
ル 不 要 の バ イ ナ リ エ デ ィ タ Stirling を 使 っ て 下 さ
い 。 た だ し Stirling を 使 う に は lzh フ ァ イ ル を 解 凍
す る 必 要 が あ り ま す 。 Windows 10 で は デ フ ォ ル
1
ト で lzh フ ァ イ ル を 解 凍 で き な い の で 、 7-zip な
ど の ア プ リ の イ ン ス ト ー ル が 必 要 で す 。 結 局
何 か を イ ン ス ト ー ル す る 必 要 が あ り ま す
Stirling を 使 う 人 は 本 文 中 の FavBinEdit を Stirling に 置 き
換 え て 下 さ い 。
(2) 以 下 の フ ァ イ ル を 「 右 ク リ ッ ク 」 → 「 対 象
を フ ァ イ ル に 保 存 」 で 、 ロ ー カ ル の パ ソ コ ン
に ダ ウ ン ロ ー ド し て お い て 下 さ い 。
「 sjis.txt 」 「 utf8.txt 」 「 a.bin 」 「 拡 張 子 に 結 び
つ け ら れ た exe フ ァ イ ル を 調 べ る
( shell_exec.exe ) 」 「 シ ス テ ム フ ォ ル ダ な ど の 場
所 を 表 示 す る (kasou.exe) 」 「 Word フ ァ イ ル 」
「 Excel フ ァ イ ル 」 「 PowerPoint フ ァ イ ル 」 「 テ キ
ス ト フ ァ イ ル 」 「 html フ ァ イ ル 」 「 bitmap 形 式
画 像 フ ァ イ ル 」 「 jpeg 形 式 画 像 フ ァ イ ル 」
「 PDFフ ァ イ ル 」
2.1 フ ァ イ ル の 分 類
コ ン ピ ュ ー タ ー は ア プ リ 、 デ ー タ な ど 全 て
を 「 フ ァ イ ル 」 と い う 単 位 で 管 理 し ま す 。 全
て の フ ァ イ ル は バ イ ト ( 0 ~ 255ま で の 数 値 を
表 す こ と が 出 来 る ) の 羅 列 で す 。 フ ァ イ ル の
イ メ ー ジ を 図 2.1 に 示 し ま す 。
4d 5a 90 00 ........
WINWORD.EXEファイル名
ファイルの内容
73 61 6d 70 ........
sample.txt
図 2.1 フ ァ イ ル の イ メ ー ジ
2
課 題 1(1) sjis.txt を 「 右 ク リ ッ ク 」 → 「 名 前 を 付 け て 保
存 」 し 、 FavBinEdit で 開 き な さ い 。 sjis.txt の 内
容 を バ イ ナ リ ( 16 進 数 の 数 値 ) で 表 示 し
ま す 。 「 半 角 文 字 の "a" 」 「 改 行 文 字 」
「 全 角 文 字 の " あ " 」 が ど の よ う な 数 値 で
表 さ れ る か 、 そ れ ぞ れ 書 き な さ い 。
(2) utf8.txt を 「 右 ク リ ッ ク 」 → 「 名 前 を 付 け て 保
存 」 し 、 FavBinEdit で 開 き な さ い 。 (1) と 同 じ
質 問 に 答 え な さ い 。
(3) 「 file2020.docx ( 本 フ ァ イ ル ) 」 , 「 FavBinEdit.exe 」 を 開 き 、 フ ァ イ ル の 先 頭 か
ら 16×3 バ イ ト の 内 容 を コ ピ ペ し な さ い 。
FavBinEdit.exe は C:\Program Files (x86)\FavBinEdit の 中 に あ り
ま す 。
(4) a.bin は 数 値 -50 を 4 バ イ ト 実 数 で 表 し た と き
の メ モ リ イ メ ー ジ で す 。 IEEE754 で の 表 現 形
式 は ど う な り ま す か ? a.bin を FavBinEdit で 開
き 、 確 認 し な さ い 。
フ ァ イ ル に は 名 前 が 付 い て い ま す 。 フ ァ イ
ル の 名 前 の う ち 、 最 後 の ピ リ オ ド か ら 後 の 部
分 を 拡 張 子 と 呼 び 、 フ ァ イ ル の 種 類 を 表 し ま
す 。 フ ァ イ ル を 大 き く 二 つ に 分 け る と 次 の よ
う に 分 け る こ と が 出 来 ま す 。
1.実 行 型 フ ァ イ ル ( ア プ リ 本 体 )
2.デ ー タ フ ァ イ ル
実 行 型 フ ァ イ ル は 拡 張 子 が exe や dll と な っ て
い る フ ァ イ ル で す 。 「 ア プ リ = 実 行 型 フ ァ
イ ル 」 で す 。 FavBinEdit.exe は 実 行 型 フ ァ イ ル で す 。
ダ ブ ル ク リ ッ ク す る と 起 動 し ま す ( 実 行 し ま
3
す ) 。
デ ー タ フ ァ イ ル は docx を 拡 張 子 に 持 つ Wordフ ァ イ ル 、 xlsx を 拡 張 子 に 持 つ Excel フ ァ イ ル 、
pptx を 拡 張 子 に 持 つ PowerPoint フ ァ イ ル 、 txt を 拡
張 子 に 持 つ テ キ ス ト フ ァ イ ル が そ の 代 表 で す 。
デ ー タ フ ァ イ ル を ダ ブ ル ク リ ッ ク す る と 、
そ の デ ー タ フ ァ イ ル を 読 み 書 き す る た め の ア
プ リ が 起 動 し 、 デ ー タ フ ァ イ ル を 読 み 込 み ま
す 。
2.2 デ ー タ フ ァ イ ル の 種 類
デ ー タ フ ァ イ ル は 次 の よ う に 分 類 で き ま す 。
◆ 仕 様 が 公 開 さ れ て お り 、 多 く の ソ フ ト で 読
み 書 き 可 能 な フ ァ イ ル
txt ( テ キ ス ト ) , pdf ( 文 書 ) , jpg ( 画
像 ) , bmp ( 画 像 ) , wav ( 音 声 ) , mp3 ( 音 声 ) な
ど
◆ 仕 様 は 公 開 さ れ て い る が 、 ソ フ ト 間 の 互 換
性 は 完 全 で は な い フ ァ イ ル
docx ( Word ) , xlsx ( Excel ) , pptx ( PowerPoint ) な
ど
◆ ア プ リ ケ ー シ ョ ン 固 有 の 形 式 の フ ァ イ ル
psd ( photoshop ) , ai ( illustrator ) な ど
仕 様 が 公 開 さ れ て い る 形 式 の 中 で も テ キ ス
ト フ ァ イ ル は 特 に 重 要 で す 。 テ キ ス ト フ ァ イ
ル は 文 字 だ け が 入 っ た フ ァ イ ル で す 。 「 文
字 」 と 「 改 行 記 号 」 だ け を 含 む の で 、 シ ン プ
ル で あ り 、 多 く の ア プ リ ケ ー シ ョ ン が 「 読 み
4
込 み 」 に 対 応 し て い ま す 。 拡 張 子 は txt で す 。
テ キ ス ト フ ァ イ ル を 読 み 書 き す る プ ロ グ ラ ム
は エ デ ィ タ と 呼 ば れ ま す 。 「 メ モ 帳 」 は エ
デ ィ タ の 一 つ で す 。
Web ペ ー ジ を 表 す html ( あ る い は htm ) フ ァ
イ ル も テ キ ス ト フ ァ イ ル の 一 種 で す 。 Web サ
イ ト を 表 示 し 、 ブ ラ ウ ザ の 「 ソ ー ス を 表 示 」
の メ ニ ュ ー で 内 容 を 見 る こ と が で き ま す 。
確 認
docx フ ァ イ ル を メ モ 帳 で 開 き ま す 。 「 フ ァ
イ ル 」 → 「 開 く 」 の と き に 「 テ キ ス ト 文 書
(*.txt)」 で は な く 「 全 て の フ ァ イ ル (*.*) 」 を 選
ぶ と 、 docx フ ァ イ ル も 選 べ ま す 。 訳 が 分 か ら
な い 文 字 列 が 表 示 さ れ ま す 。
docx は Shift_JIS あ る い は utf-8 で 書 か れ た フ ァ イ
ル で は あ り ま せ ん が 、 メ モ 帳 は そ れ を Shift_JISあ る い は utf-8 で 書 か れ た テ キ ス ト フ ァ イ ル で
あ る と み な し て 、 表 示 し ま す 。 し か し 、 docxフ ァ イ ル は そ う で は あ り ま せ ん 。 結 果 と し て
無 意 味 な 文 字 列 が 表 示 さ れ ま す 。
テ キ ス ト フ ァ イ ル 以 外 の フ ァ イ ル を バ イ ナ
リ フ ァ イ ル と 呼 び ま す 。 バ イ ナ リ フ ァ イ ル の
う ち 、 jpg, bmp, wav, mp3 な ど は 仕 様 が 公 開 さ れ て
い る の で 多 数 の ソ フ ト ウ ェ ア で 読 み 書 き が で
き ま す 。 例 え ば 、 bmp は ペ イ ン ト 、 Word, IE な ど
多 数 の ア プ リ ケ ー シ ョ ン ソ フ ト が サ ポ ー ト し
て い ま す 。 一 方 、 docx, xlsx, pptxな ど の フ ァ イ ル は
Office Open XML と い う 仕 様 に 基 づ い て い ま す が 、
docx は Word 以 外 の ア プ リ ケ ー シ ョ ン で 読 み 込 む
と 、 レ イ ア ウ ト が 崩 れ た り し ま す 。
5
課 題 2 docx, xlsx, pptxは zip フ ァ イ ル で あ り 、 多 数 の フ ァ
イ ル を 1 つ に ま と め た も の で す 。 拡 張 子 を zipに 変 更 し て か ら 展 開 す る と 、 中 の テ キ ス ト 、
画 像 な ど を 取 り 出 す こ と が で き ま す 。
本 フ ァ イ ル は 「 フ ァ イ ル 」 → 「 オ プ シ ョ
ン 」 → 「 詳 細 設 定 」 で 「 イ メ ー ジ の サ イ ズ と
画 質 」 に つ い て 「 フ ァ イ ル 内 の イ メ ー ジ を 圧
縮 し な い 」 に チ ェ ッ ク を 入 れ て い ま す 。 ゆ え
に 、 本 フ ァ イ ル 中 に 高 解 像 度 の 画 像 が 内 包 さ
れ て い ま す 。 展 開 し 、 そ の 中 か ら 、 図 2.2 の 高
解 像 度 の た ぬ き の 画 像 を 取 り 出 し 、 縦 横 の サ
イ ズ を 答 え な さ い 。
( 補 足 )
デ フ ォ ル ト で は 「 フ ァ イ ル 内 の イ メ ー ジ を
圧 縮 し な い 」 に チ ェ ッ ク が 入 っ て い ま せ ん 。
そ の 場 合 の 解 像 度 は 96 dpi, 150 dpi, 220 dpi, 330 dpi, 高 品
質 , の ど れ か を 選 択 す る こ と に な り ま す 。 docxが 内 包 す る 画 像 は 解 像 度 が 落 ち た も の と な り
オ リ ジ ナ ル の 画 像 は 存 在 し ま せ ん 。
ま た 、 docx フ ァ イ ル に 含 ま れ て い る 画 像 が
高 解 像 度 で も 、 ク リ ッ プ ボ ー ド に コ ピ ー す る
と 、 解 像 度 が 劇 的 に 落 ち ま す ( 私 の 環 境 で は
344×258 に な り ま す ) 。
6
図 2.2 た ぬ き の 画 像
2.3 拡 張 子 と 登 録 さ れ て い る プ ロ グ ラ ム の 関
連 づ け
デ ー タ フ ァ イ ル は そ の 拡 張 子 が 登 録 さ れ て
い る 場 合 、 ダ ブ ル ク リ ッ ク す る と 、 登 録 さ れ
て い る ア プ リ ケ ー シ ョ ン が 起 動 し 、 そ の デ ー
タ フ ァ イ ル を 開 き ま す 。 例 え ば 、 ○ ○ .docx と
い う フ ァ イ ル を ダ ブ ル ク リ ッ ク す る と Word が
起 動 し 、 そ の フ ァ イ ル を 開 き ま す 。
登 録 さ れ て い る 拡 張 子 の 確 認 や 変 更 は 以 下
の よ う に で き ま す 。 1 つ め の 方 法 は 「 ス タ ー
ト 」 → 「 設 定 」 → 「 ア プ リ 」 → 「 既 定 の ア プ
リ 」 か ら 操 作 し ま す 。 2 つ め の 方 法 は 「 そ の
拡 張 子 を 持 っ た フ ァ イ ル を 右 ク リ ッ ク 」 →
「 プ ロ パ テ ィ 」 → 「 全 般 」 で 「 変 更 」 を ク
リ ッ ク し ま す 。
ダ ブ ル ク リ ッ ク し た と き に 起 動 さ れ る プ ロ
グ ラ ム は 図 2.3 の shell_exec.exe で 確 認 す る こ と が で
き ま す 。 shell_exec.exe を 実 行 し て 下 さ い 。
7
図 2.3 shell_exec.exe の 外 観
フ ァ イ ル 名 と し て デ ー タ フ ァ イ ル を 指 定 し
ま す 。 デ ー タ フ ァ イ ル を ド ラ ッ グ & ド ロ ッ プ
す る こ と も 出 来 ま す 。 「 FindExecutable 」 の ボ タ ン
を 押 す と 、 そ の デ ー タ フ ァ イ ル に 結 び つ け ら
れ て い る ア プ リ ケ ー シ ョ ン が あ れ ば 、 表 示 し
ま す 。 「 ShellExecute 」 の ボ タ ン を 押 す と そ の ア
プ リ ケ ー シ ョ ン を 起 動 し 、 フ ァ イ ル を 開 き ま
す 。
課 題 3 拡 張 子 docx, txt, xlsx, pptx, jpg, html, pdf, bmp に 結 び つ け
ら れ て い る ア プ リ ケ ー シ ョ ン の 名 前 を フ ル パ
ス で 述 べ な さ い ( ア プ リ ケ ー シ ョ ン の 名 前 を
C:\Program Files (x86)\.....\○○.exe の よ う に 述 べ る ) 。 た だ
し 、 ス ト ア ア プ リ で 開 か れ る フ ァ イ ル に つ い
て は 、 "Find Executable is fail." と 表 示 さ れ ま す 。 そ の
場 合 は 「 不 明 」 と 答 え な さ い 。
サ ン プ ル フ ァ イ ル は 学 習 用 Web サ イ ト に 用
意 し て あ り ま す 。
8
フ ァ イ ル の 拡 張 子
フ ァ イ ル の 拡 張 子 は 通 常 は 1 ~ 4 文 字 で あ り 、
そ の フ ァ イ ル が ど う い う 種 類 の フ ァ イ ル で あ
る か を 表 し て い ま す 。 代 表 的 な も の は 以 下 の
通 り で す 。
exe 実 行 型 フ ァ イ ル
dll プ ロ グ ラ ム を 実 行 す る と き に 必 要 な ラ
イ ブ ラ リ
txt テ キ ス ト フ ァ イ ル
htmhtml タ グ を 含 む テ キ ス ト フ ァ イ ル
docx Word フ ァ イ ル
xlsxExcel フ ァ イ ル
pptx PowerPoint フ ァ イ ル
bmp Bitmap 形 式 の 画 像 フ ァ イ ル
jpg Jpeg 形 式 の 画 像 フ ァ イ ル
pngPNG 形 式 の 画 像 フ ァ イ ル
wav 無 圧 縮 の 音 声 フ ァ イ ル
mp3 mp3 形 式 の 音 声 フ ァ イ ル
m4a AAC 形 式 の 音 声 フ ァ イ ル iTunes の デ
フ ォ ル ト
mp4 mpeg4 形 式 の 動 画 フ ァ イ ル
2.4 仮 想 と 実 体
Windows は コ ン ピ ュ ー タ ー を 扱 い や す く す る
た め に 、 仮 想 的 な 世 界 を 作 り 、 そ れ を 使 用 者
に 見 せ て い ま す 。 例 え ば 、 デ ス ク ト ッ プ は 仮
想 的 な も の で す 。
一 方 で 、 コ ン ピ ュ ー タ ー は 「 フ ァ イ ル 」 で
情 報 を 管 理 し て お り 、 階 層 化 さ れ た フ ォ ル ダ
に フ ァ イ ル を 格 納 し ま す 。
エ ク ス プ ロ ー ラ ー を 起 動 す る と 、 PC の 下 に
「 ダ ウ ン ロ ー ド 」 「 デ ス ク ト ッ プ 」 「 ド キ ュ
9
メ ン ト 」 「 ピ ク チ ャ 」 「 ビ デ オ 」 「 ミ ュ ー
ジ ッ ク 」 「 ロ ー カ ル デ ィ ス ク (C:) 」 な ど の ア イ
コ ン が あ り ま す 。 こ の う ち 「 ロ ー カ ル デ ィ ス
ク (C:) 」 の よ う に 、 末 尾 に 括 弧 で く く っ た ロ ー
マ 字 1 字 が あ る の は 実 体 を 持 ち ま す 。 す な わ
ち 、 物 理 的 に 存 在 す る ド ラ イ ブ に 対 応 し ま す
Windows で は 「 ハ ー ド デ ィ ス ク 」 「 DVD マ ル チ ド
ラ イ ブ 」 「 USB メ モ リ 」 な ど に ド ラ イ ブ レ
タ ー と 呼 ば れ る ロ ー マ 字 1 文 字 を 割 り 当 て ま
す 。
そ れ 以 外 の 「 デ ス ク ト ッ プ 」 な ど は Windowsが 仮 想 的 に 作 っ て い る も の で す 。 「 ド キ ュ メ
ン ト 」 「 ピ ク チ ャ 」 な ど は 1 個 の フ ォ ル ダ に
対 応 し ま す 。 そ の 実 体 は ど こ に あ る の で し ょ
う か ? フ ァ イ ル を バ ッ ク ア ッ プ す る と き は
「 実 体 が ど こ に あ る か 」 を 知 っ て お く 必 要 が
あ り ま す 。
図 2.4 kasou.exe の 外 観
10
図 2.4 に 示 す kasou.exe を 起 動 し 、 「 情 報 取 得 」
ボ タ ン を 押 し て 下 さ い 。 デ ス ク ト ッ プ 、 ド
キ ュ メ ン ト な ど の 実 体 が ど こ に あ る か を 表 示
し ま す 。
「 送 る 」 メ ニ ュ ー に メ モ 帳 を 追 加 し て パ ソ コ
ン を 便 利 に す る
フ ァ イ ル を 右 ク リ ッ ク し て 出 現 す る メ
ニ ュ ー の 「 送 る 」 に メ モ 帳 を 入 れ て お く と 、
便 利 で す 。 メ モ 帳 を 「 送 る 」 の メ ニ ュ ー に 追
加 す る に は 、 以 下 の よ う に 操 作 し ま す 。
1.シ ョ ー ト カ ッ ト の 作 成 … … メ モ 帳 の 実
体 は C:\Windows\System32\notepad.exe で す 。 右 ク リ ッ
ク し て デ ス ク ト ッ プ に シ ョ ー ト カ ッ ト を
作 成 し て く だ さ い 。
2.1. で 作 成 し た シ ョ ー ト カ ッ ト を 「 送 る 」
に 対 応 す る フ ォ ル ダ に コ ピ ー し て く だ さ
い 。 そ の フ ォ ル ダ は kasou.exe で 求 め る こ と
が で き ま す 。
実 は 「 送 る 」 に 対 応 す る フ ォ ル ダ は 次 の 方
法 で も 開 く こ と が で き ま す 。 こ ち ら の 方 が 簡
単 で す 。
ス タ ー ト メ ニ ュ ー を 右 ク リ ッ ク →
フ ァ イ ル 名 を 指 定 し て 実 行
→ shell:sendto と 入 れ る
( 追 加 の 知 識 )
shell:startup と 入 れ る と 、 ス タ ー ト ア ッ プ フ ォ
ル ダ ( パ ソ コ ン 起 動 時 に 実 行 し た い ア プ リ が
あ る 場 合 、 そ の ア プ リ へ の シ ョ ー ト カ ッ ト を
11
入 れ て お く と 、 自 動 起 動 す る ) 。
「 ド キ ュ メ ン ト 」 フ ォ ル ダ が ど こ に あ る か を
知 る
エ ク ス プ ロ ー ラ ー で ド キ ュ メ ン ト の 直 下 に
あ る フ ォ ル ダ を 何 か 開 い て く だ さ い 。 そ の 状
態 で エ ク ス プ ロ ー ラ ー の フ ァ イ ル の パ ス 名 を
表 示 し て い る エ デ ィ ッ ト ボ ッ ク ス の 右 側 の 空
白 部 分 を ク リ ッ ク し て く だ さ い 。 そ の 場 所 の
実 体 が あ る 場 所 が 表 示 さ れ ま す 。 こ の 様 子 を
図 2.5 に 示 し ま す 。
(a) ク リ ッ ク す る 場 所
(b) 実 体 の 場 所 が 表 示 さ れ る
図 2.5 実 体 の あ る 場 所 を 表 示 す る
12
ここをクリック