linux 間傳輸檔案的幾種方法scp、sftp
sftp 是一個互動式檔案傳輸程式。它類似於 ftp, 但它進行加密傳輸,比FTP有更高的安全性。
# yum install ftp 安裝ftp支援 RedHat系列版本下命令
1.常用登陸方式:
格式:sftp <user>@<host>
通過sftp連線<host>,埠為預設的22,指定使用者<user>。
2.檢視sftp支援的命令
使用help命令,檢視支援的命令,如:
sftp>help
(其中命令前面有“l”表示本地執行,其他表示在所登入的遠端主機上面執行)
3.基本的使用
sftp主要是用來傳輸檔案的,包括上傳檔案(從本機到遠端主機) ,下載檔案(從遠端主機到本機)。
(1)檔案下載
get [-Ppr] remote [local]
如:get test.cpp ./Project/
將遠端當前目錄下的檔案test.cpp下載到本地當前目錄的Project資料夾中。
(2)檔案上傳
put [-Ppr] local [remote]
如:put /home/liu/Software/RHEL_5.5\ x86_64.iso /home/xudong/Blog/
將本地/home/liu/Software/目錄下的ios檔案傳送到遠端登陸主機的/home/xudong/Blog/目錄下。
(3)其他命令
可以使用命令還是有幾個的,如ls、lls;cd、lcd;pwd、lpwd等。具體檢視help輸出吧。
2、scp命令
指令:scp 在不同的Linux主機間複製檔案 帶有Security的檔案copy,基於ssh登入。
有些linux發行版沒有自帶scp,因此需要安裝scp # yum -y install openssh-clients
基本語法: # scp [引數] source target
常見引數 -v : 顯示進度,可以用來檢視連線、認證或是配置錯誤 -r : 賦值目錄 -C :使能壓縮選項 -P :選擇埠
--將本地複製到遠端 # scp local_file [email protected]_ip:remote_folder/remote_file
--將遠端的複製到本地
# scp [email protected]:/doiido/hello.sh /doiido/newhello.sh
--複製目錄
當需要傳輸目錄的時候,僅需要加上引數-r即可以,例如 # scp -r /doiido/hello/ [email protected]:/doiido/
--注意: 如果遠端伺服器修改了ssh埠,scp則需要使用修改後的埠,如遠端伺服器ssh埠為2222,則需加-P引數: # scp -p 2222 /doiido/hello.sh [email protected]:/doiido
在使用scp之前,需要確認遠端連線的使用者是否具有讀取遠端伺服器相應檔案的許可權。同時還需要注意,執行scp這條指令的使用者是否具有本地相應目錄的許可權。
配置scp在Linux或Unix之間傳輸檔案無需密碼 http://www.linuxidc.com/Linux/2015-01/111894.htm
Linux之cp/scp命令+scp命令詳解 http://www.linuxidc.com/Linux/2014-09/107127.htm
CentOS 不能使用scp命令 解決方法 http://www.linuxidc.com/Linux/2014-09/106569.htm
兩臺Linux主機之間scp複製檔案 http://www.linuxidc.com/Linux/2014-04/99979.htm
總結:
scp的優點是使用簡單,缺點是無法列出遠端目錄和改變目錄。複雜一點的用法是用sftp。 sftp: sftp -o port=60066 [email protected]:/home/user/ 其中-o port選項指定非預設的ssh埠 --------------------- 轉載:https://blog.csdn.net/russ44/article/details/52840206