Debian:スペースが不足しているため、ディレクトリA(およびすべてのサブディレクトリ)を同じドライブのディレクトリBに移動できません。

Debian:スペースが不足しているため、ディレクトリA(およびすべてのサブディレクトリ)を同じドライブのディレクトリBに移動できません。

非常に奇妙な問題に直面しました。 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

おすすめ記事