linux下以‘-’开头的文件名,cp、mv、rm、ls等对他都是无效的:

[root@ha131 ~]# ll -plat.py 
ls:无效选项 -- .
请尝试执行"ls --help"来获取更多信息。
[root@ha131 ~]# cp -plat.py plat.py
cp: 正在访问".py": 没有那个文件或目录
[root@ha131 ~]# mv -plat.py plat.py
mv:无效选项 -- p
请尝试执行"mv --help"来获取更多信息。
[root@ha131 ~]# rm -plat.py 
rm:无效选项 -- p
尝试使用"rm ./-plat.py"删除文件"-plat.py"。
请尝试执行"rm --help"来获取更多信息。

 那怎么来处理呢,想办法绕过-符号就行了:使用./

[root@ha131 ~]# ls ./-plat.py 
./-plat.py
[root@ha131 ~]# ll ./-plat.py 
-rw-r--r-- 1 root root 1426 11月 30 10:23 ./-plat.py
[root@ha131 ~]# cp ./-plat.py plat.py
[root@ha131 ~]# mv ./-plat.py plat2.py

 

扩展:对于文件名中带空格

mv ‘   filename’ filename  使用引号引起来;

或者mv \ \ \ filename filename 使用转义字符\;

posted on 2018-03-30 13:36  浮沉一梦  阅读(2524)  评论(0编辑  收藏  举报