我有一个文件的名称
-ksh.l.15092015.log
要删除这个文件,我这样做:
rm -rf -ksh.l.15092015.log
但我有这个错误:
rm:未识别的标志:k
用法: rm [-firRe] [--] 文件...
我已经这样做了:
rm -rf *ksh*
但我也有同样的错误,为什么?
谢谢你的帮助!
答案1
执行这个:
rm -rf ./-ksh.l.15092015.log
答案2
这是一个很好的问题,据我所知,一些系统管理员面试都使用了它。
您有多种方法可以做到这一点:
使用相对或绝对路径删除。正如SHW在他的回答中所说:
rm -rf ./-ksh.l.15092015.log
或者
rm -rf /full/path/-ksh.l.15092015.log
通过禁用破折号的解释来删除 (-) 为了R M
rm -- -ksh.l.15092015.log
还有更复杂的方法:),使用 inode:
ls -li | grep ksh.l.15092015.log 5383819 -rw-r--r-- 1 root root 0 sep 15 13:17 -ksh.l.15092015.log find . -inum 5383819 -delete
你也可以使用MC和维姆,但这些是“壳”我所知道的方式。