私の古いディレクトリと新しいディレクトリには、同じフォルダーとファイルが含まれています。
私は試します:
mv -if old/* new/*
エラーが発生します
mv: `./xxxxxx' をそれ自体のサブディレクトリに移動することはできません
どうすれば移動できますか?
私の古いディレクトリと新しいディレクトリには、同じフォルダーとファイルが含まれています。
私は試します:
mv -if old/* new/*
エラーが発生します
mv: `./xxxxxx' をそれ自体のサブディレクトリに移動することはできません
どうすれば移動できますか?
mv -if old/* new/
末尾の なしで使用する必要があります*
。
これは、展開したためです。
mv -if old/foo old/bar old/baz new/foo new/bar new/baz
つまり、すべてを new/baz に移動します
これはあなたが望んでいたものではありません。
reef@localhost:/tmp/experiment$ ls a
11 22 33
reef@localhost:/tmp/experiment$ ls b
22 33
reef@localhost:/tmp/experiment$ ls
a b
reef@localhost:/tmp/experiment$ mv a/* b
reef@localhost:/tmp/experiment$ ls a
reef@localhost:/tmp/experiment$ ls b
11 22 33
できます。あなたは何を達成しようとしていますか?入力データがどのように見えるべきか、出力データがどのように見えるべきかの簡単な例を書いていただけますか? 真実は、あなたが何をしようとしているのかわからないということです:)助けてください。
mv a/* b/ は、a/ のファイル .* (「.」で始まるファイル名) を b/ に移動しないことに注意してください。
元:
$ mkdir -p a/d b && touch a/f a/.f a/d/.f
$ mv a/* b/
$ ls -a a/
. .. .f
あなたは答えを得たかもしれませんが、上記の答えは私にはうまくいきません....そして最終的に私は答えを得ました。(問題はファイルの所有権によるものです)
そして、コマンドとその動作の前にsudoを置くだけです...:)cpとmvコマンドについても同じです。
sudo mv -if old/* new/
ext2/3/4 ファイル システムから FAT32 ファイル システムにコピーしていて、ファイル名に FAT32 命名規則に対して無効な文字が含まれている場合、この非常に煩わしく、間違ったエラー メッセージが表示されます。どうすればわかりますか?私はこのバグに取り組んでいました - はい、それはカーネルのバグです - 私に夜明けする前に 6 時間。これはシェル インタープリター エラーだと思いました。「mv」エラーだと思いました。複数の異なるシェルをすべて試しました。この実験を試してみてください: ext ファイル システムで、"touch 'a:b'" を FAT32 ファイル システムに "mv" します。試してみてください。結果を楽しむ (嫌う) でしょう。'<' と '>' (\074 と \076) も同様です。
「man mv」に感謝します。これは本当に大きな助けになります。日常の仕事をやめないでください。