Linux下的scp拷貝命令詳解
相同Linux系統中對文件複製拷貝可以用CP命令:
cp [options] source dest
cp [options] source… directory
說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。
-a 儘可能將檔案狀態、權限等資料都照原狀予以複製。
-r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。
-f 若目的地已經有相同檔名的檔案存在,則在複製前先予以刪除再行復制。
不同的Linux之間copy文件常用有3種方法:
第一種就是ftp,也就是其中一臺Linux安裝ftp Server,這樣可以另外一臺使用ftp的client程序來進行文件的copy。
第二種方法就是採用samba服務,類似Windows文件copy 的方式來操作,比較簡潔方便。
第三種就是利用scp命令來進行文件複製。
scp是有Security的文件copy,基於ssh登錄。操作起來比較方便,比如要把當前一個文件copy到遠程另外一臺主機上
從 本地 複製到 遠程
命令格式:
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2個指定了用戶名,命令執行後需要再輸入密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名;
第3,4個沒有指定用戶名,命令執行後需要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名;
從 遠程 複製到 本地,只要將 從 本地 複製到 遠程 的命令 的 後2個參數 調換順序 即可;
相比於CP命令,主要就是在source跟dest之前加上remote_username@remote_ip:,通過加的位置的不同區分出到底從遠程到本地還是本地到遠程
可能有用的幾個參數 :
-v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來查看連接 , 認證 , 或是配置錯誤 .
-C 使能壓縮選項 .
-P 選擇端口 . 注意 -p 已經被 rcp 使用 .
-4 強行使用 IPV4 地址 .
-6 強行使用 IPV6 地址 .
注意兩點:
1.如果遠程服務器防火牆有特殊限制,scp便要走特殊端口,具體用什麼端口視情況而定,命令格式如下:
#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的用戶是否具有可讀取遠程服務器相應文件的權限。