【问题标题】:How to use bash to test directory limits of filesystem如何使用 bash 测试文件系统的目录限制
【发布时间】:2011-05-15 20:11:57
【问题描述】:

我需要测试我可以在文件系统(网络安装和本地 (usb) 驱动器)上创建多少目录和文件。我现在使用这个 bash 行:

for i in {0..999999}; do mkdir -p $i; pushd $i; done

我知道它可能可以做得更好,我想知道如何做。 (在 bash 中,不太复杂)

【问题讨论】:

  • 不确定pushd,但是使用cd的方法,没有限制(超出磁盘空间)。
  • 一般情况下使用大范围的 {START..END} 是个坏主意:bash 会扩展它们,因此会占用大量 RAM。
  • 没关系,我这个盒子有8GB...

标签: bash mkdir limits


【解决方案1】:

任何文件/目录都使用inode 表示,查看df -i,您应该大致了解可以创建/使用的文件/目录的数量。

【讨论】:

    【解决方案2】:
    while (true); do
      mkdir a
      cd a
    done
    

    创建类似./a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/...

    【讨论】:

    • 除了使用cd 而不是pushd 之外,我真的不认为这比提问者的解决方案更好。
    • @Ignacio Vazquez-Abrams:没有 for 循环,而是一个 while 循环。我认为它有点清洁。
    • 除了现在它可以永远运行,导致硬盘耗尽inode,婴儿哭泣,小猫死亡。
    • @Ignacio Vazquez-Abrams:pushd 必须记住它所在的所有目录。因此它会在达到任何磁盘限制之前耗尽内存。
    • OP想要找到极限,唯一的办法就是达到极限:-)。
    【解决方案3】:

    cd 方法实际上效果更好更快...我的 ext4 USB 记忆棒开始模拟大约 1040 个文件夹...

    网络部分是为了测试我的wins2k3配置,但我的virtualbox目前失败了,因为我认为我搞砸了……

    【讨论】:

      猜你喜欢
      • 2012-04-06
      • 1970-01-01
      • 2012-10-18
      • 2023-01-17
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 2017-04-27
      相关资源
      最近更新 更多