Linux

如何復製文件名為“+”的文件並重命名?

  • January 31, 2020

我在 linux 伺服器上有一個名為 +13x18_DSC_0800.JPG 的文件(請不要問我它是如何到達那裡的,因為我不知道它是如何到達那裡的)。我希望將其重命名為 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*驗證 glob 是否與該文件(並且僅該文件)匹配,然後您可以mv *13x18_DSC_0800* newname.jpeg重命名它。

採用

cp "+13x18_DSC_0800.JPG" 13x18_DSC_0800.JPG

引用自:https://serverfault.com/questions/337666