特別なファイル名

特別なファイル名

[16] ファイル名には特別扱いされるものがあります。 ファイルシステムプラットフォームの仕組み上の特殊な名前もあれば、 特定のアプリケーションに限定されるものや、 仕組み的な特殊性はないものの慣習が存在するものなどいろいろあります。

Unix の特別なファイル名

[1] Unix では . から始まるファイル名隠しファイルを表す慣習となっています。

[12] ここから派生して、ホームディレクトリー下に . から始まりアプリケーション名等が続くディレクトリーファイルで設定ファイル、 一時ファイル等を配置する慣習があります。

[2] Unix ではディレクトリーに特別なディレクトリー ... が自動作成されます。

[3] 標準入出力を表すために - が使われることがあります。 - (Unix)

[4] シェルの多くは ~ を自身のホームディレクトリーに、 ~ + ユーザー名を当該ユーザーホームディレクトリーに展開します。 ~

[5] エディターバックアップを自動作成する場合、 元のファイル名の末尾に ~ をつける慣習があります。

[13] 一般的なファイルは小文字の名前を与え、 README, LICENSE, Makefile 等目につかせたいファイルに大文字の名前を与える慣習があります。 ls 等で整列して表示されたときにまとまって表れてわかりやすいためと説明されています。 ファイル配置

[25] Unixプログラムの多くは - から始まる引数オプションの指定と解釈します。 -- (Unix) も参照。

[26] Unix では NULL (0x00) をファイル名に含められません。

[28] Unix では /ファイル名に含められません。

[27] Unix ではファイル名バイト列として扱われます。 プログラム次第、ロケール次第で UTF-8 などの文字コードと解釈されます。 結果として特定のプログラム (や特定のロケール指定) で扱えない文字コードを含むファイル名が存在してしまうことがあります。

[29] シェル空白コマンドライン引数の区切り、 \escape と解釈します。 $, ", ' その他も解釈されることがあります。

Windows の特別なファイル名

[20] ショートカット (.lnk.url など) はエクスプローラー拡張子表示モードにしても、 拡張子が隠されて表示されます。

[18] desktop.iniエクスプローラーの機能の指定に使われます。

[19] CLSID拡張子とするフォルダーエクスプローラーで特別に表示されます。

[21] SCF ファイルエクスプローラーフォルダー表示時に処理されます。

[23] Thumbs.db

[8] .files

[24] $mftNTFS で特別な意味を持ちます。

[9] \\.\

[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 として禁止しているわけではないので、他の方法で作ることはできますし、 エクスプローラーファイル名変更以外は通常のファイル名のように扱えます。

[30] ~ と整数は自動的に割り当てられる短いファイル名で使われます。

アプリケーション依存の特別なファイル名

[6] RCS は元のファイル名,v をつけたファイル名バージョン管理に使います。

[10] ZIPファイル内: META-INF/

[11] HTTP(S) URL: 特別なHTTP(S) URL, /.well-known/

[17] アプリケーションライブラリーパッケージ: ファイル配置

関連

file:

メモ