如標題,這篇想和大家介紹scp
的用法,它可以讓你「遠端傳送檔案」到另一台電腦裡
這邊我們在「本機端」實測即可,假設我們的VM本身是一台獨立電腦
首先,你要先去install net-tools,這樣才能使用ifconfig
查我們的IP位址
之後我們到「設定」
去「網路」那,將介面卡改為「橋接介面卡」,這樣Linux它才會跑出一組「虛擬的」IP位址讓你去做傳送
在還沒設定「橋接介面卡」前,使用ifconfig
結果如下圖所示:
設定好「橋接介面卡」後,inet
那就會出現一組虛擬IP位址,這是你等等要用scp做「傳送」時會使用到的
接著install openssh-server,讓Ubuntu支援SSH server
的功能
先來說一下scp的格式:
scp 欲傳送的檔案or目錄 你VM的root名稱@你VM的IP位址:欲傳送的目的地目錄
Ex 1:
這裡我們先用cd創一個test.txt
的檔案,再用scp傳送到「家目錄」,傳送完需輸入VM的密碼,才可完成傳送。這裡的~/
為家目錄
等他傳送跑至100%後,你的「家目錄」下就會多一個test.txt
的檔案囉
Ex 2:
這裡我們先mkdir一個目錄叫test
,並到test裡建立2個檔案,分別叫test_1.txt
和test_2.txt
,再用cd ..
返回至前一個目錄,再用scp傳送到家目錄
這裡你會發現它「傳送失敗」,並顯示not a regular file(不是一個普通文件)
因為你現在傳的是一個「目錄」,而不是一個「檔案」
如果想傳送「目錄」,只要加上-r
這個參數即可,-r
代表的是「遞迴的做某件事」,所以它會遞迴的將目錄下「所有」檔案傳過去
再到家目錄看,就會看到它囉!
點進去看,也會看到剛剛建立的兩個txt檔
Ex 3:
如果你想將test_3.txt
傳到/
根目錄,卻看到它「傳送失敗」,並顯示permission denied(沒有權限)
,表示這需要「root身分」才可以傳送到此目錄
但sudo指令只在Linux才有,這時候該怎麼辦呢?
你可以先傳送到/tmp
這個目錄底下「暫存」,它預設是所有人皆可訪問
再到/tmp
這個目錄底下,用sudo + mv
去將test_3.txt
這個檔案轉移到/
根目錄下就可以囉!
以上就是今天的介紹
其實scp就跟「cp(複製)」的概念一樣,可用的參數也大同小異,有興趣的人可以用man
看scp的可用參數有哪些喔!