Unixで '/'を使ってディレクトリを作成するには?

Unixで '/'を使ってディレクトリを作成するには?

次の名前でディレクトリを作成したいと思います。

A3456/90876/IN AS%90876 JI KOL

答え1

/(U + 002F)はパスコンポーネントの区切り記号であり、明らかにファイル名には使用できませんが、非常に似ているいくつかの組み合わせ区切り記号()もあるため、必要 ̸応じて代わりに使用できます。システムを使用している人。

たとえば、

mkdir A3456⁄90876⁄IN

1つのコマンドでINディレクトリ90876内のディレクトリを作成するには、次の手順を実行します。A3456

mkdir -p A3456/90876/IN

答え2

この文字は、/ディレクトリ名を含むファイル名には許可されません。これはいつも 区切り文字として解釈されるパス名コンポーネント間。

源泉:

パス名

ファイルを識別するために使用される文字列です。 POSIX.1-2008の文脈では、パス名は終了ヌルバイトを含む{PATH_MAX}バイトに制限される可能性があります。オプションの開始<スラッシュ>文字が続き、その後に<スラッシュ>文字で区切られた0個以上のファイル名が続きます。パス名には、オプションで、1 つ以上の <スラッシュ> 文字を含めることができます。連続する複数の <slash> 文字は、前に <slash> 文字が正確に 2 つある場合を除き、1 つの <slash> と同じように処理されます。

メモ:

パス名は、サポートされているすべての文字列として使用できます。それ以外の場合、パス名は文字列ではなく文字列にすることができます。さらに、<スラッシュ>文字のシングルバイトエンコーディング要件はすべてのロケールで同じであり、マルチバイト文字内では発生できないため、パス名の<スラッシュ>文字への参照は明確に定義されています。パス名は文字列ではありません。ただし、このプロパティは、移植可能なファイル名文字セットの残りの文字に必ずしも適用されるわけではありません。

パス名解決は、以下で詳細に定義されています。パス名の確認

Open Group基本仕様7号、容量基本定義、第3章「定義」、SV3.271パス名)

答え3

あなたはできません。これは明示的に禁止されています。パス/ファイル名のPOSIX定義:

3.170 ファイル名

ファイル名の指定に使用される 1 から {NAME_MAX} までのバイト列です。名前を構成するバイトには、<NUL>または <slash>文字を含めないでください。。パス名の文脈では、各ファイル名の後には1つ<slash>以上の<NUL>文字が続く必要があります。他の場所では、ファイル名の後に文字が続くと<NUL>文字列が形成されます(必ずしも文字列である必要はありません)。ファイル名 dot と dot-dot には特別な意味があります。ファイル名は「パス名コンポーネント」とも呼ばれます。パス名も参照してください。

関連情報