linux命令行中的小横线(-)

时间:2022-04-18 17:39:13

今天在做批量图片重命名的时候发现下列报错

mv: invalid option -- '6'
Try `mv --help' for more information.

调查发现是因为文件中有带有-的名字比如

-6MX_oWOu7s.jpg

这个和命令带的参数的标记是一样的,如ls -ltr

解析的时候会错误的把“-ltr”解析为参数,所以也就无法列出“-ltr”中的内容

下面就说一下对这种文件怎么操作

对 Linux 文件名中有短横线“-”的操作

Linux 中"-"有特殊的含义,比如在命令的后面加"-"表示后面跟的是选项。但是如何新建带名字中有"-",下面介绍三种方法,比如要新建 文件 "-a":

1、cd .>-a

2、vi -- -a

3、echo"">-a

上面三种方法都可以在当前目录下新建一个"-a" 文件 ,当然还可以有别的方法新建,这里就不在介绍。如果要删除"-a"就比较麻烦了,如果你输入 rm -a,系统会提示你:

rm:无效选项 -- a

请尝试执行‘rm --help’来获取更多信息。

对于这样的 文件 可以有两种方法来删除,如下所示:

1、rm ./-a

2、rm -- -a

改名字也不用说了,基本上就是在 文件 名前面加"--"来表示转义字符就可以了!

实际例子

linux命令行中的小横线(-)

linux命令行中的小横线(-)

单个文件重命名   mv   ./-name.jpg    name.jpg

现在还没有研究出来批量重命名的方法。。。。蛋疼