我遇到过一个意外创建的文件,并且文件名非常糟糕。的输出ls -lq
:
ls -lq
total 2
-rw-r--r--. 1 mbyx7ag2 zk01 0 May 1 2014 ???E@X?p@8?@
Run Code Online (Sandbox Code Playgroud)
我曾无数次尝试杀死这个东西,但到目前为止都无济于事。每当我收到错误,因为该文件不存在,尽管ls
在那里显示它并且能够使用stat
它:
stat ^A?E\@X?p\@8^H\@
File: `\001\360\265E@X\342p@8\b@'
Size: 0 Blocks: 3 IO Block: 32768 regular empty file
Device: 1ah/26d Inode: 5239755888 Links: 1
Access: (0644/-rw-r--r--) Uid: (231058/mbyx7ag2) Gid: (10027/ zk01)
Access: 2014-05-01 15:47:28.638919596 +0100
Modify: 2014-05-01 15:47:28.638919596 +0100
Change: 2014-05-01 15:47:28.638919596 +0100
Run Code Online (Sandbox Code Playgroud)
有趣的是,那里的 stat 命令是制表符补全的结果,看起来与其他地方使用的名称完全不同。
我尝试过这些问题中的想法:
我还尝试了从文件名中删除非打印字符 - 北极地区超级计算中心(在“删除非打印字符”下)的两种方法。
令人担忧的是,使用 inode 的所谓“万无一失”的技巧如下:
ls -i
5239755888 ???E@X?p@8?@
find . …
Run Code Online (Sandbox Code Playgroud) bash ×1