web-dev-qa-db-ja.com

無効なLinuxファイル名はありますか?

ファイル名を表さないことが保証されている文字列を作成したい場合は、Windowsで次の文字のいずれかをその文字列に含めることができます。

\ / : * ? | < >

例えば.

this-is-a-filename.png

?this-is-not.png

Linuxで文字列を「ファイルではない」と識別する方法はありますか?

49
izb

ほとんど制限はありません-'/''\0'を除いて、何でも使用できます。ただし、 一部の人々 は、これほどの柔軟性を許可することは良い考えではないと考えています。

42
Vinay Sajip

空の文字列は、Linuxで唯一無効なパス名です。無効な名前が1つだけ必要な場合は、これでうまくいく場合があります。 「///foo」のような文字列を使用することもできます。これはcanonicalパス名ではありませんが、ファイル( "/foo")を参照することはできます。 /dev/null/fooにはPOSIXで定義された非ディレクトリの意味があるため、別の可能性は「/dev/null」のようなものになります。通常のファイルを参照できない文字列だけが必要な場合は、「/」または「.」を使用できます。これらは常にディレクトリであるためです。

15
mark4o