震惊,当我运行了这条Linux命令后,服务器竟然... (Linux中的删除命令)
震惊,当我运行了这条Linux命令后,服务器竟然...
0X00 写在前面
大家都听说过删库命令rm -rf /*,但是谁又真正实践过呢?但作为一个程序员,不看看这条命令执行后会发生什么,怎么能甘心呢。今天就带大家看看,服务器运行了这条命令是什么样子。
(注意请勿随意模仿!如果真的想试试,可以自己搭一个虚拟机,自行尝试。后附:Linux的删除命令详解)
0x01 删库之前
服务器是前段时间白嫖阿里云的小。首先用VNC远程连接,

在这之前,我们发现机子没有任何的问题。

0x02 删库 rm -rf /*
他来了,他来了,
rm -rf /*

之后,嗯?出现了点小差错

劳资,玩浏览器这么多年第一次遇到这样的情况。

第一个,显示内存不足的是用VNC远程连接的网页。我可以理解。那第二个,服务器管理页面为啥也崩啊。
害,可能是我的电脑太垃圾了。
好在刷新了一下好了。
现在我们重新通过VNC远程连接。

现在是这样的一个情况。
0x03 删库☞后
可以最后报出来这样一条:
[ 661.704409] systemd-journald[410]:Failed to creat new system journal:eNO such file or directory
这句话是指无法创建新的系统日志。
那么现在的系统是否可用呢,我们来测试一下。
Ctrl+L清屏快捷键依然可以用。

现在看起来跟没删差不多。
那么我们去运行些其他的命令试试。

出错了,我们显示根目录下的文件竟然没有显示。

help可以

最后,我们尝试,除了最基本的cd 、pwd,以及echo。其他的都不能运行(包括关机和重启命令)。
只能从服务器管理端强制关机了
至此删库演示结束,我也该跑路了。
0x04 后话
回复服务器的话,我们可以强制关机。

停止的时间有点长啊,不过好在停止了。

停止了,之后我们就可以重新部署系统里。不过,之前的东西都不复存在。
总之,我们一定不要随便尝试这条命令!切记,特别是别人的电脑上。这也给我们提一个响钟,一般不要使用root用户登录。使用rm 命令时一定要记得备份!
附录
Linux里的删除操作
rm命令
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。但对于链接文件,只是删除整个链接文件,而原有文件保持不变。
食用方式:
rm [选项](参数)
其中选项可以时:
-d..................删除一个空目录;
-f:.................强制删除文件或目录;
-i:.................删除已有文件或目录之前先询问用户;
-r或-R:.............递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:...不对根目录进行递归操作;
--no-preserve-root:.不将“/”看做根目录。
--preserve-root......不能对根目录执行递归操作。
-v:.................显示指令的详细执行过程。
参数是指文件或文件夹:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。
实例操作:
.
├── 1 //文件
├── kongmulu //空目录
└── test
├── 1.txt
├── 2.txt
└── test
├── 1.txt
└── test //目录
删除一个文件
我们删除当前目录下的文件1
rm 1
root@kali:/tmp/rmtest# rm 1
root@kali:/tmp/rmtest# ls
singlemulu test
这时已经删除成功了,但是却没有交互式的提示。
但如果加上可选项-r,情况是这个样子
rm -i 1
root@kali:/tmp/rmtest# rm -i 1
rm: remove regular empty file '1'? n
root@kali:/tmp/rmtest# ls
1 singlemulu test
root@kali:/tmp/rmtest# rm -i 1
rm: remove regular empty file '1'? y
root@kali:/tmp/rmtest# ls
singlemulu test
root@kali:/tmp/rmtest#
在删除之前会向你询问是否要删除。
删除一个目录
空目录
rm -d kongmulu
root@kali:/tmp/rmtest# rm -d kongmulu/
root@kali:/tmp/rmtest# rm -d test/
rm: cannot remove 'test/': Directory not empty
root@kali:/tmp/rmtest#
这个命令可以删除空目录,但是不可以山粗非空目录。
递归删除目录
rm -r test
root@kali:/tmp/rmtest# rm -dr test/
root@kali:/tmp/rmtest# ls
这样会删除目录下的多有文件和子目录。风险很大。
注意:不同的选项可以组合在一起。
比如:
rm -rf 参数
强制删除文件和目录。
显然这样的操作十分危险。
所以我们进行强制递归删除的时候,一定要想起添上
--preserve-root
--no-preserve-root
比如:
rm -rf --preserve-root /
或
rm -rf --no-preserve-root /
虽然可能系统也可能会损坏。但是比不加强。
备份备份 备份
切记要备份!备份才是王道!我们总会有疏忽的时候!所以重要数据一定要备份!
震惊,当我运行了这条Linux命令后,服务器竟然... (Linux中的删除命令)的更多相关文章
- 安装完Linux Mint后,发现系统中竟没有中文输入法
安装完Linux Mint后,发现系统中竟没有中文输入法,语言支持之后自动更新过程中有些安装包下载失败. 可以采取下面的方法安装上中文输入法. 1. 安装iBus: sudo add-apt-repo ...
- 通过ping命令查看服务器是linux还是windows系列
通过ping命令识别服务器类型
- [Linux] sed命令使用之在文件中快速删除/增加指定行
1.删除文档的第一行 sed -i '1d' <file> 2.删除文档的最后一行sed -i '$d' <file> 3.在文档指定行中增加一行例如文档如下:echo &qu ...
- linux下文件的复制、移动与删除命令为:cp,mv,rm
一.文件复制命令cp 命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination) cp [option] source1 source2 sour ...
- 启动LINUX系统后,进入图形化界面的命令
1.进入xWindow的命令 $startx回车 或者修改/etc/inittab文件 cd /etc vi inittab 寻找: id:3:initdefault: 改为: id:5:initde ...
- thinkphp3.2.3版本在windows本地apache环境运行正常,上传到centos服务器apache环境中出现:thinkphp 上传根目录不存在!请尝试手动创建:uploads/
thinkphp 上传根目录不存在!请尝试手动创建:uploads/ ,是根目录下uploads权限问题,我把uploads权限改成了775,就可以上传图片了. chmod -R 775 u ...
- Linux系统中rm删除命令
rm命令 1.可以删除一个目录中的一个或多个文件或目录 2.可以将某个目录及其下属的所有文件及其子目录均删除掉 3.对于链接文件,只是删除整个链接文件,而原有文件保持不变 语法 rm (选项)(参数) ...
- Linux下不同服务器间数据传输--转载
因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...
- Linux下不同服务器间数据传输
因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...
随机推荐
- BZOJ 2318: Spoj4060 game with probability Problem (概率dp)(博弈论)
2318: Spoj4060 game with probability Problem Description Alice和Bob在玩一个游戏.有n个石子在这里,Alice和Bob轮流投掷硬币,如果 ...
- Python的range(n)的用法
Python的range(n) 方法就是: API定义: If you do need to iterate(迭代) over a sequence(一系列) of numbers, the buil ...
- SQL热备原理
- WebSecurityConfig
package me.zhengjie.core.config; import me.zhengjie.core.security.JwtAuthenticationEntryPoint; impor ...
- django框架进阶-AJAX-长期维护
################## 预备知识---json ####################### 预备知识,json 什么是json?这是一种数据格式,和语言没有关系, 为什么 ...
- 详解Javascript中的原型与原型链
目录 知识点 参考资料 结束语 知识点 面向对象编程 我们熟悉的Java和C#里,面向对象的两个基本概念是类class和实例instance,而ES6以前的Javascript并没有设计class. ...
- python多线程交替打印abc以及线程池进程池的相关概念
import threading import sys import time def showa(): while True: lockc.acquire() #获取对方的锁,释放自己的锁 prin ...
- CF-1066B-Heaters
这题就是从1到n点进行遍历,对未加热的点找到最远的能加热到这个点的点,还是看代码讲吧 #include"bits/stdc++.h" using namespace std; co ...
- JS去重函数的扩展应用
数据: 账单id[1,1,1,1,2,2,2,3,3,3,3,3,3,3], 相对于账单id的金额[100,120,110,150,200,180,220,115,150,120,180,220,14 ...
- [洛谷P4549] [模板] 裴蜀定理
18.10.03模拟赛T1. 出题人xcj(Mr.Handsome)十分良心,给了一道送分题...... 互测题好久没有出现送分题了.xcj真棒. 题目传送门 幸亏之前看过,否则真的是送分题都拿不到. ...