Linux基础命令—rm

基本概念

rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

注意:使用rm命令要格外小心。因为一旦删除了一个文件,再恢复它很麻烦。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。

如果不小心误删了文件,也不要着急,停下你的所有骚操作,使用 lsof 查看打开该文件的进程,然后再使用 cat /proc/进程号/fd/文件描述符 查看恢复数据,最后使用I/O重定向的方式来恢复文件。
当我们执行 rm -f 删除文件时,其实只是删除了文件的目录索引节点,文件系统找不到inode了而已,但是它的进程依然可以找的到文件描述符,即仍然可以使用先前发放的文件描述符读写文件,正是利用这样的原理,所以我们可以使用I/O重定向的方式来恢复文件。(这里就不展开讲了,有兴趣的可以百度或者看书)

语法

rm 选项 参数

选项

-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。

参数

这里使用的参数就是要删除的对象(如果删除的对象中包含目录必须加上-r-R

实例

递归删除/home/hx/下所有包含test的文件或目录(使用-r递归,-f强制删除,通配符*表示匹配所有以test开头的文件或目录)

注意任何适合都不要输入rm -rf /*因为这表示强制递归删除根下面的所有文件以及目录,so~

原文地址:https://www.cnblogs.com/hxlinux/p/13160991.html