教你Linux下如何使用inode删除文件 | 《Linux就该这么学》

导读 文件的inode定义了文件的大小、所有人等文件的特征。每个文件和目录都有自己唯一的inode数字。但是为什么用inode来删除文件,而不是用常用的rm -rf命令呢?原因是,如果你不小心创建了含有特殊字符的文件和目录,比如带有 ? * ^ 的文件名,就会很难删除。下面我们就来介绍一下:1)如何找出文件和目录的inode;2)配合find命令,删除特定的inode文件;3)其他有用的删除顽固文件的方法。
如何找出文件的inode?

用stat 或者ls -il 。带有 -i 参数的ls命令,就是指显示文件的inode。

找到inode后,如何删除这个文件?
find . -inum [inode数字] -exec rm -i {} /;
1)下面我们完整实验一下,创建一个带特殊字符的文件:
$ cd /tmp

$ touch “/+Xy /+/8″

$ ls
2)尝试用rm命令删除
$ rm /+Xy /+/8
3)找出这个文件的inode数字
$ ls -il

342137 -rw-r–r– 1 tw tw 0 2008-11-20 08:57 /+Xy /+/8
4)342137就是我们要找的inode数字。下面用find命令删除它
$ find . -inum 342137 -exec rm -i {} /;

比如,你的系统中有”2008/11/20″这个文件,用rm是删除不了的。Linux不允许你建立这个文件,但是Windows下就可以。所以find配合inode的用处就在这里。

对于linux中的任何一个文件都必然有其唯一的inode值,这时候就可以通过inode来删除异常文件名的文件。

利用find命令来删除
find ./* -inum 1049741 -delete
//在当前目录下查找指定inode的文件,然后将其删除
直接删除,不会询问你确认删除。

利用find命令的-exec参数来调用rm命令
 find ./* -inum 1049741 -exec rm -i {} \;
    find会调用rm命令,此时,==rm会询问是否确认删除==。
    如果对rm命令添加-f参数,则强制删除,rm命令不会询问确认删除。

使用xargs配合find的结果进行删除
find ./* -inum 1049741 |xargs rm -f
————————————————

可以尝试用文件名加引号的方法删除文件。

比如 “–help”文件,可以用rm “–help”删除

也可以用unlink删除文件。

unlink命令调用unlink函数,可以删除一个特定文件。

用mtools删除Windows下创建的非法文件。

这种方法在find命令配合inode失效时,最为有用。专门对付autorun.inf病毒创建的文件夹。

原文来自:http://www.jsgho.net/help/fwq/30422.html

本文地址: https://www.linuxprobe.com/linux-inode.html编辑:郝大发,审核员:逄增宝

本文原创地址:https://www.linuxprobe.com/linux-inode.html

(0)

相关推荐

  • fs.symlink、 ln、ln -s的详解与应用分析

    inode 在讲解软/硬链接之前,先了解一个 linux 系统中重要的概念 inode .众所周知,文件存储在硬盘上,硬盘的最小存储单位叫做 "扇区"( Sector,每个扇区存储 ...

  • 浅谈linux系统中mv、cp、rm这三种命令的工作原理 | Linux运维部落

    mv.cp.rm命令是linux系统中经常用到的工具,但是如果想知道这些命令在执行过程中底层具体做了哪些工作,我们首先要了解下一个关键的东西:inode 表.   inode(index node)表 ...

  • Linux 文件系统 -- 简述几种文件类型

    Linux 中一切皆为文件,文件类型也有多种,使用 ls -l 命令可以查看文件的属性,所显示结果的第一列的第一个字符用来表明该文件的文件类型,如下: 1.普通文件 使用 ls -l 命令后,第一列第 ...

  • 文件操作命令 cp、mv、rm 底层原理

    cp.mv.rm 命令到底做了什么? 缘起 在linux 系统中上线时经常会遇到需要替换原有可执行程序的操作,我通常的做法是: 删除原有可执行文件.例如:rm a.out 以相同的文件名把新的可执行文 ...

  • Linux 删除特殊字符文件名或目录

    通过文件的inode号删除文件 先用ls -i 找出要删除文件的inode 号 ls -i |grep xxxxxx|awk '{print $2}'|xargs -i rm -f {} xxxxxx ...

  • LINUX下EFIBOOTMGR的使用,删除UEFI主板多余启动项和添加启动项

    用uefi装了几次次archlinux,搞的uefi启动选项下多出来好多启动项..这东西重格硬盘也是不好用的.发现以下方法可以解决. efibootmgr   //显示efi的启动项 删除一个引导项 ...

  • Linux下gcc编译生成动态链接库*.so文件并调用它

    动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一 ...

  • Linux下编写和加载 .ko 文件(驱动模块文件)

    一..ko 文件介绍 .ko文件是kernel object文件(内核模块),该文件的意义就是把内核的一些功能移动到内核外边, 需要的时候插入内核,不需要时卸载. 二.优点 (1)这样可以缩小内核体积 ...

  • Linux下快速手动产生core文件

    原文链接:https://blog.csdn.net/jctian000/article/details/79695006 当我们配置好自动生成core文件的环境后,若不想写导致崩溃的程序验证,那要怎 ...

  • Linux下修改MySQL数据库数据文件路径

    使用rpm安装方式安装完MySQL数据库后,数据文件的默认路径为/var/lib/mysql,然而根目录并不适合用于存储数据文件. 原路径:/var/lib/mysql 目标路径:/home/mysq ...

  • Linux下使用合适程序打开文件

    DG-OPEN(1) xdg-open Manual XDG-OPEN(1)NAME xdg-open - opens a file or URL in the user's preferred ap ...

  • Linux下 通过删除inode来删除文件

    linux下有一些文件比较特别,无法直接删除或者容易误删除成其他文件. 删除这类文件时,可以不通过文件名,可以通过inode号进行删除. 例如,这里有一个文件名为"-" ,可以通过 ...

  • Linux 下如何创建 /删除软连接

    软链接,又称符号连接,与硬链接不同的是,软链接不链向索引节点号,而是链向目录.相当于的Windows中的快捷方式.它实际上是一个特殊的文件.在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件 ...

  • linux下文件,inode,dentry,目录的详解

    一.inode是什么 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统读 ...