因為某種原因需要遠程一個CentOS主機,只能通過ssh訪問並下載文件。搞了半天不知道怎么處理文件,比如上傳和下載。那就學習下吧。
基本命令格式
由於使用ssh,登錄之后的本機地址是不需要給出的。但是也可以不登錄直接跨主機拷貝文件,可能會需要用戶名及密碼。
Linux下提供了scp(secure copy)命令,用於進行遠程拷貝文件,功能類似cp命令,支持跨服務器,並且提供加密傳輸。
scp基本命令格式如下:
scp [...] src_file dst_file
# 文件復制
$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
# 目錄復制
$scp -r local_folder remote_username@remote_ip:remote_folder
$scp -r local_folder remote_ip:remote_folder
指定用戶名是需要輸入密碼,不指定用戶名需要同時輸入用戶名和密碼。
假設主機A的ip是192.168.0.200,主機B的ip地址是192.168.0.100。
SSH登錄之后
我們在主機A(0.200)上通過ssh遠程登錄到主機B(0.100)。
從遠程主機復制文件到本地
$ scp a.txt tocy@192.168.0.200:~/a.txt # 文件
$ scp -r src tocy@192.168.0.200:~/src # 目錄
上傳本地文件到遠程主機
$ scp tocy@192.168.0.200:~/a.txt a.txt
$ scp -r tocy@192.168.0.200:~/src src
直接指定兩個主機拷貝
$scp tocy@192.168.0.200:~/b.txt v@192.168.0.100:~/from_b.txt
# 注意有些主機不支持這樣拷貝