Linux-----21、挂载

# 挂载命令

将硬件资源,或文件资源💿,和📂空目录🔗连接起来的过程

# mount

linux 所有存储设备都必须挂载使用,包括硬盘

​ 命令名称:mount

​ 命令所在路径:/bin/mount

​ 执行权限:所有用户

#查询系统中已经挂载的设备,-l 会显不卷标名称
mount [-l]
df -h
df -HT

# 依据配置文件/etc/fstab的内容,自动挂载
mount -a

# 只需了解-o
# \代办这一行没有写完,换行
mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] \
设备文件名 挂载点

选项:
	-t 文件系统:	加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统。具体可以参考下表
	-L 卷标名:		挂载指定卷标的分区,而不是安装设备文件名挂载
	-o 特殊选项:	可以指定挂载的额外选项,比如读写权限、同步异步等,如果不指定则默认值生效。

参数说明
atime/noatime更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新
async/sync异步/同步,默认为异步
auto/noauto自动/手动,mount -a命令执行时,是否会自动安装/etc/fstab文件内容挂载,默认为自动
defaults定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项
exec/noexec执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许
remount重新挂载已经挂载的文件系统,一般用于指定修改特殊权限
rw/ro读写/只读,文件系统挂载时,是否具有读写权限,默认是rw
suid/nosuid具有/不具有SUID权限,设定文件系统是否具有SUID和SGID的权限,默认是具有
user/nosuer允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允许,只有root可以挂载分区
userquota写入代表文件系统支持用户磁盘配额,默认不支持
grpquota写入代表文件系统支持组磁盘配额,默认不支持

举例

例1:
[root@localhost ~]# mount
#查看系统中已经挂载的文件系统,注意有虚拟文件系统
/dev/sda3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid-5,mode-620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sdal on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt misc type binfmt misc (rw)
sunrpc on /var/lib/nfs/rpc pipefs type rpc pipefs (rw)
#命令结果是代表: /dev/sda3 分区挂载到/目录,文件系统是 ext4,权限是读写

例 2: 修改特殊权限
root@localhost # mount
#我们查看到/boot 分区已经被挂载,而且采用的 defaults 选项,那么我们重新载分区,并采用noexec
#权限禁止执行文件执行,看看会出现什么情况(注意不要用/分区做试验,
#不然系统命令也不能执行了)
..·省略部分输出·..
root@localhost 7# mount -o remount,noexec /boot
#重新挂载/boot 分区,并使用 noexec 权限

image-20231218124156405

image-20231218124219275

# umount

譬如 /dev/hda5 已经挂载在/mnt/hda5上,用一下三条命令均可卸载挂载的文件系统

# umount /dev/hda5
# umount /mnt/hda5
# umount /dev/hda5 /mnt/hda5

为什么umount的时候老显示 device busy?

这是因为有程序正在访问这个设备,最简单的办法就是让访问该设备的程序退出以后再umount。可能有时候用户搞不清除究竟是什么程序在访问设备,如果用户不急着umount,则可以用:

# umount -l /mnt/hda5

来卸载设备。选项 –l 并不是马上umount,而是在该目录空闲后再umount。还可以先用命令ps aux 来查看占用设备的程序PID,然后用命令kill来杀死占用设备的进程,这样就umount的非常放心了。

# /etc/fstab文件

man 5 fstab

1.被挂载的设备:
		设备文件,LABEL,UUID,伪文件系统等
		
2.挂载点:
		swap为特殊挂载,挂载点为swap
              
3.文件系统类型

4.挂载选项:
		defaults为默认挂载选项(rw,suid,dev,exec,auto,nouser,and async),可以有多个挂载选项,以逗号为分隔符

5.转储频率:
		0表示从不备份,1表示每天备份,2表示每隔一天备份
		
6.自检次序:
		0表示不自检,1,表示首先自检,一般是根文件系统为1,2,表示次级自检....

# 本地iso挂载

准备工作:上传镜像,创建挂载目录

上传镜像文件到/home/jysp/CentOS-7-x86_64-Everything-2009.iso

