zoukankan      html  css  js  c++  java
  • 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~

  • 相关阅读:
    unity vscode 断点问题
    unity Prefab 序列化一个小问题。
    公司有同事中病毒
    有点愧疚,今天把unity官方骗了...
    网络处理,发送约定
    (转载)MonoBehaviour的事件和具体功能总结
    控制台输出乱码问题
    vs遇到的字符串问题
    cmake的下载和安装
    三消设计思路, 通过配置文件搞定一切。
  • 原文地址:https://www.cnblogs.com/hxlinux/p/13160991.html
Copyright © 2011-2022 走看看