
複数のファイルの名前を変更するシェルスクリプトを作成しました。残念ながら、誤ってWindows EOLとして保存したため、各ファイルの末尾にあるcontrol-m文字がファイル名を混乱させました。
別のミスを犯したときに、個別に名前を変更しました。
mv abc\ -\ 123.dat^M abc\ -\ 123.da
名前の末尾に「t」が欠けていて、ファイルがまだ存在するかどうかを確認していないことを発見した(疑いの理由がなかった)、すぐに次のことを行いました。
mv *.da *.dat
私のファイルが消えた。エラーもありません。
何を期待すべきかを知っている人はいますか?
私はCentOS 6を実行しており、OS FSはext4であり、この問題が発生するRAIDアレイのFSはXFSです。
ありがとう、E。
答え1
質問への回答はコメントにありますが、コメントに回答するにはフォーマットが必要です。mv
既存のファイルはデフォルトで置き換えられますが(ブロックされています-i
)、書き込み可能でない場合は置き換えられません(-f
上書き)。
ターゲットは存在しますか?ターゲットが存在します。 コマンドは存在せず、書き込むことができますが書き込みできません。 mv -iプロンプトプロンプトの生成 mv create REPLACEプロンプト mv -f 代替置換の生成