文章目录

  • 1 Samba
    • 1)安装 samba
    • 2)修改配置文件
    • 3)设置用户和密码
    • 4)本地设置登录
  • 2 Linux 通过 SSH 远程 Linux
  • 3 Window 通过 SSH 远程 Linux
    • 1)Xshell
    • 2)TeamViewer
  • 3 云端运行
    • 1)Linux 写好的代码在 Linux2 上运行(局域网)
    • 2)Window 写好的代码在 Linux 上运行(局域网)
  • 4 文件传输
    • 1)window to Linux
    • 2)Linux to Linux
  • 5 自己的云计算, 多电脑共享你云端文件
  • 6 挂载
  • 附录——vnc viewer

1 Samba

本小节介绍借助 samba 实现 linux 服务器的文件夹和 window 本地电脑的文件夹共享,参考 linux映射磁盘或者文件夹到windows

1)安装 samba

首先在 Ubuntu 安装好 samba 一套件,具体步骤为

安装 samba:

apt-get install samba

安装 smbclient:

apt-get install smbclient

2)修改配置文件

vim /etc/samba/smb.conf 编辑 smb.conf 文件

在配置文件末尾添加

[share]comment = Shared Folder require passwordpath = /home/bryant/share/browseable = yesavailable = yespublic = yeswritable = yesforce user = rootvalid users = bryant, rootwrite list = bryant, rootcreate mask = 0777directory mask = 0777force directory mode = 0777force create mode = 0777guest ok = no

上面配置文件中, path 是要共享的文件夹目录

valid userswrite list 中的 bryant 是自己的服务器用户名

保存后重新启动 samba/etc/init.d/samba restart

3)设置用户和密码

smbpasswd -a bryant 提示输入密码。

这步骤好像可以省略

4)本地设置登录

最后 windows 电脑上,右键“网上邻居”或者“我的电脑”,选择 “映射网络驱动器”

在文件夹中按如下格式输入

\\服务器ip地址]\smb.conf 配置文件中的新添加的第一行 [] 中的内容

eg,如果服务器的 ip 为 123.456.78.910,则在文件夹中填写如下内容即可

\\123.456.78.910\share

这样就建立起了一个“网络驱动器”,与服务器的 /home/bryant/share/ 文件夹共享,映射成功的“网络驱动器”使用方法和本地磁盘(CDEF盘)一样

2 Linux 通过 SSH 远程 Linux

1)给 Linux 安装 OpenSSH

为了实现 SSH 功能, 你得确定你的 Linux 上有安装了 SSH 服务, 通常可能是没有安装的. 所以我们将要安装一个开源的 SSH 工具, 叫做 OpenSSH, 将你的 Linux 变成一个服务器 (就是像你访问网站一样访问你的 Linux). 在 Linux 上打开你的 Terminal, 然后输入下面这句话安装 openssh-server. sudo 是使用管理员权限的意思, 所以回车后它可能要求你输入你用户密码.
sudo apt-get install openssh-server

2)Linux SSH 去 Linux
ssh [要控制的用户名]@[它的IP地址]
eg ssh ym@xxx.xxx.xx.xx

如果连接服务器映射了端口号,则是 ssh -p [端口号] [要控制的用户名]@[它的IP地址]
eg ssh -p 44020 ym@xxx.xxx.xx.xx

确保你操控和被操控的两台电脑连接上了同一个路由器. 然后在你被操控电脑的 terminal 上输入这个获取被操控电脑的 ip 号码. ifconfig
如果它提示你没有安装 ifconfig, 你就按它的要求安装就好. 输入下面指令就能安装. sudo apt install net-tools

安装好了后,在终端输入ifconfig,找到以 inet 开头的字样, 这就是你在这个路由下的 ip 地址了.

3 Window 通过 SSH 远程 Linux

1)Xshell

连 Ubuntu Server 用 xshell 软件比较方便的,因为图形页面。
链接:https://pan.baidu.com/s/1ue4YGCgQnYao2VCrmN2hQQ
提取码:syqd

下载完成后,新建会话属性,在类别中选中连接

  • 名称:随便填
  • 主机:就是需要连接的服务器的 ip
  • 端口号:端口映射号


然后选择类别中的 用户身份验证

  • 用户名:linux 系统中的用户名
  • 密码:用户名密码

填好之后连接成功会出现如下界面,就可以在 windows 上远程控制 Linux 系统了。

