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

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

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

ll -i

可用查看到文件的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

利用find命令来删除

find ./* -inum 475167 -delete

在当前目录下查找指定inode的文件,然后将其删除

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

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

 find ./* -inum 475167 -exec rm -i {} \;

这样就不会提示了

find会调用rm命令,此时,==rm会询问是否确认删除==。
如果对rm命令添加-f参数,则强制删除,rm命令不会询问确认删除。

使用xargs配合find的结果进行删除

find ./* -inum 475167 |xargs rm -f

如何重命名呢

find ./* -inum 475167 -exec mv {} 新文件名 \;
发布了147 篇原创文章 · 获赞 72 · 访问量 49万+

猜你喜欢

转载自blog.csdn.net/diyiday/article/details/100890178
今日推荐