欢迎来访李梅博客,希望看的开心!

最新文章 标签集合 在线留言 申请友链 管理登录

当前位置:首页 > Linux > Linux下用文件的inode删除文件

Linux下用文件的inode删除文件

 

        文件的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的用处就在这里。
 
下面介绍一下其他有用的删除技巧:
 
* 可以尝试用文件名加引号的方法删除文件。比如 “–help”文件,可以用rm “–help”删除
 
* 也可以用unlink删除文件。unlink 。unlink命令调用unlink函数,可以删除一个特定文件
 
* 用mtools删除Windows下创建的非法文件。这种方法在find命令配合inode失效时,最为有用。专门对付autorun.inf病毒创建的文件夹。
 
也可以xargs配合rm批量删除在不同位置的文件:把待删文件的完整路径都写入一个文本文件,如file.txt内容如下:
file1
/tmp/file2.txt
~/data.txt
 
然后运行下面的命令删除file.txt中所列的文件
$ xargs rm

 

除特别注明外,本站所有文章均为李梅 ’BLOG原创,转载请注明出处来自https://www.xslds.com/post/38.html

«   2019年9月   »
1
2345678
9101112131415
16171819202122
23242526272829
30
网站分类
  • (1).阿里云服务器【产品幸运券】
  • (2).阿里云服务器【产品幸运券】
  • 作者列表
    最新留言
    最近发表
    文章归档
    站点信息
    • 文章总数:234
    • 页面总数:4
    • 分类总数:22
    • 标签总数:522
    • 评论总数:605
    • 浏览总数:3946384

    分享:

    支付宝

    微信