[root@Server ~]# mkdir /media/centos7_iso                     #创建挂载点的目录
[root@Server ~]#  mount -o  loop /home/CentOS-7-x86_64-DVD-1708.iso   /media/centos7_iso
[root@Server ~]# df -HT            #查看镜像是否挂载成功
备注: -o是参数,loop是把一个文件当成硬盘分区mount挂着到目录

开机自动挂载:修改配置文件

修改开机自动挂载配置:/etc/fstab
vim /etc/fstab
内容追加如下:
/home/jysp/CentOS-7-x86_64-Everything-2009.iso /media/centos7_iso/ iso9660 defaults,ro,loop 0 0 
保存退出。

[root@localhost ~]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Wed Dec 13 22:10:25 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=1b7d1f9f-b2af-4efb-af81-7d7bc7ef1864 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

/home/jysp/CentOS-7-x86_64-Everything-2009.iso /media/centos7_iso/ iso9660 defaults,ro,loop 0 0 


# 光盘挂载

光盘挂载的前提是指定光盘的设备文件名,不同版本的Linux,设备文件名并不相同:

  • CentOS 5.x以前的系统,光盘设备文件名是/dev/hdc
  • CentOS 6.x以后的系统,光盘设备文件名是/dev/sr0

不论哪个系统都有软连接/dev/cdrom,与可以作为光盘的设备文件名

(1)挂载

[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

一般都习惯挂载到mnt目录下 /cdrom下挂载光盘
# mnt:挂载u盘
# media:挂载光盘
# misc:挂载网络存储盘

mount -t iso9660 /dev/cdrom /mnt/cdrom
# Linux中的光盘格式为iso9660,默认的可以识别
mount /dev/cdrom /mnt/cdrom

在这里插入图片描述

在这里插入图片描述

(2)卸载

用完之后记得卸载:

umount /dev/sr0
umount /mnt/cdrom
# 因为设备文件名和挂载点已经连接到一起,卸载哪一个都可以

​ 注意:卸载的时候需要退出光盘目录,才能正常卸载

# 挂载U盘

(1)查看U盘

U盘会和硬盘公用设备文件名,所以U盘的设备文件名不是固定的,需要手工查询,查询命令:

fdisk -l
#查询硬盘

在这里插入图片描述

(2)挂载U盘

mount -t vfat /dev/sdb4 /mnt/usb/
# 挂载U盘。因为是Windows分区,所以是vfat文件系统格式

image-20231218112247176

如果U盘中有中文,会发现中文是乱码。Linux要想正常显示中文,需要两个条件:

  • 安装了中文编码和中文字体
  • 操作终端需要支持中文显示(纯字符终端,是不支持中文编码的)

手工指定中文编码:

mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb/
# 挂载U盘,指定中文编码格式为UTF-8

如果需要卸载,可以执行

umount /mnt/usb/

# 挂载NTFS分区

# Linux的驱动加载顺序

  • 驱动直接放入系统内核之中。这种驱动主要是系统启动加载必须的驱动,数量较少。
  • 驱动以模块的形式放入硬盘。大多数驱动都已这种方式保存,保存位置在/lib/modules/3.10.0-862.el.x86_64/kernel/中。
  • 驱动可以被Linux识别,但是系统认为这种驱动异步不常用,默认不加载。如果需要加载这种驱动,需要重新编译内核,而NTFS文件系统的驱动就属于这种情况。
  • 硬件不能被Linux内核识别,需要手工安装驱动。当然前提是厂商提供了改硬件针对Linux的驱动,否则就需要自己开发驱动了

# 使用 NTFS-3G 安装 NTFS 文件系统模块

下载 NTFS-3G 插件

我们从网站 http://www.tuxera.com/community/ntfs-3g-download/下载 NTFS-3G 插件到 Linux服务器上。

安装 NTFS-3G 插件

在编译安装 NTFS-3G 插件之前,要保证 gcc 编译器已经安装。具体安装命令如下:

tar -zxvf ntfs-3g ntfsprogs-2013.1.13.tgz
# 解压
[root@localhost ~]# cd ntfs-3g ntfsprogs-2013.1.13
#进入解压目录
root@localhost ntfs-3g ntfsprogs-2013.1.13]# ./configure
#编译器准备。没有指定安装目录,安装到默认位置中
root@localhost ntfs-3g ntfsprogs-2013.1.137# make
#编译
root@localhost ntfs-3g ntfsprogs-2013.1.13]# make install
#编译安装

