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
注:
- 用作挂载点的文件夹名称随意;
- 有其他未被占用的挂载点,也可跳过本步骤,直接使用未被占用的挂载点
最后挂载分区,假设要挂载的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
注:
- 在官方源和EPEL(Extra Packages for Enterprise Linux)源中均没有这两个软件包,而
RPM Fusion
是一个提供大量额外软件包的社区源,可以添加这个源来获取exfat-utils
和fuse-exfat
;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服务器。
- 尽量不要使用root,如果一定要使用,需要注释掉黑名单
/etc/vsftpd/ftpusers
和/etc/vsftpd/user_list
中的root,并重启服务systemctl restart vsftpd
- 如果需要使用匿名用户,需要在
/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地址