UNIXファイルタイプ
ls -lコマンドの実行例を以下に示す。
ls -lコマンドで出力されるlsコマンドの長い形式の出力形式はPOSIXで規定されている。最初のフィールドはファイルモード文字列(file mode string)と呼ばれ、その1文字目はファイルタイプを表す。残りの文字列はファイルパーミッションを表す。
従って、上記の例ではファイルモード文字列はdrwxr-xr-xであり、ファイルタイプはd(ディレクトリ)、ファイルパーミッションはrwxr-xr-xである。
内部的には、lsは、ファイルに関連するstat構造を取得して、mode_tフィールドを人が読める形に変換する。mode_tは、実際には2つの部分を持つビットフィールドであり、ファイルタイプはS_IFMTマスク内に保存されている。S_ISDIR(マスクS_IFMTのS_IFDIR値)のようないくつかのマクロでテストして、ファイルタイプフラグを取得する。