文件传输,用如下箭头所示的地方!

2)TeamViewer

这个适合连接 Ubuntu 系统(有图形页面的),去官网下载一下就行,在 windows 和 Ubuntu 系统中下相应的版本,然后通过伙伴的 ID密码 连接!同样手机也可以通过这个方法连接到自己的电脑(也有许多 SSH软件可以通过手机连接到自己的电脑,在 app store 搜索 SSH 即可)!

3 云端运行

在自己的笔记本上(Linux 或者 window系统)下写好的程序运行起来太占内存,影响做其它的事情,想丢去空闲的 Linux(下面简称 Linux2) 系统上运行,怎么破?

1)Linux 写好的代码在 Linux2 上运行(局域网)

eg 如下 python 代码,命名为 1.py

import platform
a = 0
for i in range(9999):a += i
print("Finish job, result=%i" % a)
print("This is", platform.system())

现在本地的 Linux 系统上运行,
在终端输入 python 1.py 结果如下

Finish job, result=49985001
This is Linux

再用空闲的 Linux 系统上运行,采用如下形式

ssh 用户名@Linux2的ip python < 要执行的代码在Linux中的路径

或者

ssh -p 端口号 用户名@Linux2的ip python < 要执行的代码在Linux中的路径

具体一点

ssh -p 43000 ym@202.197.66.62 python < /root/userfolder/1.py

output

Finish job, result=49985001
This is Linux

这样写就不会连接上 Linux2 了,只会让 Linux 程序在 Linux2 上运行!打工告成

2)Window 写好的代码在 Linux 上运行(局域网)

打开 cmd,cd 到程序目录,输入 python 1.py,结果如下

Finish job, result=49985001
This is Windows


我用的是 windows 10 系统,有自带的 ssh 功能(设置->管理可选功能),安装 OpenSSH 客户端OpenSSH 服务器

此时在 cmd 中输入 ssh,就可以拉

在 cmd 中,我可以成功的连接到我的 Linux

但无法把在 Linux 上运行的程序结果返回在 cmd 窗口中,很遗憾!我后来借用了 git 工具(成功把windows的程序在 linux 下运行了),git 可以自己去下载安装!!!

4 文件传输

如果是有很多的 Python 文件怎么办呢? 有时候 Python 文件是一环扣一环, 这个文件里调用了那个文件的东西. 这时我们就能先全部复制所有必须文件去 Linux 的缓存区 或者 桌面, 然后再使用 ssh 在 Linux 云端的运行传送过去的文件.

1)window to Linux

a.py 需要调用 b.py

# This is a.py
from b import inner_func
inner_func()

b.py

# This is b.py
def inner_func():print("This is a function in b")

把 windows 中的 a.pyb.py 同时传入服务器的 /root/userfolder/ 目录下,我在 windows 的 git 下输入如下指令

 scp -r -P 44020 {a,b}.py root@202.197.66.62:/root/userfolder/

scp -r -P 端口号 源文件 Linux用户名@Linux的ip地址:目标文件夹


如果设计到 permission 的问题,请参考 linux下scp报Permission denied错误的解决

执行的话, 和上面的步骤有点不一样, 在本地用 ssh 去云端, 但是 ssh 的时候同时发送一条指令去执行 a.py. 这条指令我们用 "" 给框起来, 说明是要发送去云端再执行的指令.

ssh -p 44020 root@202.197.66.62 "python /root/userfolder/a.py"

2)Linux to Linux

基本同 window to Linux,改下路径即可,这里不再赘述
例如,把 Linux 系统上的 file1 文件夹移动到 Linux2 file2 目录下,假设 Linux2 的端口号为 40000,Linux2 中的用户名为 bryant,ip 为 200.100.50.10

scp -r -P 40000 ./file1/ bryant@200.100.50.10:/file2/

5 自己的云计算, 多电脑共享你云端文件

比如要自己的 window 和 Linux 文件共享,最好两个都有图形页面!!!

参考 https://morvanzhou.github.io/tutorials/others/linux-basic/5-02-share-folder/

6 挂载

参考 linux里挂载(mount)和取消挂载(umount)命令的使用

挂载 mount

mount -t cifs /source/file/path /target/file/path -o ro, username="bryant"

例如把 /home/bryant/1 挂载到 /home/bryant/2,可以写成如下形式

mount -t cifs /home/bryant/1 /home/bryant/2 -o ro, username="bryant"

