[16] ファイル名には特別扱いされるものがあります。 ファイルシステムやプラットフォームの仕組み上の特殊な名前もあれば、 特定のアプリケーションに限定されるものや、 仕組み的な特殊性はないものの慣習が存在するものなどいろいろあります。
[1] Unix では .
から始まるファイル名は隠しファイルを表す慣習となっています。
[12] ここから派生して、ホームディレクトリー下に .
から始まりアプリケーション名等が続くディレクトリーやファイルで設定ファイル、
一時ファイル等を配置する慣習があります。
[2] Unix ではディレクトリーに特別なディレクトリー
.
、..
が自動作成されます。
[3] 標準入出力を表すために -
が使われることがあります。
[4] シェルの多くは ~
を自身のホームディレクトリーに、
~
+ ユーザー名を当該ユーザーのホームディレクトリーに展開します。
[5] エディターがバックアップを自動作成する場合、
元のファイル名の末尾に ~
をつける慣習があります。
[13]
一般的なファイルは小文字の名前を与え、
README
, LICENSE
, Makefile
等目につかせたいファイルに大文字の名前を与える慣習があります。
ls
等で整列して表示されたときにまとまって表れてわかりやすいためと説明されています。
[25]
Unix のプログラムの多くは -
から始まる引数をオプションの指定と解釈します。
--
(Unix) も参照。
[26]
Unix では NULL
(0x00) をファイル名に含められません。
[28]
Unix では /
をファイル名に含められません。
[27] Unix ではファイル名はバイト列として扱われます。 プログラム次第、ロケール次第で UTF-8 などの文字コードと解釈されます。 結果として特定のプログラム (や特定のロケール指定) で扱えない文字コードを含むファイル名が存在してしまうことがあります。
[29]
シェルは空白をコマンドライン引数の区切り、
\
を escape と解釈します。
$
, "
, '
その他も解釈されることがあります。
[20] ショートカット (.lnk
や .url
など) はエクスプローラーを拡張子表示モードにしても、
拡張子が隠されて表示されます。
[18] desktop.ini
はエクスプローラーの機能の指定に使われます。
[19] CLSID を拡張子とするフォルダーはエクスプローラーで特別に表示されます。
[21] SCF
ファイルはエクスプローラーでフォルダー表示時に処理されます。
[14] 本の虫: Rustのパッケージマネージャーでパッケージ名nulを作ったら全Windowsユーザーのパッケージマネージャーが壊れた話 () https://cpplover.blogspot.jp/2017/05/rustnulwindows.html
[15] 「nul」という名称のRustパッケージ、Windowsユーザーに不具合を起こす | スラド デベロッパー () https://developers.srad.jp/story/17/05/12/0652223/
[22] 8-1. Windowsパス名の落とし穴 () https://www.ipa.go.jp/security/awareness/vendor/programmingv1/b08_01.html
[7] Unix 同様に .
や ..
をディレクトリー名として使えます。
Windows 95 以降、アプリケーションによっては ...
など .
を更に加えて上位階層を表すことができます。
[31]
Windows のエクスプローラーは .
から始まるファイル名に変更することを受け付けません。
Windows として禁止しているわけではないので、他の方法で作ることはできますし、
エクスプローラーもファイル名変更以外は通常のファイル名のように扱えます。
[6] RCS は元のファイル名に ,v
をつけたファイル名をバージョン管理に使います。