scp協議
scp [options] [本地用戶名@IP地址:]file1 [遠程用戶名 @IP 地址 :] file2
options:
-v 用來顯示進度,可以用來查看連接,認證,或是配置錯誤。
-C 使能壓縮選項。如果傳輸的文件沒有壓縮,可以使用-C參數
-c 選擇使用那個加密算法(具體對應到ssh的-c cipher-spec,這個參數值會被傳給ssh,可選擇值3des,blowfish,des)
-P 選擇端口
-r 遞歸拷貝整個目錄
-l 限制使用帶寬,Kbit/s
-o 指定傳給ssh的一些參數值,比如Compression=yes
-p 保留文件的修改時間等信息。
親測可用實例:
1、上傳。向Linux的/opt目錄上傳c.txt,傳輸文件夾不需要帶文件名,且不支持未創建的中文文件目錄
scp –r C:\Users\Raodi\Desktop\abc\c.txt root@192.168.1.250:/opt
2、下載。從Linux的/opt目錄下載c.txt
scp –r root@192.168.1.250:/opt/c.txt C:\Users\Raodi\Desktop\abc\d.txt
sftp協議
1、下載。從Linux上獲取某個文件,傳輸文件夾需要加“-r”操作
sftp raodi@192.168.1.250:/opt/a.txt C:\Users\Raodi\Desktop\abc\b.txt
注意:無論是文件或者文件夾的上傳與下載,在不進行任何安裝和配置的情況下,皆不能反過來使用。如“sftp C:\Users\Raodi\Desktop\abc\b.txt raodi@192.168.1.250:/opt/a.txt ”,否則會出現類似錯誤:
ssh: Could not resolve hostname C:\\Users\\Raodi\\Desktop\\abc\\e.txt: \262\273\326\252\265\300\325\342\321\371\265\304\326\367\273\372\241\243
Connection closed
2、上傳與下載。
sftp root@192.168.1.250 #建立連接 -- 會停留sftp 操作 put C:\Users\Raodi\Desktop\abc\b.txt /opt/b.txt #從本地上傳文件 get /opt/b.txt C:\Users\Raodi\Desktop\abc\c.txt #下載文件 sftp root@192.168.1.250:/opt #直接連接到遠程Linux的/opt目錄下
與遠程相對應的本地操作,只需要在命令前加上”l” 即可,方便好記。
例如:lcd lpwd lmkdir lpwd本地 pwd遠程Linux
ls -r -l #查看遠程詳細文件屬性
小結
由於sftp協議進行客戶端連接后,可直接進行Linux命令的操作,而scp協議不能。所以為了更加便捷地進行文件傳輸,提出優化組合方案:上傳下載而無須查看文件是否存在時,可使用scp協議直接進行操作;上傳下載過程中需要查看文件是否存在,建議使用sftp協議。
