foo
ある時点のフォルダ内のディレクトリの内容(サブフォルダ構造を含む)を別のディレクトリに移動したいと思います。ファイルがソースフォルダに追加されている場合は、ファイルを移動しないでください。
プロセスの実行中に同様のコマンドを実行してmv foo/* bar/
フォルダにファイルを追加すると、どのような動作が見られますか?foo
ファイルが移動しました
ファイルが移動されませんでした。
ファイル名が現在移動中のファイルのファイル名の後に来ると、ファイルは移動されます。
その他の行動
Windows/DOSでは動作が異なりますか?説明されている問題に対する最も簡単な解決策は何ですか?
答え1
いいえ隠れ家mv
コマンドにワイルドカードも表示されないためです。
何が起こるのか?コマンドラインワイルドカードを展開し、拡張リストを次に渡します。mv
foo/1' and
したがって、foo / 2 and
foo / 3`がある場合は、次のようにします。
mv foo/* bar/
拡張される予定です。実際に走る
mv foo/1 foo/2 foo/3 bar/
シェルの拡張が完了し、mv
コマンドの実行が開始されると、ディレクトリへのすべての変更foo
(たとえば、foo/4
追加)はコマンドの一部にならないので保存されます。
このプロセスを言いますglobbing
。