我正在寻找一种方法来列出目录中的前100个文件(按创建日期),而不必首先完成目录的完整列表,然后将其管道到另一个实用程序以截断结果。原因是目录中有很多文件。
跑步(ls -l | head -n 100)需要很长时间才能完成第一部分。一旦我获得前100个而不必阅读完整的目录内容,我想退出。
这可以在RHE Linux中实现吗?
答案 0 :(得分:1)
查找似乎比 ls 略快一些。我正在查看一个包含一千个空文件的目录。
时间命令非常有用......你猜对了......确定这需要多长时间。
time ls -l | head -n 100
real 0m0.014s
user 0m0.007s
sys 0m0.008s
time ls -1 |head -n 100
real 0m0.009s
user 0m0.006s
sys 0m0.006s
time find . -maxdepth 1 -type f |head -n 100
real 0m0.007s
user 0m0.003s
sys 0m0.005s
答案 1 :(得分:0)
由于您是从程序而不是命令行处理目录,因此系统调用process目录,应该使用opendir,closedir和readdir。从C程序使用这些系统调用很简单。我认为有一种方法可以使用Java中的这些调用。