无法删除以“-”开头的文件

无法删除以“-”开头的文件

我有一个文件的名称

-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维姆,但这些是“壳”我所知道的方式。

相关内容