最新バージョンのLinuxディストリビューションでは、ファイルとディレクトリの命名にスペースを入れることができます。これを無効にし、ファイルシステムの命名にスペースがない古いUNIX標準に戻る方法があるかどうかを知りたいです。そしてUbuntu
。RHEL
Fedora
答え1
これは不可能です。また、「ほとんどのLinuxディストリビューションの最新バージョン」が何を意味するのかを説明してください。私の知る限り、スペースは1974年に作成されたUNIX System Vファイルシステムの最初のバージョンからサポートされました。
答え2
/
他のほとんどのUnixバリアント(元のバージョンを含む)と同様に、Linuxでは常にファイル名にnullとnull以外のすべてのバイトを含めることができます。
これを変更するには、カーネルでファイルシステムコードを変更する必要があります。私はこれを行う既存のパッチを知りません。サポートされていないファイル名を生成しようとしたときに発生する標準エラーコードはなく、特にファイル名またはパスの長さが大きすぎる場合にはENAMETOOLONGのみがあります。 EINVALは合理的な選択です。 LinuxのFATドライバが使用するものです。
POSIX は以下を定義します。移植可能なファイル名文字セットこれはASCII文字、数字、および3つの句読点で構成されています.-_
。しかし、多くのUnixアプリケーションは、他の文字が動作することを望んでいます。一部のプログラムには名前が含まれています+
(例c++
:)、X11、Perlで必要:
、CVSで必要,
、Emacsで必要#
、Gnomeで必要%
(gconfの場合)、多くのプログラムで~
バックアップファイルが必要、一部のプログラムで%
URLエンコーディングが必要といくつかのプログラムは=
Base64+
などが欲しい。