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地址

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### VMware 工具配置脚本未找到的解决方案 在安装 VMware Tools 时,如果遇到 `vmware-config-tools.pl` 脚本未找到的问题,可能是由于以下原因导致的:安装过程中某些文件未正确复制到目标目录、安装包损坏或未完成安装[^1]。以下是针对该问题的具体解决方法: #### 检查 VMware Tools 的安装状态 确保 VMware Tools 已正确安装。可以通过检查 `/mnt/cdrom/` 或挂载点中的内容来确认 VMware Tools 的 ISO 文件是否已挂载。如果未挂载,可以尝试重新挂载 VMware Tools 的光镜像: ```bash sudo vmware-mount /mnt/cdrom ``` #### 手动复制 VMware Tools 到目标系统 如果 VMware Tools 的安装包未自动复制到目标系统,可以手动将其复制到主机系统中。例如: ```bash cp /mnt/cdrom/VMwareTools-*.tar.gz /tmp/ cd /tmp/ tar -xzvf VMwareTools-*.tar.gz ``` #### 手动运行配置脚本 如果 `vmware-config-tools.pl` 脚本未被自动执行,可以手动运行该脚本。通常情况下,该脚本位于解压后的 VMware Tools 目录中: ```bash /tmp/vmware-tools-distrib/bin/vmware-config-tools.pl ``` 如果脚本仍然无法找到,可能需要重新下载 VMware Tools 的安装包并重新安装。 #### 确认依赖项是否完整 在某些情况下,缺少必要的依赖项可能导致安装失败或脚本缺失。例如,在 CentOS 系统中,确保安装了所有必需的开发工具和库[^3]。可以通过以下命令安装相关依赖项: ```bash sudo yum groupinstall "Development Tools" sudo yum install kernel-devel kernel-headers ``` #### 检查 chroot 环境的影响 如果在 `%post` 脚本中运行 VMware Tools 的安装过程,需要注意 chroot 环境可能隐藏了安装介质[^2]。在这种情况下,建议在非 chroot 环境下执行安装命令以避免路径问题。 --- ####
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值