linux 开头是"-" 或者是“--”的文件名 如何进行文件操作 删除复制移动
执行 复制命令会报错 cp *.* /home/
因为有个文件名:-zZs0N65xSnO_J7F-7kKIYZLmSRMxDDyeA4463bChwwU3iB3NZgdtttv4461-GTg.jpg
正确的方式: cp -- *.* /home/
Linux/Unix系统中有一个文件名叫“-target”,如果我们想对它进行操作,例如要删除它按照一般的删除方法在命令行中输入rm -target命令,界面会提示我们是“无效选项”(invalid option)
原来由于文件名的第一个字符为“-”,Linux/Unix把文件名当作选项了。我们可以使用“--”符号来解决这个问题。
通过man rm可以知道
输入rm ./-target或”rm -- -target””命令便可顺利删除名为“-target”的文件。
如果是其他特殊字符的话可以在特殊字符前加一个“”符号,或者用双引号把整个文件名括起来。
文件系统出现一个文件 -C.html 如何删除/新建?
直接输入:
rm -C.html 错
rm “-C.html” 错
rm ‘-C.html’ 错
rm ‘-C.html’ 错
正确的答案是rm --“-C.html”
touch ./-demo.sh 或 touch -- -demo.sh 可以创建
删除文件名开头为-,减号的文件。
由于某些原因需要删除很多减号(-)开头的文件。
这个问题很有趣,一个是文件比较多,第二个是开头是-(减号),文件名容易被解释为参数。
其实最简单的方法就是:
rm -f ./--aaa
我的删除方法很简单,进入目录下执行:
find ./ -name "-aaa*" -exec rm {} \;
还有的方法就是
for i in $(ls |grep "-aaa*"); do rm -f -r -- "$i"; done
再就是:
ls|grep "-aaa*"|xargs rm -f -r --