Linux中存储的基本管理


前言

存储管理方式是Linux中的基本知识,这部分内容主要有设备识别,设备查看,设备挂载,设备文件的查找,磁盘的分区等,下面我们来针对每个部分进行分别讲解。

一、设备查看

fdisk -l 查看磁盘分区情况
lsblk 设备使用情况
blkid 设备管理方式及设备id
df 查看正在被系统挂载的设备
cat /proc/partitions 查看系统识别设备

二、设备挂载

系统中只有有系统id的设备才可以被系统使用,挂载命令及使用方法如下:

mount -o 挂载参数  device	挂载点
umount	设备|挂载点            #卸载设备
mount		                  #查看挂载信息
mount -o rw /dev/vda1	/dir
mount -o remount,ro /dir	  #重新挂载并转换挂载参数由读写变为只读
在卸载时当出现设备正忙时:
fuser -kvm  设备|挂载点		#-k 结束进程,-v 显示详细信息 -m 显示进程

注意:上述方式均为临时挂载,永久挂载方式如下所示:

(1)设备永久挂载
vim /etc/fstab		#设备挂载策略文件
设备	  挂载点	    文件系统类型	 挂载参数	是否备份	是否检测
/dev/sr0  /westos	iso9660		 defaults	0(不备份)0(不检测)(2)此文件在编写完成后不会马上生效
mount -a		#重新读取/etc/fstab文件
(3)注意:此文件内容编写错误会导致系统启动失败,按照提示在操作界面输入超级用户密码,注释错误行,重启系统即可

三、设备中文件的查找

查找实例见下表:

find /etc/ -name passwd 查找/etc目录及其子目录下名为passwd的文件
find /etc/ -maxdepth 1 -name passwd 查找/etc目录下名为passwd的文件;maxdepth 表示最大深度,最大深度设为1表示在/etc下,并不包含其子目录
find /etc/ -maxdepth 2 -name passwd 查找/etc目录下及一层子目录下名为passwd的文件
find /etc/ -maxdepth 2 -mindepth 2 -name passwd 查找/etc一层子目录下名为passwd的文件
find /mnt -user westos 查找/mnt目录下文件拥有者为westos的文件
find /mnt -not -user westos 查找/mnt目录下文件拥有者不是westos的文件
find /mnt -user westos -o -user lee 查找/mnt目录下拥有者是westos或者用户是lee的文件
find /mnt -user westos -a -group lee 查找/mnt目录下拥有者是westos且拥有组是lee的文件
find /mnt -type d 查找/mnt目录下的目录
find /mnt -perm 111 查找/mnt目录下权限为111的文件
find /mnt -perm -111 查找/mnt目录下三个权限位均有1权限(可执行权限)的文件
find /mnt -perm /111 查找/mnt目录下三个权限位至少有一位有1权限(可执行权限)的文件
find /mnt -perm /111 -type f -exec chmod ugo-x {} ; 将/mnt目录下文件类型为普通文件的,且三个权限位至少有一位有1权限(可执行权限)的文件的 三个权限位的可执行权限删除 {} 表示find命令查找结果,\是为了转译“;”

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、磁盘分区

1、常规分区

mbr分区方式:

主分区 主分区表记录分区的信息并可以直接使用的分区
扩展分区 主分区表记录的分区,不可直接使用,只是逻辑分区容器
逻辑分区 扩展分区之上划分的分区叫做逻辑分区

mbr分区方式下的分区方法:

fdisk /dev/vdb(磁盘名称,不一定是vdb) 交互模式下分区
parted 非交互和交互模式下分区(采用parted分区的话一般采用非交互模式,交互模式下相对比较繁琐)

在这里插入图片描述
在这里插入图片描述

注意:(1)采用fdisk分区方法进行分区时分区完成并保存后需要使用分区表同步命令同步分区表,否则用fdisk -l命令无法查看到分区信息
(2)分区之后,分出来的磁盘区还不能直接挂载到指定目录下,因为缺少文件系统,此时需要格式化指定文件系统,命令如下:

mkfs.xfs  -K  /dev/磁盘名(-f)-f表示重新格式化    %格式化设备为xfs文件系统(相当与在/dev/磁盘名 上安装设备管理软件),-K表示不丢弃空数据块(可加快格式化速度)
分区表同步 udevadam settle或partprobe
%mbr分区方式转换成GPT步骤%1)parted /dev/磁盘名	
(parted) mklabel
New disk label type? gpt
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost.
Do you want to continue?
Yes/No? yes
(parted) quit
(2)在RHEL8中可以直接使用fdisk /dev/磁盘名	
 g		%g表示把/dev/磁盘名 设备的分区方式调整为GPT

2、swap分区

作用:程序在运行时所有数据是在RAM,当RAM使用量超过了限额,为了使系统更加稳定,我们在硬盘上划分一部分空间来作内存缓冲区swap。当内存使用超过限额,内核会把内存中闲置的数据存放到swap中。当程序需要swap分区中的数据时内核将swap分区中的数据在交还给内存进程处理。

swapon -s	             %查看swap分区信息
创建swap分区:
(1)创建分区并设定分区的类型为Linuxswap
(2)mkswap	 /dev/磁盘名				 %格式化设备位swap格式
(3)swapon	 /dev/磁盘名	 -p 0-32767		 %-p表示指定swap的优先级
 以上操作都位临时操作,如果永久添加swap分区则需要编辑下面的文件:
vim /etc/fstab
/dev/磁盘名		swap	swap	    default,pri=1	0 0

swapon -a

删除swap
(1)vim /etc/fstab
 /dev/sda1  swap    swap        default,pri=1   0 0	 %删除此行
(2)swapoff /dev/磁盘名	

3、设备删除

分区结束后可采用多种方式删除:

dd if=/dev/zero of=/dev/磁盘名 bs=1M count=1 一次性删除所有分区
fdisk /dev/磁盘名 在交互模式下删除,选d,之后选择删除的分区号
parted 非交互模式下删除。后面使用rm加指定分区号

注意:在进行多个分区之前记得要卸载相应设备,否则无法分区

五、磁盘配额

作用:设定用户能写入指定设备的最大额度

具体步骤:
(1)分出来一个区,并格式化文件系统
(2)做配额设定:
mount /dev/磁盘名	 /pub/ -o usrquota	%挂载设备并激活配额参数
quotaon  -uv /dev/磁盘名			%激活配额
edquota -u lee				%设定用户lee配额
执行上述指令后会打开一个文件,编辑内容如下:
Disk quotas for user lee (uid 1001):
设备     用户已经创建数据 软限   硬限  户已经创文件个数 软限    硬限
Filesystem   blocks    soft   hard   inodes       soft    hard
/dev/磁盘名	   0     0     20480       0            0       03)永久开启配额
vim /etc/fstab
/dev/sda1	/pub	xfs	defaults,usrquota    0 04)关闭配额
quotaoff  -uv /dev/磁盘名
vim   /etc/fstab						%去掉配额参数usrquota

注意:在配额文件中,我们要改的只有硬限,其他的都是系统自动生成的,不可以改

测试方法:
su - lee       %切换到已经配额的用户
cd /指定目录    %切换到指定目录下
dd if=/dev/zero of=/指定目录/文件名(任意) bs=1M count=22		%截取数据失败只能写入20M数据

猜你喜欢

转载自blog.csdn.net/nk298120/article/details/109743960
今日推荐