安装就完成了,已经可以挂载和使用 Windows 的 NTFS 分区了。不过需要注意挂载分区时的文件

系统不是 ntfs,而是 ntfs-3g。挂载命令如下:

[root@localhost~]# mount -t ntfs-3g 分区设备文件名 挂载点
例如:
[root@localhost ~]# mount - t ntfs-3g /dev/sdbl /mnt/win

# nfs挂载

参考后续文章(服务管理–NFS)

[jysp@jysp ~]$ df -HT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs   69G     0   69G    0% /dev
tmpfs                   tmpfs      69G     0   69G    0% /dev/shm
tmpfs                   tmpfs      69G  131M   69G    1% /run
tmpfs                   tmpfs      69G     0   69G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs       5.1T   84G  5.0T    2% /
/dev/sda2               xfs        11G  171M   11G    2% /boot
/dev/sda1               vfat      4.3G  9.5M  4.3G    1% /boot/efi
10.139.102.114:/data1   nfs4      128T  272G  128T    1% /home/jysp/workspace/platform_file_storage
10.139.102.114:/data    nfs4      128T  272G  128T    1% /home/jysp/ftps
tmpfs                   tmpfs      14G  197k   14G    1% /run/user/42
tmpfs                   tmpfs      14G     0   14G    0% /run/user/1000


我的原文 https://docs.xiaoshaozi.site/zs-use/linux/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/255868.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PIC单片机项目(4)——基于PIC16F877A的温度光照检测装置

1.功能设计 基于PIC16F877A单片机,使用DS18B20进行温度测量,使用光敏电阻进行光照测量,将测量值实时显示在LCD1602屏幕上,同时可以设定光照阈值和温度阈值。当温度大于阈值,则蜂鸣器报警,当光照小于阈值&am…

【分布式算法】Gossip协议详解

一、为什么需要 Gossip 协议? 为了实现 BASE 理论中的“最终一致性原则”。两阶段提交协议和 Raft 算法需要满足“大多数服务节点正常运行”原则,如果希望系统在少数服务节点正常运行的情况下,仍能对外提供稳定服务,这时就需要实…

RabbitMQ入门指南(二):架构和管理控制台的使用

专栏导航 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、RabbitMQ架构 二、RabbitMQ管理控制台的使用 1.Exchange交换机 2.Queue队列 3.绑定Exchange交换机和Queue队列 4.发送消息 5.数据隔离 总结 前言 RabbitMQ是一个高效、可靠的开源消息队列系统…

HTML_CSS的基本选择器的使用及其作用范围和优先级

目录 ✨CSS的使用:行内样式内部样式外部样式 ✨CSS基本选择器:id选择器class选择器标签选择器 ✨优先级:选择器的优先级样式表的优先级 ✨CSS的使用: 根据定义CSS的位置不同,分为行内样式、内部样式和外部样式 行内样…

鸿蒙OS:打破界限的操作系统新星

导言 鸿蒙OS(HarmonyOS)是华为公司为应对技术封锁而推出的分布式操作系统,其背后蕴含着华为构建全球数字生活愿景的雄心。本文将深入剖析鸿蒙OS的起源、核心特性,并展望其未来在数字生态中的角色。 1. 背景与起源 华为的…

[自动化运维工具]ansible简单介绍和常用模块

ansible 源操作主机功能 自动化运维(playbook剧本yaml) 是基于python开发的一个配置管理和应用部署工具,在自动化运维中,现在还是异军突起 ansible能批量配置,部署,管理上千台主机,类似于xshell…

其他配置相关安装

consul安装和配置 docker run -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600/udp consul consul agent -dev -client0.0.0.0访问:http://192.168.0.102:8500/ DNS查询 dig 192.168.0.102 -p 8600 consul.service.consul SRVnacos安装 ht…

