Linux如何删除以特殊字符开头的文件

15 篇文章 0 订阅
  作者:zhanhailiang 日期:2014-11-18

Linux在使用一些工具时经常会生成一些以特殊字符开头的文件,如以-开头,此时若使用普通rm,会提示“invalid option”:

[root@~]# rm -\,trail\:- 
rm: invalid option -- ','
Try `rm ./-,trail:-' to remove the file `-,trail:-'.
Try `rm --help' for more information.

这是因为Linux Shell默认认为-o|–option表示选项配置,而在当前命令rm中读不到相应的选项配置,所以报错。

通过rm –help可以看到:

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

总之,要删除掉特殊文件,可以使用绝对路径或相对路径或–来避免错误地将文件名解析为选项配置,以下提供多种操作方案:

第一种:rm – filename

[root@~]# rm -- -\,trail\:- 
rm: remove regular empty file `-,trail:-'? 

第二种:rm 相对路径

[root@~]# rm ./-\,trail\:- 
rm: remove regular empty file `./-,trail:-'? 

第三种:rm 绝对路径

[root@~]# rm ~/-\,trail\:- 
rm: remove regular empty file `/root/-,trail:-'?

更深入一点,分析源码:

首先,下载源码包:

[root@~/software]# wget http://down1.chinaunix.net/distfiles/coreutils-8.4.tar.gz

查看src/rm.c源码:


可见,当参数以特殊字符-开头,且不在选项配置中时rm直接报错。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux中,以"-"开头文件名被认为是一个选项标志,因此在删除这样的文件时需要使用特殊的方法。有两种方法可以删除以"-"开头文件: 方法1:使用绝对路径 ``` $ rm /path/to/-filename ``` 在这种情况下,"/path/to/"是文件所在的目录路径,"-filename"是以"-"开头文件名。 方法2:使用双横线选项 ``` $ rm -- -filename ``` 在这种情况下,"--"告诉命令行工具不再解释后面的参数作为选项标志,而是作为一个文件名。"-filename"是以"-"开头文件名。 ### 回答2: 在Linux中,要删除以"-"开头文件,可以使用以下方法: 1. 使用相对或绝对路径删除文件: ``` rm ./-filename ``` 或 ``` rm /path/to/-filename ``` 2. 使用通配符删除文件: ``` rm -- --filename ``` 在这里,使用"--"选项告诉rm命令后面的内容是文件名,而不是选项。 3. 使用绝对路径和引用删除文件: ``` rm /path/to/"-filename" ``` 在这里,使用双引号将文件名包围起来,以使系统将其视为文件名而不是选项。 无论使用哪种方法,都要小心删除文件,尤其是以"-"开头文件,因为它们可能被视为选项而导致意外的结果。在执行删除操作之前,请确保仔细检查文件名和路径,以避免删除错误的文件。 ### 回答3: 在Linux中,删除以"-"开头文件可以使用以下方法: 1. 使用绝对路径删除:使用rm命令来删除,直接指定文件的绝对路径。例如,如果文件的路径为/home/user/-example.txt,那么使用命令`rm /home/user/-example.txt`即可删除文件。 2. 使用通配符删除:可以使用通配符来删除以"-"开头文件。例如,如果想要删除当前目录下所有以"-"开头文件,可以使用命令`rm -- -*`。其中"-"表示忽略后面的选项,"--"用于指示之后的内容不是选项而是文件名,"*"表示任意字符的通配符。 3. 使用相对路径删除:如果以"-"开头文件位于当前目录下,可以使用相对路径来删除。例如,如果文件名为"-example.txt",使用命令`rm ./-example.txt`即可删除文件。"./"表示当前目录。 需要注意的是,删除操作是不可撤销的,请谨慎操作。在执行删除操作前,最好确认要删除文件名正确无误,并且确保不会误删其他重要文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值