文件的inode定义了文件的大小、所有人等文件的特征。每个文件和目录都有自己唯一的inode数字。但是为什么用inode来删除文件,而不是用常用的rm -rf命令呢?原因是,如果你不小心创建了含有特殊字符的文件和目录,比如带有 ? * ^ 的文件名,就会很难删除。下面我们就来介绍一下:1)如何找出文件和目录的inode;2)配合find命令,删除特定的inode文件;
* 如何找出文件的inode?
用stat 或者ls -il 。带有 -i 参数的ls命令,就是指显示文件的inode。
* 找到inode后,如何删除这个文件?
find . -inum [inode数字] -exec rm -i {} \;
1)下面可以测试一下,创建一个带特殊字符的文件:
$ cd /tmp
$ touch test
$ ls
2)找出这个文件的inode数字
$ ls -il test
13268517 -rw-r–r– 1 tw tw 0 2014-08-01 08:57 test
4)13268517就是要找的inode数字。下面用find命令删除它
$ find . -inum 13268517 -exec rm -i {} \;
移动/重命名命令如下:
find -inum 13268517 -exec mv {} newname \;