起因:
1. 在 /(根) 目录下写了许多 c 语言的测试程序, 想移动到 /test 目录下去,于是不小心就执行了以下误操作:
# mkdir /test
# mv /* /test // (原本是想执行 mv /*.c /test)
到此为止 悲剧发生了() ; /(根) 目录 就一个 /test 了。
2. 执行 (ls , cp, mv, clear, vim) 等都报 错了;
# ls
(报错误的意思大概是这样 “/bin/ls(cp, mv, clear) 没有这个文件或者目录” )
补救方法:
1. 毫无疑问改 PATH 环境变量了:
# export PATH=$PATH:/test/bin/:/test/usr/bin/:/test/sbin/:/test/usr/sbin/
基本就是把 bin 路径给全加进去;
在一次执行:
# ls
(大家猜猜 成功了没有, 当然肯定是 没有的 )
为什么了? so 文件找不到 (动态库文件的位置也变了找不到了 )
(ls, cp, mv, clear ) 还是不能执行 !!!!!!!!
到这里 主要是报 /lib/ld-linux.so.1 文件找不到;
于是(baidu.com, google.com.hk) 找到了一个神奇的东东;
LD_LIBRARY_PATH 环境变量;
于是就执行了一下命令
# export LD_LIBRARY_PATH=/lib:/usr/local/lib:/usr/lib
在一次执行:
# ls
还是报 /lib/ld-linux.so.1 文件找不到;
加上这个环境变量好像莫有用 ()
奇迹出现:
莫有办法了,于是尝试执行:
# cd /test/lib
(执行成功, cd 为什么能成功了 因为是bash shell的内部命令,不像ls 是位于 /bin 目录下的一个可执行程序)
在执行
# /lib/ld-linux.so.1 ls
(竟然也执行成功了,呵呵,把动态库文件完整路径写到 ls 命令的前面)
于是马上接着执行:
# /lib/ld-linux.so.1 cp -r /test/lib /
(执行成功,O(∩_∩)O)
然后就依次执行下面的命令:
#cp -r /test/bin /
(这里不要在加动态链接库文件的完整路径了)
#cp -r /test/root /
#。。。。。。
到此整个恢复工作结束!!!
希望大家以此为鉴,不要犯我一样的错, 更不要执行 : (# rm -rf / 这样牛叉的命令)
~~~~~~~~(完)~~~~~~~