使用scp
或rsync
時,我經常無法處理「參數列表太長」的錯誤。當必須mv
或rm
,我沒有問題,使用find
和xargs
,但我不明白如何使用find
和-exec
儘管所有的SE帖子在主題上。考慮下面的問題......Bash:無法使用find -exec
我試圖
$scp /Path/to/B* [email protected]:/Path/to/
-bash: /usr/bin/scp: Argument list too long
所以,我想
$find . -name "/Path/to/B*" -exec scp "{}" [email protected].152:/Path/to/ '\;'
find: -exec: no terminating ";" or "+"
所以我試圖
$find . -name "/Path/to/B*" -exec scp "{}" [email protected]:/Path/to/ ';'
find: ./.gnupg: Permission denied
find: ./.subversion/auth: Permission denied
所以,我想
$sudo find . -name "/Path/to/B*" -exec scp "{}" [email protected]:/Path/to/ ';'
個
並沒有發生onces輸入我的密碼
我在Mac OSX版本10.11.3,終端版本的更新之後2.6.1
你爲什麼不復制目錄,而不是所有的文件呢? 「scp -r」會完成這項工作 – RaphaMex
對不起,我選擇所有文件的例子很糟糕。我改變了這個例子,明確表示我不想複製所有的文件。我現在通常做的事情是,我找到'mkdir','find ... | xargs mv ..'文件,然後'scp -r'目錄,'mv'文件和'rm -r'目錄是相當愚蠢的。 –