linux下无法删除文件夹,解决linux上无法删除文件的方法(疑难文件)

今天有个中文乱码解压的文件夹无法删除,如下

例如:

[root@node96 ~]# rm -abc

rm: invalid option -- 'a'

Try `rm ./-abc' to remove the file `-abc'.

Try `rm --help' for more information.

[root@node96 ~]# rm "-abc"

rm: invalid option -- 'a'

Try `rm ./-abc' to remove the file `-abc'.

Try `rm --help' for more information.

[root@node96 ~]# rm '-abc'

rm: invalid option -- 'a'

Try `rm ./-abc' to remove the file `-abc'.

Try `rm --help' for more information.

删除不掉,怎么办?

还是有办法的: linux/unix 的文件系统,在内部是通过inode 来确认具体的文件的。

也就是说,系统内部对文件的访问,不需需要通过文件名进行。

那就是说我们可以通过inode 号码来删除文件。

[root@node96 ~]# ls -li

total 2032

413009 -rw-r--r-- 1 root

root 1435 Sep 13 09:58

97

413905 -rw-r--r-- 1 root

root 0 Oct 22 11:20 -abc

“-abc” 文件的 inode 号码是413905

rm命令是没有提供根据inode 号码来删文件的功能,

unlink 命令也没有这个选项。

怎么办?

可以曲线救国的。

find 命令提供了 根据inode 号码查找文件的选项。

[root@node96 ~]# find -inum

413905

./-abc

删除就好办了。

删除文件的命令如下:

[root@node96 ~]# find ./ -inum 413905 -exec rm -i {} \;

rm: remove regular empty file `./-abc'? y

删除文件夹的命令如下:

[root@localhost ~]#find ./ -inum 147476 -exec rm -rf {} \;

删除就好了

还有一个办法,就是包含文件的全路径名 用单引号 括起来也可以,不过有时候半角的字体是无法输入的,所以工find 是正道。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值