我有一个名为+ 13x18_DSC_0800.JPG在Linux服务器上的文件(请不要问我是如何到达那里,因为我不知道它是如何到达那里)。 我想把它重命名为13x18_DSC_0800.JPG。 但是我一直没有能力。 当我试图复制它,我得到;
# cp \+13x18_DSC_0800.JPG asd.JPG cp: cannot stat `+13x18_DSC_0800.JPG': No such file or directory
这是一些更多的信息。
#ll -rwxrwxrwx 1 ftpuser renko 2798985 2011-10-14 01:12 +13x18_DSC_0800.JPG*
除了加号正在杀死一些脚本,我真的不知道什么是错的。 一些更多的信息;
#uname -a Linux server-1 2.6.38-8-server #42-Ubuntu SMP Mon Apr 11 03:49:04 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
任何帮助都是极好的…
通常这意味着在文件名中有一些非打印字符,由于它们不是打印,所以你看不到。
试试ls -la > /tmp/foo然后vi -b /tmp/foo来查看所有的文本。
如果是这样的话,最简单的方法是通过glob处理它,尝试echo *13x18_DSC_0800*来validationglob匹配该文件(并且只有该文件),然后可以执行mv *13x18_DSC_0800* newname.jpeg来重命名它。
使用
cp "+13x18_DSC_0800.JPG" 13x18_DSC_0800.JPG
愚蠢和简单的解决scheme,如果你想摆脱只有一个文件 – 使用午夜指挥官:D
但在开始时+符号应该不是一个问题…
$ touch +13x18_DSC_0800.JPG $ mv +13x18_DSC_0800.JPG test.jpg $ rm test.jpg
为我工作…
为了我
cp +13x18_DSC_0800.JPG 13x18_DSC_0800.JPG
像魅力一样工作,没有任何逃脱。