上面的文章讲的很详细,我总结出来就是三点(可能不完全,个人认为解决了80%的问题)
- 针对
-
开头的文件需要使用--
来告知bash,不要将这里的-
解释为参数 - 针对其它特殊字符,使用
'
单引号把文件名括起来 - 针对文件名还包含
'
或者"
的情况,就需要交替使用规则
针对上述三点分别举例,举例的命令一般都适用 cp
、mv
、chown
、touch
等。
包含 -
touch -- -abc.txt
包含特殊字符
cp '<test123>@(456)jk.txt' file1
包含 '
或 "
➜ tmp touch "file'1.txt"
➜ tmp ls
file'1.txt
➜ tmp cp "file'1.txt" 'file"2.txt'
➜ tmp ls
file"2.txt file'1.txt
➜ tmp