多くのファイルを含むディレクトリがあります。ファイルをサブディレクトリに移動すると、mv myfile.* ./subdirectory/
約3秒ほど遅延が発生します。その後、ファイルが移動されます。
この遅延を防ぐにはどうすればよいですか?
背景は、このディレクトリをソートしたいということです。そのため、設定ファイルの内容を確認し、設定ファイルと他の2つのファイルを特別なサブディレクトリに移動するスクリプトを作成しました。
答え1
数十万を超えるファイルがある場合、見ている時間は、シェルがglobのすべての可能な拡張を認識するのにかかる時間ですmyfile.*
。つまり、myfile.
任意の数の異なる文字で始まるすべてのファイル名を見つけます。したがって、ファイルが多い場合は、確認する必要があるファイルが多くなり、少しの遅延が発生することを意味します。
遅延を避けるために、実際のファイル名を使用してくださいmv myfile.whatever ./subdirectory/
。これがオプションではなく、ファイル名を動的に見つける必要がある場合は、1つのディレクトリにあまりにも多くのファイルがないように、より多くのサブディレクトリを使用するか、待機を許可する方法を学びます。