-2

此问题并非特定于 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 邮件存储。Cyrus 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 密钥时,点会从目标中消失。

4

1 回答 1

-1

有效的 MS Windows 文件名中不允许出现尾随点或空格。传输的文件在复制到 FAT 格式的 USB 时会默默地更改其名称以满足此要求。

来自 Microsoft 文件命名约定 ( https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file ):

不要以空格或句点结尾的文件或目录名称。尽管底层文件系统可能支持此类名称,但 Windows shell 和用户界面不支持。但是,可以将句点指定为名称的第一个字符。例如,“.temp”。

于 2019-01-29T18:08:05.130 回答