事情是这样,服务器很多人在使用,以前的离职同事留了一大堆不知道是什么东西。
那些文件看不了,又删不掉,非常碍眼。
我搜索了挺多资料,没有一篇文章能真的解决问题(感觉都是抄来抄去的)。
用 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
删除这种操作还是一个一个来,肉眼删了十几个文件,世界清静了:)