[转载]linux下利用inode(i节点号)删除指定文件

由于 linux下中文编码和在Windows中的中文编码可能不同,在一定的条件下,linux的文件夹可能会存在乱码的情况
就算一些乱七八糟的字符。如果出现这样的情况,这个文件或者文件夹,无法打开或者进入。

出现这样情况,可用利用linux下的inode号重命名文件

ll -i
1
可用查看到文件的inode号码

[root@cloud ~]# ll -i
total 23088
475167 drwxr-xr-x 2 root root 4096 Sep 3 16:19 1111
475157 -rw-r--r-- 1 root root 13 Jan 10 2019 getip
475158 -rw-r--r-- 1 root root 33 Jun 3 14:01 md5
1
2
3
4
5
利用find命令来删除

find ./* -inum 475167 -delete
1
在当前目录下查找指定inode的文件,然后将其删除

这样会提示你是否删除,如何不提示呢

利用find命令的-exec参数来调用rm命令

find ./* -inum 475167 -exec rm -i {} \;
1
这样就不会提示了

find会调用rm命令,此时,==rm会询问是否确认删除==。
如果对rm命令添加-f参数,则强制删除,rm命令不会询问确认删除。
1
2
使用xargs配合find的结果进行删除

find ./* -inum 475167 |xargs rm -f
1[]
如何重命名呢

find ./* -inum 475167 -exec mv {} 新文件名 \;
————————————————
版权声明:本文为CSDN博主「diyiday」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/diyiday/article/details/100890178

上一篇:Linux 系统结构详解


下一篇:Linux 基础