本来想把/home/nodejs/目录下的全部文件移动到/home/my/目录下。
使用命令:
root@ubuntu:/home/nodejs# mv ./* ../my
误打成:
root@ubuntu:/home/nodejs# mv /* ../my
系统瞬间开始报错,ls, cp, mv 等命令都失效了。
尝试链接ftp重新移动文件,但无法建立链接。
还好putty没有断开,cd命令也可以用。
网上说输入“ ./ ” 再按 “TAB”键可以查看当前目录内容。
cd /
./ 按 TAB
发现大多数文件夹都不在了,比如/bin、/lib等。
cd /home/my
./ 按 TAB
发现所有文件都在。
之所以很多命令无法使用,是因为命令依赖库/lib里面的文件被移动到其他目录。
为了再次执行命令,我们需要找到ld-linux.so.2,指定其依赖库的位置,同时执行命令。
如下命令可以查看 /目录的文件。
我的ubuntu:
/home/my/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --library-path /home/my/lib/x86_64-linux-gnu /home/my/bin/ls / -F
网上教程:
/home/my/lib/ld-linux.so.2 --library-path /home/my/lib /home/my/bin/ls / -F
同理,cp命令亦可以执行。
我们可以使用下面的命令把误移动的目录依次复制回去:
/home/my/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --library-path /home/my/lib/x86_64-linux-gnu /home/my/bin/cp /home/my/lib -rfp /lib /home/my/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --library-path /home/my/lib/x86_64-linux-gnu /home/my/bin/cp /home/my/bin -rfp /bin ...