这个问题不是 rsync 特有的。 如果我touch
一个名为 /media/KINGSTON/seventeen.
的文件,则创建的文件将/media/KINGSTON/seventeen
。 有人可以解释为什么吗?
dmesg
. . .
ugen3.2: <Kingston DataTraveler 3.0> at usbus3
umass0 on uhub6
umass0: <Kingston DataTraveler 3.0, class 0/0, rev 2.10/1.10, addr 2> on usbus3
umass0: SCSI over Bulk-Only; quirks = 0x8100
umass0:5:0: Attached to scbus5
da0 at umass-sim0 bus 0 scbus5 target 0 lun 0
da0: <Kingston DataTraveler 3.0 PMAP> Removable Direct Access SPC-4 SCSI device
da0: Serial Number 485B39472CCAB171D76F0DF0
da0: 40.000MB/s transfers
da0: 118272MB (242221056 512 byte sectors)
da0: quirks=0x2<NO_6_BYTE>
gpart show /dev/da0*
=> 63 242220993 da0 MBR (116G)
63 31041 - free - (15M)
31104 242189952 1 !12 [active] (115G)
我正在使用 rsync 备份一个 cyrus-imap 邮件存储。 赛勒斯 imap 消息文件名是数字后跟一个点 ( ####.
)。 当这些消息文件在 FreeBSD-11.2 主机上使用 rsync
传输时, 目标文件名上的尾随点被移除 (####.
变为 ####
)。 有没有办法防止这种行为?
rsync
--copy-links
--no-group
--no-perms
--progress
--protect-args
--modify-window=1
--recursive
--times
--update
--verbose
./Documents/Personal/IMAP
/media/KINGSTON/Documents/Personal/IMAP
从进一步的测试来看,这种行为取决于目的地。 从系统硬盘复制和复制到系统硬盘时,尾随点出现在目标文件名中。 当目标是 USB 密钥时,点会从目标中消失。
有效的 MS Windows 文件名中不允许使用尾随点或空格。 传输的文件在复制到 FAT 格式的 USB 时会以静默方式更改其名称以满足此要求。
从Microsoft文件命名约定 (https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file):
不要以空格或句点结束文件或目录名称。虽然 底层文件系统可能支持这样的名称,Windows shell 而用户界面则没有。但是,可以指定 句点作为名称的第一个字符。例如,".temp"。