事情是这样,服务器很多人在使用,以前的离职同事留了一大堆不知道是什么东西。

那些文件看不了,又删不掉,非常碍眼。

我搜索了挺多资料,没有一篇文章能真的解决问题(感觉都是抄来抄去的)。

用 SFTP 工具、PHPStorm 全家桶,都删不了……

后面找到了一篇英文资料,提示说可以用 inode 编号删,所以就有了今天这篇文章。

步骤很简单,分两步:

1. 根据乱码的文件名,得到文件的 inode 编号

ls -li
# ----> 5252589 和 5243030 就是 inode 编号
# 5252589 -rw-rw-r--.  1 www  www         0 Sep 17 11:10 ?#p????tK1?K??c
# 5243030 -rw-rw-r--.  1 www  www         0 Sep 17 11:11 ?

也可以用 stat 命令:

stat redis-cli
# ----> 5252594 就是 inode 号
#   File: `redis-cli'
#   Size: 392775          Blocks: 768        IO Block: 4096   regular file
# Device: 813h/2067d      Inode: 5252594     Links: 1
# Access: (0755/-rwxr-xr-x)  Uid: (  500/     www)   Gid: (  500/     www)
# Access: 2016-04-05 20:44:21.000000000 +0800
# Modify: 2016-04-05 20:44:21.000000000 +0800
# Change: 2016-04-05 20:44:21.000000000 +0800

2. 结合 find 命令直接删除

find . -inum 5252589 -delete
find . -inum 5243030 -delete

删除这种操作还是一个一个来,肉眼删了十几个文件,世界清静了:)

暂无评论