rm删除破折号开头的文件或目录

转载地址:http://blog.chinaunix.net/uid-25266990-id-3458755.html 

rm删除(清除)一个或多个文件 -f 选项将强制删除文件,即使这个文件是只读的.并且可以用来避免用户输入(在非交互脚本中使用).

经常会遇到文件名开头为特殊符号的文件后目录,如.mk  @等,可以直接rm -rf 删除,或是添加转意字符”\”即可。

今天碰到这样一个情况……

rm将无法删除以破折号开头的文件.

 

  1. rm -slow_query_130103.txt.gz
  2. rm: invalid option -- s
  3. Try `rm ./-slow_query_130103.txt.gz' to remove the file `-slow_query_130103.txt.gz'.
  4. Try `rm --help' for more information.

官方在帮助文档中作了特别说明:

 

  1. To remove a file whose name starts with a `-', for example `-foo',
  2. use one of these commands:
  3. rm -- -foo
  4.  
  5. rm ./-foo

 

解决这个问题的一个方法就是在要删除的文件的前边加上"./"

如:

 

  1. # rm ./-slow_query_130103.txt.gz
  2. rm: remove regular file `./-slow_query_130103.txt.gz'?

 

另一种解决的方法是 在文件名前边加上 " -- ".

    1. # rm -- -slow_query_130102.txt.gz
    2. rm: remove regular file `-slow_query_130102.txt.gz'?
posted @ 2018-08-17 09:39  香菜哥哥  阅读(552)  评论(0编辑  收藏  举报