取消挂载 umount

umount /home/bryant/1 或者

umount /home/bryant/2 或者

umount /home/bryant/1 /home/bryant/2

Ps:umount 时如果显示 device busy,则表示要取消挂载的磁盘正在被使用

附录——vnc viewer

vnc viewer 里面如何复制到本地

输入

vncconfig

弹框


即可

【Linux】Share Files相关推荐

  1. 【Linux】一步一步学Linux——dir命令(了解)(25)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 列出目录的内容 温馨提示:该命令只需了解,实际上使用ls代 ...

  2. 【Linux】一步一步学Linux——tree命令(23)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 tree命令以树状图列出目录的内容. 02. 命令格式 t ...

  3. 【Linux】一步一步学Linux——Linux系统目录详解(09)

    00. 目录 文章目录 00. 目录 01. 文件系统介绍 02. 常用目录介绍 03. /etc目录文件 04. /dev目录文件 05. /usr目录文件 06. /var目录文件 07. /pr ...

  4. 【Linux】GCC程序开发工具(下)

    00. 目录 文章目录 00. 目录 01. GCC的二进制工具 02. objdump 03. objcopy命令 04. 总结 05. 附录 01. GCC的二进制工具 objdump 显示目标文 ...

  5. 【Linux】GCC程序开发工具(中)

    00. 目录 文章目录 00. 目录 01. GCC的二进制工具 02. ar命令 03. readelf命令 04. strings命令 05. nm命令 06. strip命令 07. 附录 01 ...

  6. 【Linux】ubuntu安装ssh服务端openssh-server

    [Linux]ubuntu安装ssh服务端openssh-server 1.背景 2.解决办法 3.测试 1.背景 ubuntu安装后默认只有ssh客户端,只能去连其它ssh服务器: 其它客户端想要连 ...

  7. 【Linux】PXE+Kickstart无人值守安装系统

    文章目录 前言 一.简介 二.配置DHCP 三.TFTP 四.SYSLinux服务程序 五.vsftpd服务 六.Kickstart应答文件 七.自动安装系统 八.总结 前言 本文来记录下PXE+Ki ...

  8. 【Linux】一步一步学Linux——dpkg-reconfigure命令(272)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 dpkg-reconfigure命令是Debian lin ...

  9. 【Linux】一步一步学Linux——dpkg-query命令(271)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 dpkg-query命令是Debian linux中软件包 ...

最新文章

  1. Android移动开发之【Android实战项目】漂亮Button样式
  2. Android安全开发之安全使用HTTPS
  3. Codeforces Gym 100676G Training Camp 状压dp
  4. springboot如何盈利_彻底透析SpringBoot jar可执行原理
  5. SQL脚本文件的部署研究
  6. 通过Blazor使用C#开发SPA单页面应用程序(1)
  7. [TJOI2018]智力竞赛 (匈牙利)
  8. python中的lambda函数用法--无需定义函数名的函数或子程序,避免代码充斥着大量单行函数
  9. 线性代数 矩阵消元与回代
  10. Security+ 学习笔记23 帐户管理
  11. Mybatis起别名的方法
  12. DASCTF X GFCTF 2022十月挑战赛 WriteUp
  13. Ubuntu移动硬盘下载
  14. 华为实习结束后,鹅厂和字节跳动递来的offer让我手足无措
  15. 小程序业务域名配置如何将文件放置在域名根目录说明
  16. 智慧工厂:EasyNVR如何让工厂实现现代化与智能化视频监控与管理?
  17. 带键盘的java模拟器_Java模拟器v1.0正式版
  18. 学习笔记2 RS232、RS485和RS422通讯
  19. 电商网站项目开发开篇
  20. PBOC 文件结构详解1

热门文章

  1. 扩充传统DTU接入能力:传统DTU与网关配合实现设备上云
  2. about hacker
  3. 浅析 耦合 紧耦合 松耦合 解耦
  4. TWAIN 操作教程
  5. Twain的学习记录和基于Qt的相关开源项目详解
  6. [2]Mohamed M. Atia,Steven.L. Waslander. Map-aided Adaptive GNSS/IMU Sensor Fusion Scheme for Robust
  7. 又一家网盘,凉凉了!!!
  8. 蜷缩在泡沫里的机器人
  9. 什么是室内多芯分支光缆?室内多芯分支光缆技术规格参数介绍
  10. 那新人猎头要怎么积累人脉呢?