2009-05-15 22 views
23

私の古いディレクトリと新しいディレクトリには、同じフォルダとファイルがあります。ディレクトリを移動するLinuxコマンド

私が試してみてください。

mv -if old/* new/* 

とエラー

MVを取得する:私はそれを移動することができますどのように自分自身のサブディレクトリに

を `./xxxxxx」を移動することはできませんか?

+10

これをStackOverflowに属している完全に良い質問です。確かに、それは素朴な間違いですが、それはSOのためです。それは人々が質問をし、回答から学ぶことを可能にすることによって、無礼を克服するのに役立ちます。 SO BlogとPodcast#53を参照してください(JoelはStack Overflowにはあまりにも簡単な質問はないと言っています)。 –

+0

しかし、それはプログラミング上の問題ではありません。それはServerFaultに属していませんか? –

+0

ServerFaultはまだプライベートベータです! – alamar

答えて

29

mv -if old/* new/には、末尾に*を付けないでください。

これは、新しい/バズ

にすべてを移動する、すなわち

mv -if old/foo old/bar old/baz new/foo new/bar new/baz 

に繰り出さので、これはあなたが望んだものではありませんです。

+0

私は間違いを書きました。 mv -if old/* new/ が動作しない – Qooe

+2

「動作しません」は役に立たない。それは何と言いますか?試してみるとどうなりますか? – alamar

5
[email protected]:/tmp/experiment$ ls a 
11 22 33 
[email protected]:/tmp/experiment$ ls b 
22 33 
[email protected]:/tmp/experiment$ ls 
a b 
[email protected]:/tmp/experiment$ mv a/* b 
[email protected]:/tmp/experiment$ ls a 
[email protected]:/tmp/experiment$ ls b 
11 22 33 

これは機能します。達成しようとしていることは何ですか?入力データがどのように表示され、出力データがどのように表示されるかの簡単な例を書いてください。真実はあなたが何をしようとしているのか分かりません。

1

ext2/3/4ファイルシステムからFAT32ファイルシステムにコピーしていて、ファイル名にFAT32命名規則に無効な文字が含まれていると、このエラーは非常に厄介なエラーメッセージになります。どのように私は知っていますか?私はこのバグに取り組んだ - はい、それはケルネルバグです - それが私にもたらされる前に6時間。私はそれがシェルインタプリタのエラーだと思った、私はそれが "mv"エラーだと思った - 私は複数の異なるシェルを試した。この実験を試してみましょう:extファイルシステムでは、 "a:b 'をタッチするとFAT32ファイルシステムに" mv "します。試してみると、結果を楽しむ(憎む)でしょう。 '<'と '>'(\ 074と\ 076)についても同様です。

「man mv」のおかげで本当に大きな助けとなりました。あなたの仕事をやめないでください。

1

あなたは答えを得ているかもしれませんが、上記の答えは私のために働いていません....そして最後に多くの研究をして、答えを得ました。 (問題はファイルの所有権に起因する)
そしてコマンドとその動作の前にsudoを置くだけです:) cpとmvコマンドでも同じことです。

sudo mv -if old/* new/ 
2

/をmvをノート* B /ファイルを移動しません*//

元Bにインチ(ファイル名で始まり ''):

$ mkdir -p a/d b && touch a/f a/.f a/d/.f 
$ mv a/* b/ 
$ ls -a a/ 
. .. .f 
関連する問題