如何删除连字号‘-’开头的文件或文件夹
2011-01-26 19:04
351 查看
今天无意中在solaris中创建了一个文件 -exclude.tar, 试着删除时发现麻烦来了,因为这个连字号‘-’正好用于指定unix 命令的option.
开始想当然:
>rm -exclude.tar
rm: illegal option -- e
rm: illegal option -- x
rm: illegal option -- c
rm: illegal option -- l
rm: illegal option -- u
rm: illegal option -- d
rm: illegal option -- e
rm: illegal option -- .
rm: illegal option -- t
rm: illegal option -- a
usage: rm [-fiRr] file ...
转义是否可以呢?
>rm /-exclude.tar
rm: illegal option -- e
rm: illegal option -- x
rm: illegal option -- c
rm: illegal option -- l
rm: illegal option -- u
rm: illegal option -- d
rm: illegal option -- e
rm: illegal option -- .
rm: illegal option -- t
rm: illegal option -- a
usage: rm [-fiRr] file ...
接着想是否需要用引号引起来:
>rm "-exclude.tar"
rm: illegal option -- e
rm: illegal option -- x
rm: illegal option -- c
rm: illegal option -- l
rm: illegal option -- u
rm: illegal option -- d
rm: illegal option -- e
rm: illegal option -- .
rm: illegal option -- t
rm: illegal option -- a
usage: rm [-fiRr] file ...
相同的错误
改用单引号:
还是报相同的错误
后来想先把它重命名,再删除之:
>mv -exclude.tar exclude.tar
mv: illegal option -- e
mv: illegal option -- x
mv: illegal option -- c
mv: illegal option -- l
mv: illegal option -- u
mv: illegal option -- d
mv: illegal option -- e
mv: illegal option -- .
mv: illegal option -- t
mv: illegal option -- a
mv: illegal option -- r
mv: Insufficient arguments (1)
Usage: mv [-f] [-i] f1 f2
mv [-f] [-i] f1 ... fn d1
mv [-f] [-i] d1 d2
类似的错误,不能重命名! 都是这个连字号‘-’惹的祸!
同样用引号引起来也不行...这个方法也行不通!
怎么办呢?
最后才想到加上目录前缀
>rm ./-exclude.tar
OK. 成功了!真笨。
用类似的方法也可以删除其他特殊字符开头的文件或文件夹.
e.g.
>touch ./~sample.txt
>rm ~sample.txt
Unknown user: sample.txt.
>rm ./~sample.txt
另外某些字符则系统会自动加上转义字符'/'. e.g.
>touch ^caret.txt
>rm /^caret.txt
[完]
开始想当然:
>rm -exclude.tar
rm: illegal option -- e
rm: illegal option -- x
rm: illegal option -- c
rm: illegal option -- l
rm: illegal option -- u
rm: illegal option -- d
rm: illegal option -- e
rm: illegal option -- .
rm: illegal option -- t
rm: illegal option -- a
usage: rm [-fiRr] file ...
转义是否可以呢?
>rm /-exclude.tar
rm: illegal option -- e
rm: illegal option -- x
rm: illegal option -- c
rm: illegal option -- l
rm: illegal option -- u
rm: illegal option -- d
rm: illegal option -- e
rm: illegal option -- .
rm: illegal option -- t
rm: illegal option -- a
usage: rm [-fiRr] file ...
接着想是否需要用引号引起来:
>rm "-exclude.tar"
rm: illegal option -- e
rm: illegal option -- x
rm: illegal option -- c
rm: illegal option -- l
rm: illegal option -- u
rm: illegal option -- d
rm: illegal option -- e
rm: illegal option -- .
rm: illegal option -- t
rm: illegal option -- a
usage: rm [-fiRr] file ...
相同的错误
改用单引号:
还是报相同的错误
后来想先把它重命名,再删除之:
>mv -exclude.tar exclude.tar
mv: illegal option -- e
mv: illegal option -- x
mv: illegal option -- c
mv: illegal option -- l
mv: illegal option -- u
mv: illegal option -- d
mv: illegal option -- e
mv: illegal option -- .
mv: illegal option -- t
mv: illegal option -- a
mv: illegal option -- r
mv: Insufficient arguments (1)
Usage: mv [-f] [-i] f1 f2
mv [-f] [-i] f1 ... fn d1
mv [-f] [-i] d1 d2
类似的错误,不能重命名! 都是这个连字号‘-’惹的祸!
同样用引号引起来也不行...这个方法也行不通!
怎么办呢?
最后才想到加上目录前缀
>rm ./-exclude.tar
OK. 成功了!真笨。
用类似的方法也可以删除其他特殊字符开头的文件或文件夹.
e.g.
>touch ./~sample.txt
>rm ~sample.txt
Unknown user: sample.txt.
>rm ./~sample.txt
另外某些字符则系统会自动加上转义字符'/'. e.g.
>touch ^caret.txt
>rm /^caret.txt
[完]
相关文章推荐
- 如何创建,删除名字以中划线开头的文件或文件夹
- 比对2个文件夹,删除已存在,或者 删除指定目录下,按文字开头(结束)文件
- Linux下如何删除以~开头的文件
- 如何删除以横线“-”开头的文件
- java中如何删除本地文件夹以及文件
- 如何恢复SVN中已删除文件或文件夹
- [转载]SVN如何恢复已删除文件或文件夹
- 如何删除远程仓库的文件或文件夹
- iOS 如何批量删除项目文件夹中的.svn信息文件?
- PHP如何删除文件或文件夹
- 如何删除autorun.inf文件和文件夹
- 如何快速删除大量文件和文件夹如何快速删除大量文件和文件夹
- git如何删除文件夹 以及git status 执行后被删除文件红色显示的问题
- asp.net如何实现删除文件夹及文件内容操作
- C#如何:复制、删除和移动文件和文件夹
- 【转】如何彻底删除SVN中的文件和文件夹(附恢复方法)
- Linux 中如何复制和删除文件夹中的所有文件?
- 如何彻底删除SVN中的文件和文件夹(附恢复方法)
- 如何删除文件及文件夹下的所有文件 vb
- 如何彻底删除SVN中的文件和文件夹