I'm running into a very strange problem: I can't simply move all contents of dir A to dir B on the same drive. The size is 500 GB and I have 24 GB free, yet it fails. Why does it require all these 500 GB again for moving the files?
I have tried different file managers: Krusader, Dolphin, the command mv, mc, they all fail. The reason is simple: They don't erase a file after it has been moved, they first want to copy all files to the destination and then delete them at the source. This is obviously not what I want, as I don't have another 500 GB free.
The mv command fails, as cannot move files into already existing dirs (even when empty, as sub dirs are considered files too and all the tools for some strange reason create all the directories first before moving or copying)
I can of course do it file by file, or individual directories, but this is a Dropbox folder of 190'000 files and thousands of directories, so it is not feasible.
The solution I think would work: Is there a GUI tool (TUI or GUI) tool that deletes files at the source immediately after moving them? You would think that this is just common sense, but all the commands that I tried seem to confuse move with copy and do exactly the same.
I can't just rename the directory, it is a quirk that Dropbox has that you can't relink a new install to an existing Dropbox directory, but have to rename the old one, Dropbox creates a new directory and then I want to move the files and there I am, stuck.
I would rather not use rsync for this, as it does not remove the directories at the source and then it gets ugly and messy, I want to see if there is a GUI/TUI before I write my own mv command that actually gets the job done.
mv
the second-level directory names into the Dropbox structure. You should not need to move any lower levels, or any files.find
coupled withmv
for each file? Becausemv
should work for individual files with an (existing) subdirectory as destination. If it doesn't, you have a different problems. And if the hierarchy at the destination is not complete, you need to create all directories first (different call withfind
).