Made a big(?) mistake with `mv /*/*/* ./`
Background:
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?
Any help greatly appreciated.
Files:
Sorry for the long list
0
1
10
10:1
10:125
10:126
10:127
10:130
10:183
10:224
10:228
10:229
10:231
...
116:8
116:9
...
13:81
...
8
81:0
81:1
81:2
81:3
9
arch_status
attr
autogroup
by-diskseq
by-id
by-label
by-partlabel
by-partuuid
by-path
by-uuid
cgroup
cmdline
comm
coredump_filter
cpu_resctrl_groups
cpuset
fd
fdinfo
fonts
gid_map
grubenv
limits
list.txt
locale
loginuid
map_files
maps
mountinfo
mounts
net
ns
numa_maps
nvme0n1p8_crypt
oom_adj
oom_score
oom_score_adj
projid_map
sched
schedstat
sessionid
setgroups
smaps
smaps_rollup
stat
statm
status
task
timens_offsets
timers
timerslack_ns
uid_map
unicode.pf2
usb
wchan
x86_64-efi
dengtav
in reply to Joël de Bruijn • • •path
In the body of your post, or?
Joël de Bruijn
in reply to dengtav • • •Original command:
gonzo-rand19
in reply to Joël de Bruijn • • •./
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.Joël de Bruijn
in reply to gonzo-rand19 • • •mv /*/*/* ./
would moving stuff out of /boot or /dev folders make more sense?gonzo-rand19
in reply to Joël de Bruijn • • •enkers
in reply to gonzo-rand19 • • •/*/*/*
is not a relative path. The first/
references the root directory.Joël de Bruijn
in reply to Joël de Bruijn • • •crater2150
in reply to Joël de Bruijn • • •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 themmerthyr1831
in reply to Joël de Bruijn • • •I'd probably do a clean install (eventually) even if it looked like stuff works for now.
I know the pain, though. did rm -rf in the wrong directory and wiped half my drive in seconds. Good times.
phantomwise
in reply to merthyr1831 • • •Quazatron
in reply to Joël de Bruijn • • •Mark it as an achievement on your learning path and move on. We all did something silly like that at some point.
Great that you have backups, get a fresh install and restore it.
Lessons learned: don't work as root unless you absolutely positively have a good reason to do so.
FauxLiving
in reply to Quazatron • • •