'!?' というディレクトリを作成できません。

'!?' というディレクトリを作成できません。

私は Linux を使っていて、!?FAT32 でフォーマットされたフラッシュ ドライブに というディレクトリを作成したいと考えています。GUI でも であれ、何を試してもmkdirというディレクトリを作成できません!?。ただし、ホーム ディレクトリなど他の場所では作成できます。なぜフラッシュ ドライブではこれができないのでしょうか?

答え1

Wikipediaのこの表「ディレクトリ エントリに許可される文字」列があります。FAT32 のエントリには次のように記載されています。

[…] を除外するNUL" * / : < > ? \ |

選択した名前には、許可されていないが!?含まれています。別の名前または別のファイルシステムを選択してください。NTFSでは技術的には可能ですが、??Windowsで問題ありしたがって、この特定のディレクトリ名が必要な場合、NTFS は必ずしも適切な選択ではありません。

答え2

シンボルの前にエスケープ文字を使用する必要があります!

ディレクトリを作成するには、!?コマンドを(とmkdir \!?の間にスペースを入れない) または(二重引用符ではなく一重引用符) として記述する必要があります。\!mkdir '!?'

通常、はイベントを参照するために使用されると思います!。正直なところ、私はそれについてあまり詳しくありません。エスケープ文字を使用してディレクトリを作成する方法を知っているだけです。そうすれば、シェルはその文字を文字通りに解釈します。

関連情報