$ ls cn*
cn blah blah.txt
$ ls cn\ *
ls: cannot access 'cn *': No such file or directory
$ ls cn*|hexdump -C
00000000 63 6e e2 80 85 62 6c 61 68 c2 a0 62 6c 61 68 2e |cn...blah..blah.|
00000010 74 78 74 0a |txt.|
$ mv cn blah blah.txt 'cn blah blah.txt'
mv: 'cn blah blah.txt' and 'cn blah blah.txt' are the same file
注意:0xe28085 是 U+2005(FOUR-PER-EM SPACE) 的 UTF-8 编码,0xC2A0 是 U+A0(NO-BREAK SPACE) 的 UTF-8 编码,我将第一个参数复制粘贴mv
到这就是为什么'
文件名周围不需要 s,因为文件名中没有普通空格(U+20)。
如何重命名文件以便可以用常规空格(即 U+20)键入文件名?