LS_COLORS の拡張子を眺めてみる

# 本項でやること

`LS_COLORS` に OS デフォルトで記載されている拡張子を調査する

# LS_COLORS とは

> lsコマンドで出力されるファイルやディレクトリに色をつけたい場合、LS_COLORSという環境変数にカラー設定を記述する
https://qiita.com/yuyuchu3333/items/84fa4e051c3325098be3

# 検証環境

Amazon Linux 2 (2019.06)

# LS_COLORS の中身

>
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:

拡張子のタイプごとに、以下 3 種類の色でグルーピングされていた。

- 01;31
- 01;35
- 01;36

## 01;31 (Red)

アーカイブや圧縮形式のグループ。

|拡張子|備考|
|------|---|
|*.tar|Tape Archives。「[ファイルのアーカイブ](https://ja.wikipedia.org/wiki/Tar)」|
|*.tgz|tar + gzip|
|*.arc|「[In 1985, Thom Henderson of System Enhancement Associates wrote a program called ARC](https://en.wikipedia.org/wiki/ARC_(file_format))」。ダイアルアップ黎明期に使われていたらしい。|
|*.arj|「[ARJ Software Inc.が開発し、ホームページで公開している"ARJ"というツールで作成される圧縮ファイル形式](https://www.lzh-zip.com/extension/ext07.html)」|
|*.taz|tar + gzip。「[GZIPというツールとTARというツールを組み合わせて作成されたもの](http://www.7key.jp/data/ext_new/t/taz.html)」|
|*.lha|日本が誇る圧縮形式 LHA。|
|*.lz4|「[LZ4 は圧縮と展開の速さに焦点を当てた可逆圧縮アルゴリズムである](https://ja.wikipedia.org/wiki/LZ4)」|
|*.lzh|LHA と同じ|
|*.lzma|「[Lempel-Ziv-Markov chain-Algorithm（略してLZMA）は、2001年から開発されているデータ圧縮アルゴリズムで、7-Zipアーカイバの7zフォーマットやXZ Utilsのxzフォーマットで使用されている](https://ja.wikipedia.org/wiki/Lempel-Ziv-Markov_chain-Algorithm)」|
|*.tlz|tar + lzma。「[Files which are given the .TLZ extension are known as Tar LZMA Compressed files](http://dotwhat.net/file/extension/tlz/9925)」|
|*.txz|tar + lzma2 (xz)。「[Archive created with Tar and XZ utilities](https://fileinfo.com/extension/txz)」|
|*.tzo|tar + lzop。tgz と比べて計算処理が軽いらしい。「[lzop は、LZOアルゴリズムを用いたデータ圧縮ツール](https://ja.wikipedia.org/wiki/Lzop)」|
|*.t7z|tar + 7-zip|
|*.zip|おなじみの ZIP|
|*.z|gzip? 「[極初期のgzipは.zを用いたが、packとの混同を避けるため変更された、1993年頃に作成された.zはgzipファイルの可能性が高い](https://ja.wikipedia.org/wiki/Gzip)」|
|*.Z|同上?|
|*.dz|dzip。「[Compressed file created by Dzip, a command line utility used for compressing and decompressing files](https://fileinfo.com/extension/dz)」|
|*.gz|gzip|
|*.lrz|LZMA RZIP。「[Long Range ZIP (別名 Lzma RZIP) は巨大なファイルに最適化された圧縮プログラムです。冗長性を排除する rzip と通常の圧縮 (LZMA, LZO, gzip, bzip2, ZPAQ) を組み合わせることにより、ファイルが巨大になればなるほど、高い圧縮パフォーマンスを得ることができます。](https://wiki.archlinux.jp/index.php/Lrzip)」|
|*.lz|lzip。「[File archive compressed with Lzip, a lossless data compressor based on the LZMA (Lempel-Ziv-Markov chain) algorithm](https://fileinfo.com/extension/lz)」|
|*.lzo|lzop。「[lzop は、LZOアルゴリズムを用いたデータ圧縮ツール](https://ja.wikipedia.org/wiki/Lzop)」|
|*.xz|gzip, bzip2 よりも圧縮率で優位らしい。「[xz は、データ圧縮プログラムのひとつ、およびその圧縮データのフォーマットである。LZMA/LZMA2圧縮アルゴリズムを利用している](https://ja.wikipedia.org/wiki/Xz_(%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88))」|
|*.bz2|bip2。「[bzip2は、より効率的な圧縮のためにブロックソート法（バロウズ-ホイラー変換）とMTF (Move-To-Front) 法、ハフマン符号化法を用いており、従来のgzipやZIPといったデータ圧縮法と比べ、より高い圧縮率を誇っている](https://ja.wikipedia.org/wiki/Bzip2)」|
|*.bz|bzip。「[bzip2の原型である bzip は圧縮アルゴリズムに算術符号を利用しているため、算術符号関係の特許による制約のために開発が継続不能とされた、という経緯がある](https://ja.wikipedia.org/wiki/Bzip2)」|
|*.tbz|tar + bzip|
|*.tbz2|tar + bzip2|
|*.tz|tar + gzip|
|*.deb|「[拡張子 ".deb" のファイルは、Debian、Ubuntuなど多くのLinuxディストリビューションで利用されるバイナリのパッケージである](https://ja.wikipedia.org/wiki/Deb_(%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88))」|
|*.rpm|「[拡張子 ".rpm" のファイルは、多くのLinuxディストリビューションなどで利用されるバイナリによるソフトウェアのパッケージである](https://ja.wikipedia.org/wiki/RPM_(%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88))」|
|*.jar|「[JAR（ジャー）またはJava Archive（ジャバ アーカイブ）とは、コンパイルされた複数のJavaバイトコード及びそれが使用する画像などのリソースを一つにまとめZIP形式で圧縮されたファイル](https://ja.wikipedia.org/wiki/JAR_(%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88))」|
|*.war|「[WAR (Web application ARchive) は、Java Platform, Enterprise Edition (Java EE) アプリケーションのパッケージ形式。WARファイルはZIP形式で圧縮されており、ウェブアプリケーションのドキュメントルート以下が格納される](https://ja.wikipedia.org/wiki/WAR_(%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%90))」|
|*.ear|「[EAR (Enterprise ARchive) は、Java Platform, Enterprise Edition (Java EE) アプリーケーションのパッケージ形式。EARファイルはZIP形式で圧縮されており、任意の数のWARファイルやEJBファイル、またこれらのアプリケーションで必要とするJARファイルを含めることができる](https://ja.wikipedia.org/wiki/EAR)」|
|*.sar|「[SAR file is created with the .sar extenstion same like how other archive files (JAR, WAR, EAR) created](https://javabeat.net/sar-service-archive-file-in-jboss/)」|
|*.rar|ZIP よりも圧縮率が高いおなじみの RAR。「[元々は MS-DOS ベースのファイル圧縮ソフトウェアの名前及びファイルフォーマットである](https://ja.wikipedia.org/wiki/RAR)」|
|*.alz|alzip。韓国で人気だったらしい。「[Originally ALZip was developed in 1999 as an internal application at the South Korean software company ESTsoft in response to employee frustration with using the English interface in WinZip](https://en.wikipedia.org/wiki/ALZip)」|
|*.ace|2000 年頃に流行った圧縮形式。「[In computing, ACE is a proprietary data compression archive file format developed by Marcel Lemke, and later bought by e-merge GmbH](https://en.wikipedia.org/wiki/ACE_(compressed_file_format))」|
|*.zoo|LZW を基にした圧縮形式。「[The format is based on the LZW compression algorithm and compressed files are identified by the .zoo file extension](https://en.wikipedia.org/wiki/Zoo_(file_format))」|
|*.cpio|アーカイブ形式。「[cpioとは、ファイルアーカイバ・ユーティリティ並びにそのアーカイバで使われるファイルフォーマットである](https://ja.wikipedia.org/wiki/Cpio)」([tar より高機能?](http://tooljp.com/linux/faq/010DCDF29B95D152492579B7003DD886.html))|
|*.7z|7-zip|
|*.rz|rzip。「[rzip is a huge-scale data compression computer program designed around initial LZ77-style string matching on a 900 MB dictionary window](https://en.wikipedia.org/wiki/Rzip)」|
|*.cab|Windows でおなじみの圧縮形式。|

## 01;35 (Purple)

画像や動画のグループ。

|拡張子|備考|
|------|---|
|*.jpg|Joint Photographic Experts Group。おなじみの JPEG|
|*.jpeg|同上|
|*.gif|Graphics Interchange Format。ユニシスの特許問題があったけど爆発的に流行った (PNG が出るまでは)|
|*.bmp|Windows ビットマップ|
|*.pbm|Portable BitMap。[モノクロ（白黒２色）の画像を格納する](https://www.mm2d.net/main/prog/c/image_io-01.html)。[BMPファイルの最後に「(C)Pixel」という文字列をくっつけただけのファイル](https://w.atwiki.jp/cshacker/pages/23.html)らしい。|
|*.pgm|Portable GrayMap。[グレースケールの画像を格納する](https://www.mm2d.net/main/prog/c/image_io-01.html)|
|*.ppm|Portable PixMap。[フルカラーの画像を格納する](https://www.mm2d.net/main/prog/c/image_io-01.html)|
|*.tga|[Truevison社のグラフィックボードで使用されていた画像形式](http://www.openspc2.org/format/TGA/)|
|*.xbm|X Window System で使われた形式。「[for storing cursor and icon bitmaps used in the X GUI](https://en.wikipedia.org/wiki/X_BitMap)」|
|*.xpm|XBM のフルカラー版。|
|*.tif|Tagged Image File Format。「[タグと呼ばれる識別子を使うことによって、様々な形式のビットマップ画像を柔軟に表現できる](https://ja.wikipedia.org/wiki/Tagged_Image_File_Format)」|
|*.tiff|同上|
|*.png|Portable Network Graphics。GIF のカウンター。今では非写真分野のデファクトスタンダードか|
|*.svg|Scalable Vector Graphics。XML ベースのベクタイメージ|
|*.svgz|SVG + gzip|
|*.mng|Multiple-image Network Graphics。「[GIF（特にアニメーションGIF）の代替フォーマットとして開発されたが、GIFのサブマリン特許問題が発生した際に起きたGIFからPNGへの移行ほどの動きは起きておらず](https://ja.wikipedia.org/wiki/Multiple-image_Network_Graphics)」|
|*.pcx|「[より優れた画像ファイルフォーマット形式（GIF、JPEG、PNGなど）が登場しているため、あまり使われなくなってきている](https://ja.wikipedia.org/wiki/PCX)」|
|*.mov|QuickTime File Format。QuickTime で作成された動画や音声ファイルのフォーマット。|
|*.mpg|Moving Picture Experts Group。MPEG-1。MPEG が規定した動画フォーマット。|
|*.mpeg|同上|
|*.m2v|MPEG-2 Video。|
|*.mkv|Matroska Video。「[映像、音声、字幕などのデータを格納するためのマルチメディアコンテナフォーマット](https://ja.wikipedia.org/wiki/Matroska)」|
|*.webm|[Googleが開発しているオープンでロイヤリティフリーな動画のコンテナフォーマット](https://ja.wikipedia.org/wiki/WebM)|
|*.ogm|Ogg Media。Ogg Vorbis を音声として使用できる動画ファイルフォーマット。|
|*.mp4|[MPEG-4の動画・音声の記録に用いられている](https://ja.wikipedia.org/wiki/MP4)|
|*.m4v|MPEG-4 Video。|
|*.mp4v|同上|
|*.vob|Video Object File。「[DVD-Videoで動画や音声を記録するファイル](http://e-words.jp/w/VOB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB.html)」|
|*.qt|QuickTime。*.mov に同じ|
|*.nuv|Nuppel Video。「[which is commonly used by the MythTV free home entertainment software](https://fileinfo.com/extension/nuv)」|
|*.wmv|Windows Media Video|
|*.asf|Advanced Systems Format。[マイクロソフトが開発したAVI後継のファイル形式](https://ja.wikipedia.org/wiki/Advanced_Systems_Format)|
|*.rm|RealMedia File。インターネット黎明期のストリーミングで活躍。Real Player。|
|*.rmvb|「[RealMedia Variable Bitrate (RMVB) is a variable bitrate extension](https://en.wikipedia.org/wiki/RMVB)」。*.rm の VBR 版|
|*.flc|[The FLIC file formats ... used to store animation files. It is similar to animated GIF.](https://en.wikipedia.org/wiki/FLIC_(file_format))|
|*.avi|Audio Video Interleave。「[Windows標準の動画用ファイルフォーマット（コンテナ形式）](https://ja.wikipedia.org/wiki/Audio_Video_Interleave)」|
|*.fli|*.flc に同じ|
|*.flv|Flash Video。2010 年代に流行った。|
|*.gl|[Animation format created by GRASP (Graphical System for Presentation), which was used in the 1980s and 1990s, but is not commonly used anymore](https://fileinfo.com/extension/gl)|
|*.dl|[Animation](https://filext.com/file-extension/DL) File? 詳細求む|
|*.xcf|[XCF（eXperimental Computing Facility）ファイル形式は、GIMP画像編集プログラムのネイティブな画像形式である](https://ja.wikipedia.org/wiki/XCF)|
|*.xwd|X Window Dump。X Window のスクリーンキャプチャ|
|*.yuv|YUV 方式で作られた画像もしくは動画。https://fileinfo.com/extension/yuv)|
|*.cgm|Computer Graphics Metafile。「[特定のアプリケーション、システム、プラットフォーム、デバイスに依存しない2次元のグラフィックス情報の表現形式](https://ja.wikipedia.org/wiki/Computer_Graphics_Metafile)」|
|*.emf|Enhanced Metafile。「[Microsoft Windows上の画像ファイルフォーマットの1つ](https://ja.wikipedia.org/wiki/Windows_Metafile)」|
|*.axv|Annodex Video。「[which is built on the Ogg container format](https://fileinfo.com/extension/axv)|
|*.anx|Annodex Exchange。「[which enables indexing and annotation of contained video and audio](https://fileinfo.com/extension/anx)|
|*.ogv|Ogg Video|
|*.ogx|「[当初Xiph.Org FoundationはOgg共通の拡張子を.oggと定めていたが、2007年に共通の拡張子を.ogx ... に改めた](https://ja.wikipedia.org/wiki/Ogg)」|


## 01;36 (Aqua)

音声のグループ。

|拡張子|備考|
|------|---|
|*.aac|Advanced Audio Coding。「[MP3の後継](https://ja.wikipedia.org/wiki/AAC)」|
|*.au|「[simple audio file format introduced by Sun Microsystems](https://en.wikipedia.org/wiki/Au_file_format)」。(古い Java で使った記憶がある。)|
|*.flac|Free Lossless Audio Codec。オープンフォーマットであるのが特徴。|
|*.mid|Musical Instrument Digital Interface。「[2019年に、Ver.2.0となるMIDI 2.0の策定開始が発表された](https://ja.wikipedia.org/wiki/MIDI)」らしい|
|*.midi|同上|
|*.mka|Matroska Audio。|
|*.mp3|MPEG-1 Audio Layer-3。時代を牽引した。|
|*.mpc|Musepack。「[MPEG-1 Layer-IIをベースに独自に発展](https://ja.wikipedia.org/wiki/Musepack)」|
|*.ogg|この文脈 (音声) だと Ogg Vorbis Audio を指すと思われる (もともとは Ogg コンテナ共通の拡張子だった)。|
|*.ra|Real Audio。RealMedia Player で再生できる。ストリーミングに強い。|
|*.wav|「[マイクロソフトとIBMにより開発された音声データ記述のためのフォーマットである。RIFFの一種。主としてWindowsで使われるファイル形式である。](https://ja.wikipedia.org/wiki/WAV)」|
|*.axa|Annodex Audio。「[similar to the Ogg container format](https://fileinfo.com/extension/axa)」であり、[字幕や注釈と親和性の高い](https://en.wikipedia.org/wiki/Annodex)形式らしい。|
|*.oga|Ogg Audio。Ogg コンテナの音声部分。|
|*.spx|Ogg Speex。「[人声に特化](https://ja.wikipedia.org/wiki/Ogg)」|
|*.xspf|XML Sharable Playlist Format。Ogg などと同じく「[sponsored by the Xiph.Org Foundation](https://en.wikipedia.org/wiki/XML_Shareable_Playlist_Format)」とのこと|

# 所感

- gzip 系の亜種がたくさん出現したが、最終的には gzip が未だスタンダード。(分野によってはマイナーな形式も重宝されているかもしれない)
  - 全体的に、とりあえず gzip しとけば安心感がある
- LS_COLORS は Linux 上の定義なのに、Windows や MS-DOS 用の形式 (*.cab, *.bmp, *.wav, etc.) が数多く登録されていたのは、当時の Microsoft 系 OS の隆盛を示していたのだろうか?
- ダイアルアップ時代の古い形式が残っていたと思えば、*.ace など 2000 年代に流行って今は絶滅している (?) 形式もある。拡張子の登録/削除はどういう基準でなされているのだろう
- Linux というオープンソースな性質上、プロプライエタリな形式はあまり登録されていないと思っていたのだが、思いの外 RealMedia や QuickTime などが生き残っている。(今も使われているのだろうか?)
- 今回 Amazon Linux 2 上での LS_COLORS をみてみたが、他の OS ではどうなっているのか試してみたい