音视频技术开发周刊 | 324

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 467亿参数MoE追平GPT-3.5!爆火开源Mixtral模型细节首公开,中杯逼近GPT-4 今天,Mistral AI公布了Mixtral 8x7B的技术细节,不…

力扣题:数字与字符串间转换-12.25

力扣题-12.25 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:481. 神奇字符串 解题思想:首先将字符串构建出来,然后进行遍历即可 class Solution(object):def magicalString(self, n):""":type n: int:rty…

【SpringCloudAlibaba】Sentinel熔断限流工具的使用

一、前言 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维…

【docker】修改docker的数据目录

背景 主节点是分配了较少内存和存储的低配机器,因为我们系统的rancher是用docker镜像启动的,而rancher和docker的默认目录都放在/var/lib下面,而这个/var目录目前只分配10G的存储,导致节点存储报警。因此想修改docker的数据目录&…

Ubuntu 18.04配置NFS服务器以及配置时遇到NFS问题

1.安装相关软件 sudo apt-get install nfs-kernel-server sudo apt-get install nfs-common 2.配置共享目录 2.1修改exports文件 sudo vi /etc/exports在最后添加如下并保存退出 /home/xiaowu/nfs 192.168.31*(rw,sync,no_root_squash,no_subtree_check) /home/xiaowu/nfs…

半夜三更的,Proxmox VE集群的ceph OSD磁盘挂了

这几天centreon监控频频报警,提示ceph pg 错误,用 ceph health detail 确定不一致的pgs,然后用指令 ceph pg repair pg_num 进行修复,通过查看系统日志,有IO错误,修复一次,能管半天,…

【Qt之Quick模块】1. 概述及Quick应用程序创建流程

概述 Qt的Quick模块是用于创建现代化、动态和响应式用户界面的工具集。它是基于QML(Qt Meta-Object Language)和JavaScript的。 QML是一种声明性的语言,用于描述用户界面的结构和行为。它使用层叠样式表(CSS)的语法来…

iOS问题记录 - iOS 17通过NSUserDefaults设置UserAgent无效

文章目录 前言开发环境问题描述问题分析解决方案最后 前言 最近维护一个老项目时遇到的问题。说起这老项目我就有点头疼,一个快十年前的项目,这么说你可能不觉得有什么,但是你想想Swift也才发布不到十年(2014年6月发布&#xff0…

OpenCV-8RGB和BGR颜色空间

一. RGB和BGR 最常见的色彩空间就是RGB,人眼也是基于RGB的色彩空间去分辨颜色。 OpenCV默认使用的是BGR. BGR和RGB色彩空间的区别在于图片在色彩通道上的排列顺序不同。 二.HSV, HSL和YUV 1.HSV(HSB) OpenCV用的最多的色彩空间是HSV. Hue:色相&…

Android-----AndroidManifests.xml 之meta-data

一、概念 meta-data:元数据、文件元数据。主要用来定义一些组件相关的配置值。 metadata是一组供父组件使用的名值对(name-value pair),一个组件元素可以包含任意数量的meta-data子元素。这些子元素的值存放在一个 Bundle 对象中…

汽车UDS诊断——SecureDataTransmission 加密数据传输(0x84)

诊断协议那些事儿 诊断协议那些事儿专栏系列文章,本文介绍诊断和通讯管理功能单元下的84服务SecureDataTransmission,在常规诊断通信中,数据极易被第三方获取,所以在一些特殊的数据传输时,标准定义了加密数据传输的服务。 简而言之,就是在发送诊断数据时,发送方先把数…

svn 安装

安装系统 ubuntu 22 安装命令: sudo apt-get install subversion 创建第一个工程: 创建版本库、项目 1、先创建svn根目录文件夹 sudo mkdir /home/svn 2、创建项目的目录文件夹 sudo mkdir /home/svn/demo_0 svnadmin create /home/svn/demo_0 配置&a…

C#拼接JSON

一、业务背景 最近项目需要与U8c对接,实现增删改查,借此机会,梳理一下C#解析Json字符串的问题。 这篇文章,先以新增接口为例。 二、新增接口 查看需要传入的json格式。 拼接json,无非就是{}和[]的来回嵌套。 首先&am…