一,如何挂载
在银河系统中:smbclient -L //172.22.6.205/ -U scan%230109
可显示WIN共享文件信息,如下:
如果要共享的“”扫描件“”在D盘中,请用以下命令:
sudo mount -t cifs -o user=scan,password=230109,uid=1000,gid=1000,iocharset=utf8//172.22.6.205/D$/扫描件/data/sb
*uid=1000,gid=1000 有读写权限
*iocharset=utf8 中文不乱码
如果用以下命令:
sudo mount -t cifs -o user=scan,password=230109,uid=1000,gid=1000,iocharset=utf8//172.22.6.205/扫描件/data/sb
则会出现现如下错误:
mount error(6): No such device or address
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
在WIN系统中取消D盘共享后:
sudo mount -t cifs -o user=scan,password=230109,uid=1000,gid=1000,iocharset=utf8//172.22.6.205/扫描件/data/sb
才会正常运行,MOUNT成功
二,永久挂载
方法一:通过rc.local开机自启
创建开机自启服务(如有可略)
- 添加执行权限:
sudo chmod +x /etc/rc.local - 创建软链接:
sudo ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/
方法二:通过fstab文件配置
需要在/etc/fstab中末尾一行添加挂载信息:注意,前缀没有sudo mount -t
//172.22.6.205/扫描件 /data/share/scan-1 cifs user=scan,password=230109,uid=1000,gid=1000,iocharset=utf8
这里用户名和密码是明文,为安全起见,建议创建凭据文件,通过credentials引用,如 /etc/smb.cred,并指定用户名、密码
文件内容如下:
username=user_name
password=password
domain=domain_name
将权限设置为只允许所有者可以访问该文件:
Sudo chown kylin /etc/smb.cred
Sudo chmod 600 /etc/smb.cred
这样fstab中的挂载信息如下:
//172.22.6.205/扫描件 /data/share/scan-1 cifs credentials=/etc/smb.cred,uid=1000,gid=1000,iocharset=utf8
可用记事本编辑相关文件:
sudo pluma /etc/smb.cred 或 sudo pluma /etc/rc.local 或 sudo pluma /etc/fstab
自动挂载/etc/fstab 文件中定义的所有文件系统的命令:mount -a
以上方法对于V10SP1版本无作用。
SP1版本不需要命含行格式就能实现。SMB://
=====================================================================
mount 命令的详细介绍
mount 命令是 Linux/Unix 系统中用于挂载文件系统的核心工具。它将存储设备(如硬盘、U盘、SD 卡、光 盘)、网络文件系统(如 NFS、Samba)或镜像文件(如 ISO)挂载到一个指定的目录(称为挂载点),使这些设备或文件系统的内容可以通过文件系统访问。挂载后,操作系统会将设备的内容映射到挂载点目录,用户可以通过该目录像访问普通文件夹一样操作文件。
mount 不仅用于物理设备,还支持虚拟文件系统(如 tmpfs)和特殊文件系统(如 proc、sysfs)。它是 Linux 系统管理中不可或缺的工具,尤其在磁盘管理、网络共享和系统维护中应用广泛。
mount 命令的基本语法
mount [选项] 设备 挂载点
设备:可以是物理设备(如 /dev/sdb1)、网络共享路径(如 NFS 的 server:/path)或文件(如 disk.iso)。
挂载点:一个现有的目录(如 /mnt 或 /media),挂载后设备内容通过该目录访问。
选项:控制挂载行为,如文件系统类型、读写权限等。
常用选项
以下是 mount 命令的一些常用选项:
-t <类型>:指定文件系统类型,例如 ext4、ntfs、vfat、nfs、iso9660 等。如果不指定,系统会尝试自动检测。
-o <选项>:指定挂载选项,常用选项包括:
ro:只读挂载。
rw:读写挂载(默认)。
loop:用于挂载镜像文件。
noexec:禁止在挂载点运行可执行文件。
nodev:禁止设备文件访问。
nosuid:禁止 setuid 和 setgid 位生效。
remount:重新挂载已挂载的文件系统(常用于更改挂载选项)。
sync:所有 I/O 操作以同步方式进行。
-a:挂载 /etc/fstab 文件中定义的所有文件系统。
-r:以只读模式挂载(等同于 -o ro)。
-w:以读写模式挂载(等同于 -o rw)。
-L <标签>:使用卷标(label)挂载设备。
-U <UUID>:使用 UUID 挂载设备。
-v:显示挂载的详细信息(详细模式)。
-f:假装执行挂载(用于调试,不实际挂载)。
更详细的示例
以下是一些更丰富的 mount 命令使用场景,涵盖不同设备、文件系统和选项:
1. 挂载 USB 设备(FAT32 文件系统)
假设插入的 U 盘设备为 /dev/sdc1,文件系统为 vfat,挂载到 /mnt/usb:
sudo mkdir -p /mnt/usb
sudo mount -t vfat /dev/sdc1 /mnt/usb
说明:-t vfat 指定 FAT32 文件系统,挂载后可通过 /mnt/usb 访问 U 盘内容。
验证:使用 df -h 或 mount | grep /mnt/usb 检查挂载状态。
额外选项:如果需要以只读模式挂载:
sudo mount -t vfat -o ro /dev/sdc1 /mnt/usb
2. 挂载 NTFS 分区
假设有一个 NTFS 分区的硬盘设备为 /dev/sdb1,挂载到 /mnt/ntfs:
sudo mkdir -p /mnt/ntfs
sudo mount -t ntfs /dev/sdb1 /mnt/ntfs
说明:-t ntfs 指定 NTFS 文件系统,适用于 Windows 格式的硬盘。
注意:如果系统没有内置 NTFS 支持,可能需要安装 ntfs-3g:
sudo apt install ntfs-3g
3. 挂载 ISO 镜像 文件
将本地的 ISO 文件(如 ubuntu.iso)挂载到 /mnt/iso:
sudo mkdir -p /mnt/iso
sudo mount -o loop ubuntu.iso /mnt/iso
说明:-o loop 允许将文件作为块设备挂载,挂载后可浏览 ISO 内容,如安装文件或光盘内容。
应用场景:常用于无需刻录光盘直接访问 ISO 文件内容。
4. 挂载 NFS 网络共享
挂载远程 NFS 服务器的共享目录到本地 /mnt/nfs:
sudo mkdir -p /mnt/nfs
sudo mount -t nfs -o nolock 192.168.1.100:/export/share /mnt/nfs
说明:
-t nfs 指定 NFS 文件系统。
-o nolock 禁用文件锁,适合某些 NFS 配置。
192.168.1.100:/export/share 是 NFS 服务器的共享路径。
验证:挂载后,ls /mnt/nfs 可看到远程共享的内容。
5. 挂载 Samba 共享(CIFS)
挂载 Windows 或 Samba 共享到本地 /mnt/samba:
sudo mkdir -p /mnt/samba
sudo mount -t cifs -o username=user,password=pass //192.168.1.200/share /mnt/samba
说明:
-t cifs 指定 Samba 文件系统。
-o username=user,password=pass 提供访问共享的凭据。
//192.168.1.200/share 是 Samba 服务器的共享路径。
安全提示:避免在命令中直接写密码,可使用凭据文件:
sudo mount -t cifs -o credentials=/etc/samba/cred //192.168.1.200/share /mnt/samba
6. 重新挂载文件系统以更改选项
假设 /mnt/data 已挂载为只读,想改为读写:
sudo mount -o remount,rw /mnt/data
说明:-o remount,rw 重新挂载并更改为读写模式,无需卸载。
应用场景:常用于临时更改挂载属性。
7. 使用 UUID 挂载设备
使用设备的 UUID 挂载,避免设备名称变化(如 /dev/sdb1 变为 /dev/sdc1):
sudo mount -U "1234-5678" /mnt/disk
说明:UUID 是设备的唯一标识,可通过以下命令查看:
lsblk -f
输出示例:
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb1 ext4 1234-5678 /mnt/disk
8. 挂载 tmpfs(内存文件系统)
创建基于内存的临时文件系统,挂载到 /mnt/tmpfs:
sudo mkdir -p /mnt/tmpfs
sudo mount -t tmpfs -o size=1G tmpfs /mnt/tmpfs
说明:
-t tmpfs 指定内存文件系统。
-o size=1G 限制最大使用 1GB 内存。
应用场景:用于需要高性能的临时存储,如缓存或临时文件。
9. 查看所有挂载点
显示系统中所有已挂载的文件系统:
mount
输出示例:
/dev/sda1 on / type ext4 (rw,relatime)
/dev/sdb1 on /mnt/usb type vfat (rw)
tmpfs on /mnt/tmpfs type tmpfs (rw,size=1G)
10. 自动挂载 /etc/fstab 中的配置
执行以下命令,挂载 /etc/fstab 中定义的所有文件系统:
sudo mount -a
说明:/etc/fstab 文件定义了开机自动挂载的设备和选项。
示例 /etc/fstab 条目:
UUID=1234-5678 /mnt/disk ext4 defaults 0 2
应用场景:系统启动或修改 /etc/fstab 后使用。
高级用法
1. 挂载加密 分区
挂载 LUKS 加密分区(需先解密):
sudo cryptsetup luksOpen /dev/sdb1 mydisk
sudo mount /dev/mapper/mydisk /mnt/encrypted
说明:
cryptsetup luksOpen 解密分区并映射到 /dev/mapper/mydisk。
然后挂载解密后的文件系统。
2. 挂载只读快照(Btrfs 文件系统)
挂载 Btrfs 文件系统的只读快照:
sudo mount -t btrfs -o subvol=@snapshot /dev/sda1 /mnt/snapshot
说明:-o subvol=@snapshot 指定挂载某个子卷(如快照)。
3. 挂载绑定(Bind Mount)
将一个目录挂载到另一个目录,类似于创建目录的“镜像”:
sudo mount --bind /home/user/data /mnt/data
说明:/mnt/data 会显示 /home/user/data 的内容,常用于容器或共享目录。
注意事项
权限要求:挂载操作通常需要 root 权限,使用 sudo 或切换到 root 用户。
挂载点准备:挂载点必须是已存在的空目录,可用 mkdir 创建。
设备识别:使用以下命令查找设备名称、UUID 或文件系统类型:
lsblk
blkid
fdisk -l
卸载文件系统:挂载后使用 umount 卸载:
sudo umount /mnt/usb
如果提示“设备忙”,可用 lsof /mnt/usb 或 fuser -m /mnt/usb 检查占用进程。
/etc/fstab 配置:为避免每次手动挂载,可编辑 /etc/fstab 配置自动挂载。示例:
/dev/sdb1 /mnt/usb vfat defaults 0 0
文件系统支持:确保系统支持目标文件系统(如 NTFS 需 ntfs-3g,exFAT 需 exfat-utils)。
错误排查:挂载失败时,检查日志:
dmesg | tail
journalctl -xe
实际应用场景
系统管理员:挂载新硬盘分区、配置网络存储、修复损坏文件系统。
开发者:挂载镜像文件测试软件、使用 tmpfs 加速编译。
嵌入式系统:挂载只读文件系统以保护设备。
家庭用户:挂载 U 盘、移动硬盘或共享文件夹。