Linux(CentOS)中共享文件的方法:U盘/移动硬盘、VMware Tools、FTP、Samba、http.server

Linux从入门到入土 系列文章目录

第一章 Linux简介:Linux发行版、内核版本号的形式和含义、Linux常见目录
第二章 Linux虚拟机配置: CentOS7/openEuler NAT网络配置 关闭SELinux 关闭防火墙 设置静态IP
第三章 Linux软件包管理工具:CentOS/openEuler的rpm、yum;Debian/Ubuntu的dpkg、apt
第四章 Linux符号链接(软链接)、硬链接的创建方式、特性和常见用途
第五章 Linux运行级别 进入不同控制台的快捷键 VI/VIM极速入门
第六章 Linux磁盘管理 硬盘&分区命名规则 Linux目录结构介绍 /etc/fstab详解 新硬盘挂载流程
第七章 Linux中共享文件的方法:U盘/移动硬盘、VMware Tools、FTP、Samba、http.server

通过U盘/移动硬盘

通过创建挂载点(一个空文件夹),使用mount命令将对应设备挂载至挂载点即可使用。

NTFS文件系统

在CentOS中,无法直接挂载NTFS文件系统,需要安装ntfs-3g软件包:

sudo yum install ntfs-3g -y

接着创建挂载点:

mkdir /mnt/ntfs

注:

  1. 用作挂载点的文件夹名称随意;
  2. 有其他未被占用的挂载点,也可跳过本步骤,直接使用未被占用的挂载点

最后挂载分区,假设要挂载的NTFS分区设备名为/dev/sdb1,使用以下命令进行挂载:

sudo mount -t ntfs-3g /dev/sdb1 /mnt/ntfs

-t指定挂载的文件系统的类型,如果不指定,将只能读取,不能写入

FAT32

创建挂载点:

mkdir /mnt/fat32

假设要挂载的 FAT32 分区设备名为/dev/sdc1,使用以下命令进行挂载:

sudo mount -t vfat /dev/sdc1 /mnt/fat32

exFAT

CentOS7默认不支持 exFAT 文件系统,需要安装 exfat-utils 和 fuse-exfat 软件包

sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
sudo yum makecache
sudo yum install exfat-utils fuse-exfat -y

注:

  1. 在官方源和EPEL(Extra Packages for Enterprise Linux)源中均没有这两个软件包,而RPM Fusion是一个提供大量额外软件包的社区源,可以添加这个源来获取exfat-utilsfuse-exfat
  2. yum makecache的作用是更新yum缓存

创建挂载点(空目录)用于挂载 exFAT 分区:

mkdir /mnt/exfat

假设要挂载的 exFAT 分区设备名为/dev/sdd1,使用以下命令进行挂载:

sudo mount -t exfat /dev/sdd1 /mnt/exfat

EXT

创建挂载点:

sudo mkdir /mnt/ext

假设要挂载的 EXT 分区设备名为/dev/sde1,使用以下命令进行挂载:

sudo mount /dev/sde1 /mnt/ext

卸载分区

卸载分区前,要确保没有程序正在访问该分区,如:

  • 当前工作目录(pwd命令查看)不是挂载目录或其子目录
  • vim没有正在编写挂载目录或其子目录中的文件

使用umount命令卸载:

sudo umount /mnt/ntfs
或者
sudo umount /dev/sdb1

自动挂载

若要在系统启动时自动挂载分区,可编辑/etc/fstab文件(注意不要出错,否则将无法开机),添加相应的挂载信息(一行文本)。例如,对于 NTFS 分区:

/dev/sdb1 /mnt/ntfs ntfs-3g defaults 0 0

详见第六章 Linux磁盘管理 硬盘&分区命名规则 Linux目录结构介绍 /etc/fstab详解 新硬盘挂载流程

通过VMware Tools

这里仅针对使用VMware Worksation创建和使用虚拟机的情况。
首先安装VMware Tools。
通过虚拟机->设置->选项->共享文件夹->总是启用->添加共享路径(宿主机上)添加共享文件夹即可。

