![无法`ls`长文件名](https://linux22.com/image/1405402/%E6%97%A0%E6%B3%95%60ls%60%E9%95%BF%E6%96%87%E4%BB%B6%E5%90%8D.png)
使用 CentOS 6.5,我的目录中有一个文件,其名称为 161 个字符。此目录在主机 VM(Windows)和客户 VM(Vagrant)之间共享。
我无法使用以下方式访问它ls
:
> ls long...file
ls: cannot access : No such file or directory
我推测这个长文件名可能是导致我的构建清理过程失败的原因。
另外,当我ls -lrot
包含该文件的目录时,我看到一堆问号???
。
我有什么选择可以清理这个文件?
答案1
对于无法通过常规方式删除的文件,最终的解决方案是:
ls -il
第一列将显示文件的 inode 编号。
find . -inum [inode-number] -exec rm -i {} \;
这将在验证后删除具有指定 inode-number 的文件。