いくつのディレクトリをネストできますか?


13

私は興味があります、いくつのフォルダーをネストできますか、そしてなぜですか?制限はありますか?

ネストが意味するのは、フォルダーがこの構造にあるときです。

folder
 |_ folder
     |_ folder
         |_ folder
             |_ ...

これは好きではありません:

folder
 |_ folder
 |_ folder
 |_ folder
 |_ ...

制限がある場合、オペレーティングシステムまたはファイルシステムによって設定されていますか?

回答:


20

inode通常のファイルのようにディレクトリはそれぞれiノードを取るため、制限はパーティションのs の数になります。

inodes がなくなるまで、別のディレクトリ内のディレクトリ内にディレクトリを作成することを妨げるものは何もありません。

シェルのコマンドラインの最大長は、実際に長いパスで問題を引き起こす可能性がありますがcd、ターゲットファイルに向かって徐々に進行する可能性があることに注意してください。


2
実際、実験により、これは何をするかでmkdir -pあり、それを超えることができますMAX_PATH。そのようなファイルは正規のパスで開くことはできませんが、問題なく作成できます。
DepressedDaniel

1
実際にはかなり論理的です。相対パスは、現在の作業ディレクトリであるiノードから始まります。iノードは階層的に配置されていません。名前の階層で深くリンクされているディレクトリとファイルシステムのルートディレクトリの間にこの点で違いはありません。
ヨハンMyréen16年

3
@JuliePelletier POSIX(およびLinux)APIは、最大PATH_MAX(Linuxでは4096)を定義します。これは、コマンドラインの最大長よりもはるかに短いものです。そして、私たちはちょっとした選択をしていますが、最大のコマンドラインは実際にはシェルの制限ではありません。この制限は、execveシステムコールの引数ベクトルの長さによって課されるため、すべてのプログラムに適用されます。
ヨハンMyréen16年

1
@JohanMyréen:これらは良い観察ですが、私のポイントは、それがどれほど深くても、比較的アクセスしやすいということでした。
ジュリーペレティエ

2
試してみてください@Arin df -i
ヨハンMyréen16年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.