你想複製複製多個檔案至遠端的不同目錄,一般使用scp。但scp不允許你在一條命令上指定多個目標位址,所以只好使用多條scp命令。
scp -v /file/source1/* username@host_server:/file/destination1
scp -v /file/source2/* username@host_server:/file/destination2
scp -v /file/source3/* username@host_server:/file/destination3
怎樣用一條命令複製多個檔案至遠端的不同目錄?
最簡單的方案是使用sshfs對映遠端位址到本地,然後用cp命令。這需要訪問sftp。
mkdir host_server
sshfs username@host_server:/file host_server
cp /file/source1/* host_server/destination1
cp /file/source2/* host_server/destination2
cp /file/source3/* host_server/destination3
fusermount -u host_server
rmdir host_server
另乙個方案是,先在本地整理好檔案,然後複製整個結構。這需要rsync
mkdir destination1 destination2 destination3
ln -s /file/source1/* destination1
ln -s /file/source2/* destination2
ln -s /file/source3/* destination3
rsync -a --copy-unsafe-links destination1 destination2 destination3 username@host_server:/file
rm -r destination1 destination2 destination3
第三個是繼續使用scp,但需要先開通乙個master connection指向伺服器。
在~/.ssh/config中加入
controlmaster auto
controlpath ~/.ssh/control:%h:%p:%r
如果你你啟動乙個與既存的連線的指向(user, port, machine)相同的ssh session,第二個session會被隧道化至第乙個。建立第二個連線無需再次認證,並且速度很快。
你可以繼續使用scp,但避免每次都輸入使用者名稱密碼。
建立乙個key pair,然後把私鑰注入key agentssh-add ~/.ssh/id_rsa
,這樣你在每次連線時就無需鍵入任何內容了。
不過方案三和方案四隻是折中方案。
參考:
Linux中如何一條命令建立多個資料夾
建立資料夾 make directory 縮寫就是 mkdir 見名知意 在linux中建立資料夾使用的是mkdir 在當前目錄下建立乙個資料夾 mkdir dirname在當前目錄下建立多個資料夾 mkdir dirname1 dirname2 dirname3建立乙個資料夾,並給它建立多個子資料...
go orm如何多個協程並行更新一條記錄
最近遇到乙個問題,兩個go協程裡要同時更新同乙個記錄的不同字段 buy和sell 踩了一天的坑,才找到正確的方式。首先想到的是使用 o orm.neworm o.update rices 但是發現會出現buy或者sell乙個為空的情況。之後再這裡看到可以使用這種方式 建立orm物件 o orm.ne...
linux一條命令設定資料夾和檔案許可權
雖然我們在vps上搭建 比 比較自由,但是空間的安全設定都需要我們自己來做。一旦 空間或者網頁的不安全,可能會通過提權的方式影響其他的 當然,具體的安全老左不是太懂。主要是今天上午在遇到乙個問題,由於轉移出來的 檔案都是777許可權,然後搬遷至主機中導致403錯誤提示,這是需要我們對所有的資料夾設定...