linux 开头是"-" 或者是“--”的文件名 如何进行文件操作 删除复制移动

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 --
posted @   michaelchengjl  阅读(137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示