掌握SCP命令,輕松實現(xiàn)Linux與遠程服務(wù)器間的文件傳輸
在Linux環(huán)境中,scp 是安全拷貝協(xié)議(Secure Copy Protocol)的縮寫,和眾多 Linux/Unix 使用者所熟知的拷貝(cp)命令一樣。scp 的使用方式類似于 cp 命令,cp 命令將一個文件或文件夾從本地操作系統(tǒng)的一個位置(源)拷貝到目標(biāo)位置(目的),而 scp 用來將文件或文件夾從網(wǎng)絡(luò)上的一個主機拷貝到另一個主機當(dāng)中去。
語法
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2
簡易寫法:
scp [可選參數(shù)] file_source file_target
參數(shù)說明:
-B 采取批量模式(避免詢問密碼或口令)
-C 啟用壓縮。通過指明 -C 參數(shù)來開啟壓縮模式。
-c 加密方式
選擇在傳輸過程中用來加密的加密方式 這個選項會被直接傳遞到 ssh(1)。
-F ssh 配置
給 ssh 指定一個用來替代默認(rèn)配置的配置文件。這個選項會被直接傳遞到 ssh(1)。
-l 限速
限制命令使用的帶寬,默認(rèn)單位是 Kbit/s。
-P 端口
指定需要的連接的遠程主機的端口。
注意,這個選項使用的是一個大寫的“P”,因為小寫的“-p”已經(jīng)用來保留目標(biāo)文件的時間和模式相關(guān)信息。(LCTT 譯注:ssh 命令中使用小寫的“-p”來指定目標(biāo)端口。)
-p 保留文件原來的修改時間,訪問時間以及權(quán)限模式。
-q 靜默模式:不顯示來自 ssh(1) 命令的進度信息,警告和診斷信息。
-r 遞歸拷貝整個目錄。
注意,scp 命令在樹形遍歷的時候同樣會跟隨符號連接,復(fù)制所連接的文件。
-v 詳細模式。scp 和 ssh(1) 將會打印出處理過程中的調(diào)試信息。這可以幫助你調(diào)試連接、認(rèn)證和配置方面的問題。
實例
1、從本地復(fù)制到遠程
命令格式:
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個指定了用戶名,命令執(zhí)行后需要再輸入密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名;
- 第3,4個沒有指定用戶名,命令執(zhí)行后需要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名;
應(yīng)用實例:
scp /home/space/music/1.mp3 root@weijishu.cn:/data/others/music
scp /home/space/music/1.mp3 root@weijishu.cn:/data/music/001.mp3
scp /home/space/music/1.mp3 weijishu.cn:/data/others/music
scp /home/space/music/1.mp3 weijishu.cn:/data/music/001.mp3
復(fù)制目錄命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
- 第1個指定了用戶名,命令執(zhí)行后需要再輸入密碼;
- 第2個沒有指定用戶名,命令執(zhí)行后需要輸入用戶名和密碼;
應(yīng)用實例:
scp -r /home/space/music/ root@weijishu.cn:/home/root/others/
scp -r /home/space/music/ weijishu.cn:/home/root/others/
上面命令將本地 music 目錄復(fù)制到遠程 others 目錄下。
2、從遠程復(fù)制到本地
從遠程復(fù)制到本地,只要將從本地復(fù)制到遠程的命令的后2個參數(shù)調(diào)換順序即可,如下實例
應(yīng)用實例:
scp root@weijishu.cn:/home/root/others/music /home/space/music/1.mp3
scp -r www.runoob.com:/home/root/others/ /home/space/music/
說明
1.如果遠程服務(wù)器防火墻有為scp命令設(shè)置了指定的端口,我們需要使用 -P 參數(shù)來設(shè)置命令的端口號,命令格式如下:
#scp 命令使用端口號 4588
scp -P 4588 remote@weijishu.cn:/usr/local/sin.sh /home/administrator
2.使用scp命令要確保使用的用戶具有可讀取遠程服務(wù)器相應(yīng)文件的權(quán)限,否則scp命令是無法起作用的。
總結(jié)
Linux SCP 命令是一種在兩個遠程節(jié)點之間傳輸文件的便捷且安全的方式,而無需擔(dān)心攻擊者窺探你的數(shù)據(jù)。