when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.
想要打包一个文件夹,本意是想用 tar 的 -C 参数处理文件路径,结果操作失误,忘记写了压缩文件名,生成了 ‘-C’ 的压缩文件
1 | $ tar -czvf -C test/ |
然后就开始了一场闹剧,动用了各种大型武器,都不行
1 | $ rm -C |
完犊子了,删不掉了,这文件怕是要永流传了,心里一颤,祭出 google,搜索 “linux 删除名为 -C 的文件”,终于在知乎里找到了可以用的答案
Linux 系统下的文件名长度最多可到 256 个字符。通常情况下,文件名的字符包括:字母、数字、“.”(点)、“_”(下划线)和"-"(连字符)。Linux 允许在文件名中使用除上述符号之外的其它符号, 但并不建议用户这样做
在 Linux 下可以使用长文件名和目录名,可以给它们取任何名字,但是必须遵守以下规则:
在 Linux 中,通常使用 - 开头,后面是跟一些字符作为命令选项。而不巧的是,-C 会当做被 rm 命令的一个参数选项,实际上并没有该选项,所以会报错,其实上面的提示信息已经给出了解决办法,尝试使用 rm ./-C,或者使用 rm --help 获取更多信息
为什么 rm ./-C 就可以删除了呢?因为文件名前的 ./ 可以避免文件名把的首字符 - 被命令解释器当作 rm 命令的选项
从 rm --help 里可以发现 rm – -C 也可以删除
be yourself, everyone else is already taken.