linux根据inode编号删除文件

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.展示inode
ls -li .
// 2.删除根据inode找到的文件
rm `find . -inum 12345`
find . -inum 12345 -exec rm -i {} \;

你可能感兴趣的:(linuxinode)