关于linux:linux根据inode编号删除文件

23次阅读

共计 1162 个字符,预计需要花费 3 分钟才能阅读完成。

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 {} \;

正文完
 0