使用“mv”命令时的延迟

使用“mv”命令时的延迟

我有一个包含许多文件的目录。如果我通过 移动文件到子目录mv myfile.* ./subdirectory/,会有大约 3 秒的延迟。然后文件被移动。

我怎样才能避免这种延迟?


背景是,我想对这个目录进行排序。因此,我编写了一个脚本来检查配置文件的内容,并将配置文件和其他 2 个文件移动到一个特殊的子目录。

答案1

如果您有数十万个或更多文件,那么您看到的时间就是 shell 识别 glob 所有可能的扩展所需的时间myfile.*。这意味着它会查找以myfile.任意数量的任何其他字符开头的所有文件名。因此,当您有很多文件时,这意味着需要检查很多文件并且会出现一些滞后。

为了避免延迟,请使用实际的文件名:mv myfile.whatever ./subdirectory/.如果这不是一个选项,并且您需要动态查找文件名,那么要么开始使用更多子目录,这样您的目录中就不会有太多文件,或者只是学会忍受等待。

相关内容