前言
我們常常會在本機電腦上進行開發,當要將程式部署在遠端伺服器的時候就必須透過像是 FileZilla 或 FTP 形式從本機上傳到伺服器,或是使用 git 版本控制將程式碼推送到主機。本篇文章將提供另一個快速方法使用 scp 指令與遠端主機之間拷貝檔案,它是一種安全拷貝(secure copy)的縮寫。scp 命令使用 ssh 來傳輸資料,並使用與 ssh 相同的認證模式,提供同樣的安全保障。
使用方法
必須注意的是遠端的 Linux 主機必須要開啟 SSH 遠端登入服務,否則無法使用 scp 指令複製檔案。若尚未設定的讀者可以參考[Linux系統] ubuntu利用SSH安全加密連線遠程登錄。
scp 指令的語法跟一般的 cp 類似。假設今天要從自己電腦本機(Mac、Windows)上傳某資料夾內容到伺服器,可以參考以下指令。例如將本機的 ./test
複製到 192.168.0.1
這台主機上的 /home/my-server/桌面/test
,而登入 192.168.0.1 這台主機時,是以 my-server
這個帳號登入。
scp -r ./test my-server@192.168.0.1:/home/my-server/桌面/test
若要讓檔案在複製之後,還可保留原本的修改時間、存取時間與權限,可以加上 -p 參數。
資料夾權限問題
若伺服器某資料夾遇到權限問題可以透過 chmod 將權限打開(for every user)。
cd /Users/public
chmod 777 *
版主10在2020年首次開設YouTube頻道,嘗試拍攝程式教學。想要了解更多的朋友歡迎關注我的頻道,您的訂閱就是最大的支持~如果想學其他什麼內容也歡迎許願XD
https://www.youtube.com/channel/UCSNPCGvMYEV-yIXAVt3FA5A
https://www.youtube.com/channel/UCSNPCGvMYEV-yIXAVt3FA5A