寻找一种在 Linux 上预先创建目录以用于存储大量文件的方法。
我们将使用全局唯一标识符- 我需要将这些文件的副本保存在 Linux Web 服务器上。我计划使用子目录来拆分文件(它是 ext3)... 例如,文件名 055c102b-62fb-4671-a3c7-68b9515ec53e.swf 将位于 /data/files/0/5/5/055c102b-62fb-4671-a3c7-68b9515ec53e.swf(将前 3 个字符作为目录名)
我的问题是 - 如何提前创建 /data/files/?/?/?/ 目录?其中 ? 可以是 az 或 0-9
答案1
使用 Bash 我认为它是:
mkdir -p {{a..f},{0..9}}/{{a..f},{0..9}}/{{a..f},{0..9}}
不过,根据需要创建它们可能更有意义。
我认为由于它是十六进制,因此这为 x = 树深度提供了 16^x 目录,但来自 stackoverflow 的某个人可能可以更好地解释这一点和/或确认这是否准确。