当前位置:首页>Linux>Linux下如何创建500000+个文件?你总不能不考虑速度吧!

Linux下如何创建500000+个文件?你总不能不考虑速度吧!

  • 2026-08-21 09:58:03
Linux下如何创建500000+个文件?你总不能不考虑速度吧!
脚本之家 设为“星标第一时间收到文章更新
出处:浩道linux(ID:hao_tiyu)
大家好,我是浩道,最近在对实习生考核测试中发现,关于运维效率提升方面的仍有待改进。一个比较典型的问题:Linux下如何创建500000+个文件?发现它们多数给的方案,都是实现目标结果就行!作为运维工程师,这远远不够的,我们得考虑创建效率,下边就针对这个问题一起看看都有哪些更快的创建方案呢!
我们这里采用time命令+创建文件命令来测试各个创建方法所用的时长,让大家看得一目了然。
方法1:使用 touch 命令和循环
time for i in {1..500000}; do touch file_$idone
或者
for ((i=1; i<=500000; i++)); do touch file_$idone
命令执行结果如下图:
可以看出执行所需时长大概16分钟13秒左右。
方法2:使用 touch + xargs
time seq 1 500000 | xargs -I {} touch file_{}
并行版本更快
seq 1 500000 | xargs -P $(nproc) -I {} touch file_{}
命令执行结果如下图:
可以看出执行所需时长大概9分钟4秒左右。
方法3:使用 printf + xargs
time printf 'file_%s\n' {1..500000} | xargs touch
命令执行结果如下图:
可以看出执行所需时长大概15.2秒左右。
方法4:使用 Perl 或 Python 脚本
time perl -e 'for(1..500000){open($fh,">","file_$_");close $fh}'
python脚本
python3 -c "import os; [open(f'file_{i}''w').close() for i in range(1, 500001)]"
命令执行结果如下图:
可以看出执行所需时长大概15.4秒左右。
综上所述,可以看出对于创建50万文件,推荐使用 printf + xargs 方法,它通常是最快且最可靠的。当你完成目标并且考虑到效率了,你就可以甩开别人,成为那条街最靓的仔啦!

END

  推荐阅读:
  1. posix是什么都不知道,就别说你懂Linux了!
  2. 8种方法,让你找到Linux系统中“xx”软件安装在哪个路径!
  3. 英特尔裁员裁出个"孤儿":Linux核心项目竟然没人管了
  4. 你认为 Linux 最差的用户体验是什么?

  5. 今天,Linux文件系统部门来了一个新人···

最新文章

随机文章