1. 列出目录下所有文件的inode
操作指令:ls -li .
[[email protected] ~]$ ls -li .
总用量 392992
1328244 -rw-rw-r-- 1 niewj niewj 654 4月 27 22:42 -d
1328240 -rw-rw-r-- 1 niewj niewj 0 4月 27 22:42 -H
1322919 -rw-rw-r-- 1 niewj niewj 57276047 7月 6 2020 kafka_2.12-2.2.2.tgz
1328256 -rw-rw-r-- 1 niewj niewj 334034602 9月 14 2017 mysql-5.7.20-winx64.zip
1449101 drwxrwxr-x 2 niewj niewj 20480 9月 1 2020 sf_down
1328798 -rw-r--r-- 1 niewj niewj 227852 9月 1 2020 sf_down.zip
1329533 -rw-rw-r-- 1 niewj niewj 10849188 12月 28 2020 sublime.zip
上面主要是-i
选项来表示inode,也可以ls -i .
2. 根据inode编号删除文档
比如上面目录中的"-d" "-H"等文件都是在非正常情形下创建的,不方便直接使用名字来删除,可以通过制定inode来删掉
2.1 删除方法1-find前置
如删掉"-d"文件find . -inum 1328244 -exec rm -i {} \;
如果不需要确认,直接删除(上面的"-H"文件): find . -inum 1328240 -exec rm -if {} \;
2.1 删除方法2-find后置
rm `find . -inum 1328244`
同样,既然我们可以根据find命令拿到文件名,那么我们也可以对他进行其他操作:
# 查看文件类型
[[email protected] ~]$ file `find . -inum 1449101`
./sf_down: directory
# 列出文件详情
[[email protected] ~]$ ls -l `find . -inum 1449101`
总用量 24
-rw-rw-r-- 1 niewj niewj 102 9月 1 2020 blankfile
-rw-rw-r-- 1 niewj niewj 352 9月 1 2020 comment.txt
-rw-rw-r-- 1 niewj niewj 278 9月 1 2020 moon.txt
-rw-rw-r-- 1 niewj niewj 213 9月 1 2020 test
-rw-r--r-- 1 niewj niewj 999 9月 1 2020 vim使用整理.md
-rw-rw-r-- 1 niewj niewj 97 9月 1 2020 zoo.cfg
3.小结
// 1.展示inodels -li .
// 2.删除根据inode找到的文件rm `find . -inum 12345`
find . -inum 12345 -exec rm -i {} \;