【Linux】Share Files
文章目录
- 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 users
和 write 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.py
和 b.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相关推荐
- 【Linux】一步一步学Linux——dir命令(了解)(25)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 列出目录的内容 温馨提示:该命令只需了解,实际上使用ls代 ...
- 【Linux】一步一步学Linux——tree命令(23)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 tree命令以树状图列出目录的内容. 02. 命令格式 t ...
- 【Linux】一步一步学Linux——Linux系统目录详解(09)
00. 目录 文章目录 00. 目录 01. 文件系统介绍 02. 常用目录介绍 03. /etc目录文件 04. /dev目录文件 05. /usr目录文件 06. /var目录文件 07. /pr ...
- 【Linux】GCC程序开发工具(下)
00. 目录 文章目录 00. 目录 01. GCC的二进制工具 02. objdump 03. objcopy命令 04. 总结 05. 附录 01. GCC的二进制工具 objdump 显示目标文 ...
- 【Linux】GCC程序开发工具(中)
00. 目录 文章目录 00. 目录 01. GCC的二进制工具 02. ar命令 03. readelf命令 04. strings命令 05. nm命令 06. strip命令 07. 附录 01 ...
- 【Linux】ubuntu安装ssh服务端openssh-server
[Linux]ubuntu安装ssh服务端openssh-server 1.背景 2.解决办法 3.测试 1.背景 ubuntu安装后默认只有ssh客户端,只能去连其它ssh服务器: 其它客户端想要连 ...
- 【Linux】PXE+Kickstart无人值守安装系统
文章目录 前言 一.简介 二.配置DHCP 三.TFTP 四.SYSLinux服务程序 五.vsftpd服务 六.Kickstart应答文件 七.自动安装系统 八.总结 前言 本文来记录下PXE+Ki ...
- 【Linux】一步一步学Linux——dpkg-reconfigure命令(272)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 dpkg-reconfigure命令是Debian lin ...
- 【Linux】一步一步学Linux——dpkg-query命令(271)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 dpkg-query命令是Debian linux中软件包 ...
最新文章
- Android移动开发之【Android实战项目】漂亮Button样式
- Android安全开发之安全使用HTTPS
- Codeforces Gym 100676G Training Camp 状压dp
- springboot如何盈利_彻底透析SpringBoot jar可执行原理
- SQL脚本文件的部署研究
- 通过Blazor使用C#开发SPA单页面应用程序(1)
- [TJOI2018]智力竞赛 (匈牙利)
- python中的lambda函数用法--无需定义函数名的函数或子程序,避免代码充斥着大量单行函数
- 线性代数 矩阵消元与回代
- Security+ 学习笔记23 帐户管理
- Mybatis起别名的方法
- DASCTF X GFCTF 2022十月挑战赛 WriteUp
- Ubuntu移动硬盘下载
- 华为实习结束后,鹅厂和字节跳动递来的offer让我手足无措
- 小程序业务域名配置如何将文件放置在域名根目录说明
- 智慧工厂:EasyNVR如何让工厂实现现代化与智能化视频监控与管理?
- 带键盘的java模拟器_Java模拟器v1.0正式版
- 学习笔记2 RS232、RS485和RS422通讯
- 电商网站项目开发开篇
- PBOC 文件结构详解1
热门文章
- 扩充传统DTU接入能力:传统DTU与网关配合实现设备上云
- about hacker
- 浅析 耦合 紧耦合 松耦合 解耦
- TWAIN 操作教程
- Twain的学习记录和基于Qt的相关开源项目详解
- [2]Mohamed M. Atia,Steven.L. Waslander. Map-aided Adaptive GNSS/IMU Sensor Fusion Scheme for Robust
- 又一家网盘,凉凉了!!!
- 蜷缩在泡沫里的机器人
- 什么是室内多芯分支光缆?室内多芯分支光缆技术规格参数介绍
- 那新人猎头要怎么积累人脉呢?