ファイルについての知識を試すファイルクイズ10問を用意しました。ファイルの形式やメタ情報、特徴的な性質など、日頃の業務やシステム管理で必要になる基本的な知識が問われます。ファイルの種類やバイナリ形式、パーミッション設定、圧縮アーカイブの違いなど、IT分野の基礎を幅広くカバーしています。クイズを解きながら、ファイルに関する理解を深めていただければと思います。
Q1 : UNIX系でファイルの種類をマジックナンバーなどから判定する標準的なコマンドはどれか?
fileコマンドはファイルの先頭数バイトにある“マジックナンバー”や内容の特徴を解析してファイルの種類を判定します。テキストかバイナリか、どのアプリケーションで開くべきかのヒントを返す機能があり、複数のマジック定義ファイルに基づいて推測を行います。lsは一覧表示、catは内容出力、statはファイルのメタ情報表示が主目的で、種類判定はfileが専用です。
Q2 : ジャーナリングやエクステント(extent)による大容量ファイルの効率的な割り当てを標準的にサポートするLinuxのファイルシステムはどれか?
ext4はLinuxの標準的なファイルシステムで、エクステント(extent)による連続領域の管理やジャーナリング、遅延割当て(delayed allocation)などをサポートしており、大容量ファイルや大容量ディスクに対して効率的に動作するよう設計されています。ext3は従来のブロックマッピング方式が中心で、ext4で改良が加えられました。FAT32やNTFSは別系統のファイルシステムです。
Q3 : ZIPアーカイブにおけるローカルファイルヘッダの先頭にあるシグネチャ(16進表記)はどれか?
ZIPフォーマットではローカルファイルヘッダの先頭シグネチャが16進で 50 4B 03 04(ASCIIで PK\x03\x04")です。中央ディレクトリヘッダは50 4B 01 02、エンドオブセントラルディレクトリレコードは50 4B 05 06となります。RIFFのシグネチャは52 49 46 46(WAVやAVI)であり、ZIPのローカルヘッダは先述のPKシーケンスが正しい識別子です。"
Q4 : ハードリンクに関する記述として正しいものはどれか?
ハードリンクは既存ファイルの別名として同じinode番号を指すディレクトリエントリを作成します。これにより同一ファイルシステム内でのみ可能で、別inodeを生成してコピーするわけではありません。元の名前を削除してもリンク数が0にならない限りデータは保持されます。一方でシンボリックリンクはパスを指す別ファイルであり別ファイルシステムへも張れますし、通常はディレクトリに対するハードリンク作成は制限されています。
Q5 : UNIX系でパーミッションを表す記号列 rwxr-xr-- の数値表記(3桁)はどれか?
記号列 rwxr-xr-- は所有者が読み書き実行(rwx)=7、グループが読み実行(r-x)=5、その他が読み(r--)=4 の組み合わせです。これを8進数3桁で表すとそれぞれの桁が7、5、4となり754になります。644や755は別のビット組合せで、644は所有者がrw、グループとその他がr、755は所有者がrwxで他がr-x、700は所有者のみrwxで他は無権限です。
Q6 : PNG画像ファイルの標準的なMIMEタイプはどれか?
PNG(Portable Network Graphics)の標準的なインターネット媒体種別は image/png です。PNGは可逆圧縮を用いるラスター画像フォーマットで、GIFに代わる用途や透過やアルファチャンネルのサポートが特徴です。image/jpeg はJPEG、image/gif はGIF、image/svg+xml はベクタ形式SVGのMIMEタイプであり、PNGには image/png を用いるのが正しい運用です。
Q7 : PDFファイルの先頭に現れるマジックヘッダ(識別子)として一般的な文字列はどれか?
PDFファイルの先頭は通常 ASCII 文字列 %PDF-" で始まり、続けてバージョン番号(例 %PDF-1.7)を含むことが多いです。これはファイル形式を識別するためのマジックヘッダで、バイナリでは 0x25 0x50 0x44 0x46 0x2D に相当します。%PDF-はAdobeが定めたPDF仕様の標準的な識別子で、他の選択肢はPostScript、ZIP、GIFのシグネチャです。"
Q8 : tarとgzipの違いとして正しい説明はどれか?
tar(tape archive)は複数ファイルやディレクトリ構造を一つのアーカイブファイル(通常拡張子.tar)にまとめるためのフォーマットで、自身は圧縮を行いません。gzipは単一ストリームを圧縮する圧縮アルゴリズム(拡張子.gz)です。よく使われる組合せは.tarを作成してからその.tarをgzipで圧縮し .tar.gz や .tgz を生成する方式です。その他の選択肢は事実と異なります。
Q9 : UTF-8のバイト順マーク(BOM)としてよく識別されるバイト列はどれか?
UTF-8のBOM(Byte Order Mark)は3バイトのシーケンス 0xEF 0xBB 0xBF で表されます。これはファイルがUTF-8でエンコードされていることを示すために使われることがありますが、UTF-8に本質的なバイト順の問題はないため必須ではなく、互換性の問題で忌避されることもあります。FE FF や FF FE はUTF-16のエンディアンを示すBOMであり、00 00 FE FF はUTF-32のBOMに相当します。
Q10 : PEM形式の証明書ファイルで一般的に使われる拡張子はどれか?
PEM(Privacy Enhanced Mail)形式はBase64でエンコードされたテキスト形式で、証明書や秘密鍵を'-----BEGIN ...-----'/'-----END ...-----'のヘッダで包むのが特徴です。よく用いられる拡張子は.pemで、単独で証明書や秘密鍵を格納できます。対して.derはバイナリ形式の証明書、.crtは証明書一般に使われる拡張子、.keyは秘密鍵ファイルに使われることが多い、という区別があります。
まとめ
いかがでしたか? 今回はファイルクイズをお送りしました。
皆さんは何問正解できましたか?
今回はファイルクイズを出題しました。
ぜひ、ほかのクイズにも挑戦してみてください!
次回のクイズもお楽しみに。