通过FTP

这里使用vsftpd(very secure ftp daemon)在Linux上搭建ftp服务器。

安装配置vsftpd

关闭SELinux

sudo vi /etc/selinux/config

关闭防火墙

sudo systemctl stop firewalld
sudo systemctl disable firewalld

安装并启动vsftpd

sudo yum install vsftpd
sudo systemctl start vsftpd
sudo systemctl enable vsftpd

检查端口

通过检查FTP服务的默认端口,验证FTP服务是否搭建成功。

cat /etc/services | grep ftp
netstat -tupln | grep 21

ftp客户端(命令行)登陆

在你的Windows命令行中运行:
ftp 192.168.xxx.xxx 192.168.xxx.xxx为你的Linux的局域网ip
然后依次输入你的用户名密码
或者输入anonymous、密码留空,连接FTP服务器。

  1. 尽量不要使用root,如果一定要使用,需要注释掉黑名单/etc/vsftpd/ftpusers/etc/vsftpd/user_list中的root,并重启服务systemctl restart vsftpd
  2. 如果需要使用匿名用户,需要在/etc/vsftpd/vsftpd.conf中修改anon_upload_enable=YES等,然后重启服务systemctl restart vsftpd,注意匿名用户默认只能下载文件,不能上传

使用下面的ftp命令中的内建命令进行操作:
help 查看可用命令
binary 切换至二进制模式
get
put
lcd local current directory
pwd print work directory

也可以自行选择带有图形化界面(GUI)的ftp客户端,更容易上手。

通过Samba

安装Samba

sudo yum install samba samba-client -y

如果不需要客户端,可以使用:

sudo yum install samba -y

配置Samba

Samba的主配置文件是/etc/samba/smb.conf,你可以用文本编辑器打开它进行配置
在文件末尾添加如下配置示例,这是一个共享目录的配置:

[shared]
   comment = Shared Directory
   path = /path/to/your/shared/directory
   browseable = yes
   writable = yes
   guest ok = no
   valid users = your_username

[shared]:这是共享的名称,客户端连接时会用到
comment:对共享目录的描述
path:实际共享目录的路径,你需要把 /path/to/your/shared/directory 替换成真实的路径
browseable:设为 yes 表示允许客户端浏览这个共享目录
writable:设为 yes 表示允许客户端写入文件
guest ok:设为 no 表示不允许匿名访问
valid users:指定可以访问共享目录的用户,你要把 your_username 替换成真实的用户名

创建共享目录并设置权限

使用 smbpasswd 命令为系统用户创建 Samba 密码

sudo smbpasswd -a your_username

根据提示输入并确认密码

启动并设置 Samba 服务

sudo systemctl status smb.service
sudo systemctl enable smb.service

配置防火墙

sudo systemctl stop firewalld
sudo systemctl disable firewalld

客户端连接

Windows资源管理器

在地址栏输入\\server_ip\shared(server_ip 是 Samba 服务器的 IP 地址,shared 是之前配置的共享名称),然后输入之前创建的 Samba 用户的用户名和密码进行连接。

Windows Samba客户端(命令行)

  • net view
  • net use

Linux Samba客户端(命令行)

smbclient //server_ip/shared -U your_username

输入密码后,若成功进入交互界面,就说明连接正常

通过HTTP服务器

这里只介绍Python(默认为Python3,这年头没人用Python2了吧)自带的http.server,其他的http服务器可以自行尝试。

进入要共享的目录

cd /path/to/share

开启http.server

python -m http.server 端口号

端口号可以自定义,如8888,不指定则默认为8000
注意防止端口冲突

打开Windows中的浏览器

访问http://192.168.xx.xx:端口号/,如应该能够看到列出的文件

被访问和访问的机器必须在同一个局域网中,如果安装虚拟机使用的是VMware,则宿主机和Linux虚拟机在某个VMnet网卡组成的局域网内
Linux中可以使用ip a查看ip地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值