「mv」がファイルグループを単一の一般ファイルに移動するのを防ぐ方法は?

「mv」がファイルグループを単一の一般ファイルに移動するのを防ぐ方法は?

私が犯した愚かなミスは、オーディオコレクションの一部を失った。 :-(
最近のバックアップがあって幸いですが、まだ面倒です。実際のバックアップに加えて、別のいたずらの原因は、次のようにmv表示されることです。

オーディオファイルには特定のスキームがあります。

ARTIST - Some Title YY.mp3

YY2桁の年仕様はどこにありますか?

mkdir 90<invisible control character>

(これまでは目に見えない追加文字の3分の1を実際に入力していることを全く知りませんでした…!) すべてを
一つのディレクトリに入れる代わりに、90年代の音楽をすべて一つのディレクトリに入れたいと思いました。だから私は次のように入力します:

find . -name '* 9?.mp3' -exec mv {} 90 \;

何が起こっているのか理解するのは難しくありませんか? :->
(悲劇的な)結果は処女でした。「90」というディレクトリ'(そして「見えない」制御文字です)とファイル「90」と呼ばれるN移流。

すべてのファイルが消えた。 :-(((確かに)

mvそれを望む確認済み時間内にターゲット「ファイル」が署名されているかどうか(* NIXで記憶:すべてがファイルですd------)は(例えば)で始まりますdrwxr-xr-x。もちろん目的地に関係なく存在する別言します。単に次の場合、上記のシナリオにバリエーションがあります。忘れるまずmkdirディレクトリに移動します。 (もちろんそこにいると仮定しますが…)

私たちが嫌いなオペレーティングシステムも大文字で始まります。ワットはい。あなたは均等化することができますヒント必要に応じて、ターゲットタイプ(ファイル?ディレクトリ?)を指定します。

mvだから私たちの* NIXユーザーがこれらの最小限の驚きを避けるためにまだ「スクリプトレット」を書く必要があるかどうか疑問に思います。

ベストアンサー1

/ファイルをディレクトリに移動するには、ターゲットの場所にを追加します。ディレクトリが存在しない場合、次のエラーが発生します。

mv somefile somedir/
mv: cannot move ‘somefile’ to ‘somedir/’: Not a directory

ディレクトリが存在する場合は、ファイルをそのディレクトリに移動します。

おすすめ記事