linux基本功--最危险的命令rm

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基本功--最危险的命令rm相关的知识,希望对你有一定的参考价值。

1、前言

今天我们一起来探讨第7个命令,rm命令, 这个命令也可以归类到文件管理命令中。

要学会游泳,就必须下水。——列宁

To learn to swim, you must be in the water。

linux基本功--最危险的命令rm_删除文件

2、rm命令是什么?

rm命令是英文单词remove的缩写,其功能是用于删除文件或目录,一次可以删除多个文件,或递归删除目录及其内的所有子文件。

当然这是一个很危险的命令,使用的时候要特别当心,尤其对于新手更要格外注意,如执行rm -rf /*命令则会清空系统中所有的文件,甚至无法恢复回来。

一般情况下我们会要求:

不要使用 -f 这个参数,确保删除的时候有提示。

把需要删除的文件,先移到某个目录,等待段时间,确认不需要的时候再删除

使用-rf参数的时候,尽量不要使用通配符,确保安全。

3、rm的常用参数

-f 强制删除(不会询问是否删除)

-i 删除前会询问是否操作

-r/R 递归删除

-v 显示指令的详细参数

4、应用示范案例

实验环境

[root@mufenggrow test]# touch 1..3.txt

# 创建3个文件

[root@mufenggrow test]# mkdir a b c

#创建3个目录

[root@mufenggrow test]# ls

1.txt  2.txt  3.txt  a  b  c

[root@mufenggrow test]# cp /etc/passwd a

[root@mufenggrow test]# ls

1.txt  2.txt  3.txt  a  b  c

[root@mufenggrow test]#

当前的目录结构:

linux基本功--最危险的命令rm_递归_02


4.1.不加任何参数直接删除

[root@mufenggrow test]# rm 1.txt

rm:是否删除普通空文件 "1.txt"?y

4.2. 删除目录需要加 -r参数

[root@mufenggrow test]# rm b  

rm: 无法删除"b": 是一个目录

[root@mufenggrow test]# rm -r b

rm:是否删除目录 "b"?y

[root@mufenggrow test]#

可以看到不加 -r参数删除目录会报错。

删除有内容的目录:

[root@mufenggrow test]# rm -r a

rm:是否进入目录"a"? y

rm:是否删除普通文件 "a/passwd"?n

rm:是否删除目录 "a"?n

[root@mufenggrow test]#

可以看到如果目录中有内容会先进入目录,提示目录中的内容是否删除

4.3. 没有任何提示,直接删除 -rf参数

[root@mufenggrow test]# ls

2.txt  3.txt  a  c

[root@mufenggrow test]# rm -rf a

[root@mufenggrow test]# ls

2.txt  3.txt  c

4.4. 强制删除的时候加 -i 参数,会增加提示

[root@mufenggrow test]# rm -rfi c

rm:是否删除目录 "c"?y

4.5. 与rm有关的简单脚本

脚本思路:

让用户确认是否删除

如果用户确认删除就先备份

如果用户不删除就退出

如果用户没有按规定输入信息就提示并退出

#!/bin/bash

read -p “是否删除(Y/N)”input

if [ $input == "Y" -o $input == "y" ];then

mv $1 /tmp

echo“$1文件已备份到/tmp"

elif [ $input == "N" -o $input == "n"];then

echo"正在退出..."

else

echo“请输入正确的字符"

exit

fi

5、总结

以上就是关于rm命令的所有用法,建议把-i参数列为必用参数,什么时候都可以加上,这样系统会提示是否删除,增加了安全性。


以上是关于linux基本功--最危险的命令rm的主要内容,如果未能解决你的问题,请参考以下文章

Linux 中 10 个最危险的命令

Linux 中 10 个最危险的命令

《永远不要在 Linux 执行的 10 个最危险的命令》

Linux rm命令

Linux的10个最危险的命令

Linux系统中最危险的命令你试过吗?