ITパスポート試験 用語辞典
オペレーティングシステム(OS)では、ファイル末尾のファイル拡張子を見ることでファイルの種別を認識している。これにより該当するアプリケーションと関連付けを行ってファイルを開いたり、ファイルごとにアイコンを表示している。OSの設定によってファイルの拡張子を非表示にできるが、マルウェアがこれを悪用するケースがあるため、注意が必要である。
- 分野:
- 分野:テクノロジ系
中分類:ソフトウェア
小分類:ファイルシステム - 重要度:
- ★★★
(Wikipedia 拡張子より)拡張子(かくちょうし、filename extension)とは、ファイルの種類を識別するためにファイルの名前(ファイル名)の末尾につけられる文字列。ファイル名の本体と拡張子は "."(ピリオド、ドット)で区切られ、拡張子はアルファベットと数字の組み合わせで、歴史的には3文字以内が好まれたが、それ以上の場合もある。拡張子は、オペレーティングシステム (OS) においてファイルの判別のために任意につけられるもので、必ずしも必須ではない。拡張子が適切でない場合は、システムまたはアプリケーションソフトウェアの動作に影響を及ぼす場合がある。
.tar.gz
のように複数のピリオドで区切っているケースもあるが、最後のピリオド以降を拡張子と判断するシステムが一般的である。Mac OSでは、OSレベルでは各ファイルに埋め込まれたクリエータとファイルタイプで識別するシステムを持っている。macOSでは拡張子も利用して動作するようになり、Mac OS X v10.4 TigerからはUniform Type Identifier (UTI) なる枠組みでデータの種類を判別するようになった。
Unix系OSではファイル名の終端でファイルの種類を表す慣習があり、一般にはsuffixと呼ぶが、必ずしもピリオドで区切るとは限らない。カンマで区切る「
,v
」や、特に区切り文字使わずに「-
」や「~
」や「rc
」を付けるケースもある。これはあくまでも整理上の便宜であってシステム上意味はない。ただしmakeコマンドがsuffixに基づいたルールに従って動作したり、lsコマンドが色分けして表示するようなケースはある。またデスクトップ環境であるKDE、GNOME、CDE等も拡張子に基づく動作をする。OS以外では、MIMEタイプの設定に拡張子を利用していることなどがあげられる。Apache HTTP Serverは
index.ja.html
とindex.html.ja
の両方を「日本語(ja)のhtmlファイル」と判断する。最後尾でなくても拡張子として判断する一例である。こうしたことから、かつては一部のシステムのみの概念だった拡張子は、現在は広い範囲で使われていることがわかる。
拡張子の由来
拡張子は、もともとはのオペレーティングシステム (OS) 、たとえば、TOPS-10、OS/8やRT-11に利用されていた。その後、CP/Mでも採用された。CP/Mのファイル名は8+3バイトの構成になっており、後ろの3バイトが拡張子と呼ばれた。さらにCP/Mと互換性を取るため、MS-DOSやOS/2、Windowsなどに受け継がれた。現在のWindowsでは3バイトの制限はない。
拡張子の一例
- bmp
- Windowsビットマップ。Windowsの標準的な静止画像ファイル。
- wav
- WAVE。Windowsの標準的な音声ファイル。
- avi
- Audio Video Interleave。主にWindowsで使われる動画ファイル。
- txt
- 一般的なテキストファイル。
- zip
- 圧縮ファイル。Windowsで使われる。サイズを小さくしたファイル。
拡張子が引き起こすセキュリティ上の問題
Windowsには、拡張子とアプリケーションの関連付けという機能があり、拡張子の種類によってそのファイルを処理するアプリケーションを選択することが可能である。ただし、設定次第でファイル名の拡張子を表示しないようにできるため、コンピュータウイルスなどがこれを悪用する場合がある。例えばLOVE-LETTER-FOR-YOU.TXT.vbsという名前のファイルはそのような環境ではLOVE-LETTER-FOR-YOU.TXTとのみ表示され、一見テキストファイルに見える。これをテキストファイルだと思って実行すると、実際にはVBScriptが起動し、ウイルスなどの被害に遭う。
また、一部のWindowsではUnicodeの制御文字の一つであるU+202E (RIGHT-TO-LEFT OVERRIDE) をファイル名に使用することで、拡張子を末尾以外の場所に表示させることが可能である。例えばSAMPLE-(U+202E)TXT.EXEというファイル名はSAMPLE-EXE.TXTと表示され、一見テキストファイルに見える。これをテキストファイルだと思って実行すると、実際にはEXEファイルが実行されることになり、前記同様の問題が発生する。このように、拡張子を誤読させる他要因との複合技で問題を生ずることもある。
「ファイルシステム」の用語
「ソフトウェア」の他の分野
「テクノロジ系」の他のカテゴリ
このページのWikipediaよりの記事は、ウィキペディアの「拡張子」(改訂履歴)の記事を複製、再配布したものにあたり、このページ内の該当部分はクリエイティブ・コモンズ 表示 - 継承 3.0 非移植 ライセンスの下 に提供されています。