Ubuntu 16.04: "~/*" を対象とした "mv" を誤って実行し、結果を理解できません。

Ubuntu 16.04: "~/*" を対象とした "mv" を誤って実行し、結果を理解できません。

/etc/apt/sources.list.dMongoDBを3.4から3.6にアップグレードしようとすると、このディレクトリに入りました。そこからファイルを私のホームディレクトリに移動したいと思いますmongodb-org-3.4.listmongodb-org-3.4.list.save

私は最初に1つを実行しましたmv mongodb-org-3.4 ~/*。何らかの理由でワイルドカードをコマンドの最後に移動しました。通知を見た後、再入力して最後にワイルドカード文字を追加してmv: cannot stat 'mongodb-org-3.4': No such file or directory問題を「修正」しました。mv mongodb-org-3.4* ~/*私はsudoを使用せず、ルートではありません。

mv mongodb-org-3.4* ~/*私が受け取った答えとして

mv: cannot remove 'mongodb-org-3.4.list': Permission denied
mv: cannot remove 'mongodb-org-3.4.list.save': Permission denied
mv: inter-device move failed: '/home/user/atlassian' to '/home/user/windows-storage/atlassian'; unable to remove target: Directory not empty
mv: inter-device move failed: '/home/user/data' to '/home/user/windows-storage/data'; unable to remove target: Directory not empty
mv: cannot create symbolic link '/home/user/windows-storage/dockervolumes/sharemanager': Read-only file system

その後、そのディレクトリに行き、/home/user/windows-storagels'dを試してみると、私のホームディレクトリがすべてこのインストールディレクトリにコピーされた可能性があります。

私は何かを傷つけましたか?それとも、ホームディレクトリをこのインストールディレクトリにのみコピーするのですか?

このmvコマンドはなぜこのように動作しますかcp

まあ、ファイルが移動されましたが、すべて移動されたわけではありません。なぜなら、Ctrl完了するのに異常に長い時間がかかった\からです。

答え1

アスタリスクはシェルによって拡張されたため、結果のコマンドは次のようになります。

mv mongodb-org-3.4.list mongodb-org-3.4.list.save ... ~/atlassian ~/... ~/data ... ~/windows-storage

(公開されたエラーに基づいています)したがって、リストされているmvすべてのファイルとディレクトリを次に移動するように指示しました~/windows-storage。ホームディレクトリの内容はコピーされずに移動されました。

復元するには、すべてのコンテンツを確認し、~/windows-storageそのコンテンツを再度移動する必要があります(注*)。

関連情報