Day 25 : Linux - 如何在windows使用scp去传送档案至Linux上?

如标题,这篇想和大家介绍scp的用法,它可以让你「远端传送档案」到另一台电脑里
这边我们在「本机端」实测即可,假设我们的VM本身是一台独立电脑


首先,你要先去install net-tools,这样才能使用ifconfig查我们的IP位址
https://ithelp.ithome.com.tw/upload/images/20211009/20141088yXlEvTHhkJ.png

之後我们到「设定」
https://ithelp.ithome.com.tw/upload/images/20211009/20141088zQ7p97sQGB.png

去「网路」那,将介面卡改为「桥接介面卡」,这样Linux它才会跑出一组「虚拟的」IP位址让你去做传送
https://ithelp.ithome.com.tw/upload/images/20211009/20141088pwYZX7GqBS.png

在还没设定「桥接介面卡」前,使用ifconfig结果如下图所示:
https://ithelp.ithome.com.tw/upload/images/20211009/20141088Ip9J0gVPQx.png

设定好「桥接介面卡」後,inet那就会出现一组虚拟IP位址,这是你等等要用scp做「传送」时会使用到的
https://ithelp.ithome.com.tw/upload/images/20211009/20141088cVzLG4GI1L.png

接着install openssh-server,让Ubuntu支援SSH server的功能
https://ithelp.ithome.com.tw/upload/images/20211009/201410884pkxI5HP0u.png

先来说一下scp的格式:

scp 欲传送的档案or目录 你VM的root名称@你VM的IP位址:欲传送的目的地目录

Ex 1:
这里我们先用cd创一个test.txt的档案,再用scp传送到「家目录」,传送完需输入VM的密码,才可完成传送。这里的~/为家目录
https://ithelp.ithome.com.tw/upload/images/20211009/20141088GETQQ53opf.png

等他传送跑至100%後,你的「家目录」下就会多一个test.txt的档案罗
https://ithelp.ithome.com.tw/upload/images/20211009/20141088Jl75ddASBD.png


Ex 2:
这里我们先mkdir一个目录叫test,并到test里建立2个档案,分别叫test_1.txttest_2.txt,再用cd ..返回至前一个目录,再用scp传送到家目录

这里你会发现它「传送失败」,并显示not a regular file(不是一个普通文件)
因为你现在传的是一个「目录」,而不是一个「档案
https://ithelp.ithome.com.tw/upload/images/20211009/201410883MpoT0p6pY.png

如果想传送「目录」,只要加上-r这个参数即可,-r代表的是「递回的做某件事」,所以它会递回的将目录下「所有」档案传过去
https://ithelp.ithome.com.tw/upload/images/20211009/20141088ESJ5VW0cI8.png

再到家目录看,就会看到它罗!
https://ithelp.ithome.com.tw/upload/images/20211009/20141088NGjLHcDwcq.png

点进去看,也会看到刚刚建立的两个txt档
https://ithelp.ithome.com.tw/upload/images/20211009/201410889DyrITUdgW.png


Ex 3:
如果你想将test_3.txt传到/根目录,却看到它「传送失败」,并显示permission denied(没有权限),表示这需要「root身分」才可以传送到此目录

但sudo指令只在Linux才有,这时候该怎麽办呢?
https://ithelp.ithome.com.tw/upload/images/20211009/20141088gijnkpTpNo.png

你可以先传送到/tmp这个目录底下「暂存」,它预设是所有人皆可访问
https://ithelp.ithome.com.tw/upload/images/20211009/20141088LskXPAiv7x.png
https://ithelp.ithome.com.tw/upload/images/20211009/20141088AGAvhBNNgS.png

再到/tmp这个目录底下,用sudo + mv去将test_3.txt这个档案转移到/根目录下就可以罗!
https://ithelp.ithome.com.tw/upload/images/20211009/20141088EpIfz0fo7q.png


以上就是今天的介绍

其实scp就跟「cp(复制)」的概念一样,可用的参数也大同小异,有兴趣的人可以用man看scp的可用参数有哪些喔!


<<:  Day24 read-write lock

>>:  Day24 Let's ODOO: Discuss

番外篇(2)一起来做 To Do List!- 实作篇(2)

大家新年快乐!上一篇完成後还剩下这些功能: 可以一次删除全部的代办事项 能删除所有已完成的代办事项的...

Day 18 - Spring Boot 日志纪录

日志纪录是网站的一个非常重要的功能,不论是对外的使用者或是对内的管理,实际运营上一定都会遇到许许多多...

[D29] : 一个Queue+Docker在Local的实作(3/4)

前面说过Passer如何把请求发到MQ去 今天讲Center怎麽去找MQ把请求取出来。 Cente...

序言 - UI/UX 与 网页设计一路走来

大家好,我是 WEN ,目前在科技公司担任 UIUX 设计师。这次铁人赛的目标,是在30天之内来挑战...

Day20 CSS预处理器是什麽?

CSS preprocessor(预处理器)是什麽? CSS 预处理器是个能透过使用预处理器语法,...