![为什么 Linux 通过网络复制时会重命名目录?](https://linux22.com/image/549771/%E4%B8%BA%E4%BB%80%E4%B9%88%20Linux%20%E9%80%9A%E8%BF%87%E7%BD%91%E7%BB%9C%E5%A4%8D%E5%88%B6%E6%97%B6%E4%BC%9A%E9%87%8D%E5%91%BD%E5%90%8D%E7%9B%AE%E5%BD%95%EF%BC%9F.png)
运行命令
sudo rsync -a -e ssh /home/blah user@server:/home/blah
rsync 似乎正在重命名目录(不确定是否正在重命名文件)。例如,“MIA”正在转换为“MPTBTC~C”。通过 samba 复制时也会发生这种情况。
目标文件系统是ext4。
更新:这种情况似乎只发生在以句点结尾的目录中。谷歌搜索表明这应该只是 Windows 下的问题,但我正在从 Linux (ext3) 同步到 Linux (ext4)。
答案1
尝试使用--iconv
参数来rsync
排除编码问题。例如:
rsync -a -e ssh --iconv=utf8,iso88591 /home/blah user@server:/home/blah
这将强制 rsync 使用 UTF-8 作为本地文件名,并使用 ISO-8859-1(Latin-1)作为远程文件名,并根据需要进行“翻译”。
您也可以尝试使用该convmv
实用程序(apt-get install convmv
在基于 Debian 的系统上)来修复本地编码问题,尽管您发布的文件名看起来不像convmv
通常可以修复的那种名称。
此外,请发布您提到的调查结果的链接。