
非常に奇妙な問題に直面しました。 Aディレクトリのすべての内容を同じドライブのBディレクトリに移動することはできません。サイズは500GBで、空き容量は24GBですが失敗します。ファイルを移動するにはなぜ500GBのスペースが必要なのですか?
Krusader、Dolphin、mv、mcコマンドなど、さまざまなファイルマネージャを試しましたが、すべて失敗しました。理由は簡単です。ファイルを移動して削除するのではなく、最初にすべてのファイルをコピー先の場所にコピーしてから、元の場所から削除します。 500GBの空き容量がないので、これは明らかに私が望むものではありません。
ファイルがすでに存在するディレクトリに移動できないため、mvコマンドは失敗します(サブディレクトリはファイルと見なされ、奇妙な理由ですべてのツールが移動またはコピーされる前に最初にすべてのディレクトリを作成するため、空の場合も同様です)。
確かにファイルごとに、または個々のディレクトリごとに実行できますが、これは190,000個のファイルと数千のディレクトリを含むDropboxフォルダなので、不可能です。
私が考える可能な解決策は何ですか?ファイルを移動した直後にソースから削除できるGUIツール(TUIまたはGUI)はありますか?これは単なる常識だと思うかもしれませんが、私が試したすべてのコマンドは移動とコピーを混同し、まったく同じことをするようです。
ディレクトリ名だけを変更することはできません。 Dropboxの特性です。新しいインストールを既存のDropboxディレクトリに再接続することはできませんが、古いディレクトリの名前を変更する必要があります。 Dropboxで新しいディレクトリを作成して移動したいです。ファイルと私はしかし閉じ込められていた。
rsyncはソースコードのディレクトリを削除せずに見苦しくて汚れているため、rsyncを使用しない方がよいでしょう。実際にmvコマンドを書く前にGUI / TUIが完了していることを確認したいと思います。 。
答え1
diraとdira / ttというディレクトリを作成し、dira / hhとdira / tt / anotherfiloeをタッチしました。
ls dir*
hh tt
ls dir*/tt
anotherfiloe
以降:コピーせずにファイルをハードリンクするだけ
cp -l -r dira dirb
確認する:
ls dir*/tt
dira/tt:
anotherfiloe
dirb/tt:
anotherfiloe
これでソースを削除できます。
rm -r dira
確認する:
ls dir*/tt
anotherfiloe
ls dir*
hh tt