たとえば、次のようにします。
cat /etc/passwd
このファイルに*.txt*
、*.dat*
などの拡張子が付いていないのはなぜですか?または、拡張機能は存在しますが、非表示になっているだけですか?
これはUnixライクなシステムに厳密に適用されますか?
拡張子はありません。理由はありません。これはUnixに固有のものではありません。 UnixまたはWindowsではファイル拡張子を付ける必要はありません。 Windowsは、ファイルをダブルクリックしてもファイルをどう処理するかを認識しませんが、ファイルを作成したプログラムはおそらく認識します。
ほとんどの(すべてではないにしても)レガシーの非Unixファイルシステムは、ファイル名自体とその拡張子の2つの部分(少なくとも)で構成されるファイル名を持っていました。たとえば、FATは、区切り文字ドットが格納されていない固定長構造(8.3)を使用していました。この構造は、新しいFATスキームでも引き続き存在します。 Unixは(AFAIK)、拡張子固有のストレージや要件のないファイル名を導入した最初のOSでした。拡張機能は、ソースコード、オブジェクト、ライブラリ、マニュアルページなど、いくつかの場合にUnixで使用されますが、ほとんどのUnixユーティリティおよびアプリケーションは、ファイルタイプを把握するために、さまざまなヒューリスティックを気にせず、使用します。