mvのような再帰コマンドはファイルリストをキャッシュしますか?

mvのような再帰コマンドはファイルリストをキャッシュしますか?

fooある時点のフォルダ内のディレクトリの内容(サブフォルダ構造を含む)を別のディレクトリに移動したいと思います。ファイルがソースフォルダに追加されている場合は、ファイルを移動しないでください。

プロセスの実行中に同様のコマンドを実行してmv foo/* bar/フォルダにファイルを追加すると、どのような動作が見られますか?foo

  • ファイルが移動しました

  • ファイルが移動されませんでした。

  • ファイル名が現在移動中のファイルのファイル名の後に来ると、ファイルは移動されます。

  • その他の行動

Windows/DOSでは動作が異なりますか?説明されている問題に対する最も簡単な解決策は何ですか?

答え1

いいえ隠れ家mvコマンドにワイルドカードも表示されないためです。

何が起こるのか?コマンドラインワイルドカードを展開し、拡張リストを次に渡します。mv

foo/1' andしたがって、foo / 2 andfoo / 3`がある場合は、次のようにします。

mv foo/* bar/

拡張される予定です。実際に走る

mv foo/1 foo/2 foo/3 bar/

シェルの拡張が完了し、mvコマンドの実行が開始されると、ディレクトリへのすべての変更foo(たとえば、foo/4追加)はコマンドの一部にならないので保存されます。

このプロセスを言いますglobbing

関連情報