rm -fでglobモードを使用して削除すると、どのファイルが最初に削除されますか?

rm -fでglobモードを使用して削除すると、どのファイルが最初に削除されますか?

次のパターンを持つ数千のファイルを含むフォルダがあります。 YYYYMMDD_HH24MISS_4DIGITSEQUENCE

例: 20180626_210123_0001

たとえば、コマンドで削除すると rm -f *20180626_1*正常に動作します。

私の質問は次のとおりです。 1. どのファイルを最初に削除する必要がありますか? 2. ランダムに選択されますか? 3. 選択においてどんな順序を維持すれば、どれを選択し、どのように決定しますか。

ベストアンサー1

シェルは Glob をアルファベット順に(現在のロケールで)拡張し、rm実装は次のようになります。可能引数で取得したファイルを取得した順序と同じ順序で削除します。したがって、あなたの場合、ファイルは最も古いものから削除されます。

グローブ結果の並べ替えPOSIXの要件。クイックテストでは、少なくともGNU rmはコマンドラインにリストされているファイルをリストされた順序で削除し、再帰操作中に見つかったファイルをソートしません。

おすすめ記事