Bash
對於名稱中帶有點和其他符號的目錄,與 rsync 同步輸出錯誤“無效參數 (22)”
我嘗試使用 同步
/dir1
(ext4) 和/dir2
(ntfs)rsync -azP
,但出現以下錯誤:rsync: recv_generator: mkdir "dir2/X.Y." failed: Invalid argument (22) rsync: recv_generator: mkdir "dir2/CATSNDOGS\#123.11." failed: Invalid argument (22)
請注意,目錄
X.Y.
和CATSNDOGS #123.11.
由另一方創建,並按原樣命名,下載(使用 Python 腳本)到/dir1
.我不能
cd
進入這些目錄,ls -d
也沒有列出它們。另一方面,基於 GUI 的nautilus完美地顯示了它們和其中的內容。
問題是
rsync
試圖在 NTFS 分區中使用非法字元創建目錄。從命名約定使用目前程式碼頁中的任何字元作為名稱,包括 Unicode 字元和擴展字元集 (128–255) 中的字元,但以下字元除外:
The following reserved characters: > (less than) < (greater than) : (colon) " (double quote) / (forward slash) \ (backslash) | (vertical bar or pipe) ? (question mark) * (asterisk)
還
不要以空格或句點結尾的文件或目錄名稱。儘管底層文件系統可能支持此類名稱,但 Windows shell 和使用者界面不支持。但是,可以將句點指定為名稱的第一個字元。例如,“.temp”。
您失敗的目錄有,或非法字元或以句點結尾。