I think I messed up ...
Wanted to get a lot of files out of a nested folderstructure 3 levels deep and used mv /*/*/* ./ somewhere deep in my personal folders.
I got a lot of errors and quick as I could stopped it.
Now that folder is is messed up with a lot of stuff (see below) which I dont know the origin of.
The good news: I have fairly recent backups
Questions:
Could they be from subdirectories in my home folder?
Could they be from subdirectories outside my home folder? Especially grubenv caught my eye.
Could it be potentially dangerous to reboot? I leave my PC on untill I know more.
Would it be possible to reverse the moving in some way, to put them back where they belong, even manually?
If ./ and ./*/*/* are both within your home folder, you should just restore it from your backup. The command you ran takes everything up to 3 levels deep and moves it up to the working directory, and unraveling that will be a pain in the ass.
I can't say because those paths are relative and I don't know your file structure. That said, even if I did, restoring from backup would take out all of the guesswork here so I would recommend that over trying to do it manually.
Strange thing is, instead of moving folders (which isnt possible without root anyway) it looked like some of them got copied instead. Compared some folders from /boot/grub with the dump in my homefolder and they were the same files (number and names etc).
My theory for why it created copies:
The files you listed look like they are all subdirectories from /dev, which is (usually) a separate filesystem.
When you try to move a file or directory across filesystems, the OS can't just change the link, it has to actually copy the files and then remove the original. As a directory is a set of links to files, and the copies are different files, directories are just newly created with the same name in the new location instead of copying the directory filesystem entry. It looks like mv creates these target directories, before it checks if it actually has permission to remove the source, but checks file permissions, before it copies them