可以嵌套多少个目录?

Aar*_*sau 13 linux filesystems directory mkdir

我很好奇,可以嵌套多少个文件夹,为什么?有限制吗?

我所说的嵌套是指文件夹处于这种结构中时:

folder
 |_ folder
     |_ folder
         |_ folder
             |_ ...
Run Code Online (Sandbox Code Playgroud)

不是这样的:

folder
 |_ folder
 |_ folder
 |_ folder
 |_ ...
Run Code Online (Sandbox Code Playgroud)

如果有限制,是操作系统设置的,还是文件系统设置的?

Jul*_*ier 20

限制将是inode分区上的s数,因为目录(如常规文件)每个都采用一个 inode。

没有什么可以阻止您在另一个目录内的目录内创建目录,依此类推,直到您用完inodes。

请注意,shell 的命令行确实有一个最大长度,这可能会导致路径非常长的问题,但仍然可以cd逐步进入目标文件。

  • @JuliePelletier POSIX(和 Linux)API 定义了最大 PATH_MAX(Linux 上为 4096),这比命令行的最大长度短得多。虽然我们在吹毛求疵:最大命令行并不是真正的 shell 限制。该限制由参数向量长度施加到 `execve` 系统调用,因此适用于任何程序。 (3认同)
  • 事实上,通过实验,这就是 `mkdir -p` 所做的,它允许超过 `MAX_PATH`。此类文件无法通过其规范路径打开,但可以毫无问题地创建它们。 (2认同)
  • @Arin 试试`df -i`。 (2认同)