灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2441回复:0

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

楼主#
更多 发布于:2013-01-08 15:10
rm删除(清除)一个或多个文件 -f 选项将强制删除文件,即使这个文件是只读的.并且可以用来避免用户输入(在非交互脚本中使用).
经常会遇到文件名开头为特殊符号的文件后目录,如.mk  @等,可以直接rm -rf 删除,或是添加转意字符””即可。
 
今天碰到这样一个情况……
 
rm将无法删除以破折号开头的文件.
 
rm -slow_query_130103.txt.gz
 
rm: invalid option -- s
 
Try `rm ./-slow_query_130103.txt.gz' to remove the file `-slow_query_130103.txt.gz'.
 
Try `rm --help' for more information.
 
官方在帮助文档中作了特别说明:
 
To remove a file whose name starts with a `-', for example `-foo',
 use one of these commands:
 rm -- -foo
 
rm ./-foo
 
解决这个问题的一个方法就是在要删除的文件的前边加上"./"
如:
 
# rm ./-slow_query_130103.txt.gz
 
rm: remove regular file `./-slow_query_130103.txt.gz'?
 
另一种解决的方法是 在文件名前边加上 " -- ".

 
# rm -- -slow_query_130102.txt.gz
 
rm: remove regular file `-slow_query_130102.txt.gz'?

喜欢0 评分0
游客

返回顶部