问题
- 当一个文件有特殊字符或者
\
以及/
的时候,是无法直接通过rm
命令删除的
sudo rm -rf \jssdk\access_token.php 命令无效
-
想改名的话,用
mv
命令也不行,根据报错可以发现,系统执行的时候会把\替换变成空,因此找不到对应文件。 -
考虑到可能需要字符转义,在
\
前面单独加'
仍然不行。说明转义的方式还要改一下,不应该只用单引号对一个字符处理。
mv ./\jssdk\access_token.php ./a.php 命令无效
mv: cannot stat './jssdkaccess_token.php':
No such file or directory
mv '\jssdk '\access_token.php a.php 命令无效
mv : cannot stat '\jssdk access_token.php':No such file or directory
解决方法
- 命令里 把文件名用单引号括起来 再执行rm删除命令
sudo rm ./ '\\jssdk\\access_token.php'
或者
sudo rm '\\jssdk\\access_token.php'
- 注意删除需要权限