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 -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命令查找结果,\是为了转译“;” |
四、磁盘分区
常规分区
- mbr分区方式:
主分区 主分区表记录分区的信息并可以直接使用的分区 扩展分区 主分区表记录的分区,不可直接使用,只是逻辑分区容器 逻辑分区 扩展分区之上划分的分区叫做逻辑分区 - mbr分区方式下的分区方法:
fdisk /dev/vdb(磁盘名称,不一定是vdb) 交互模式下分区 parted 非交互和交互模式下分区(采用parted分区的话一般采用非交互模式,交互模式下相对比较繁琐) - 注意:
- 采用fdisk分区方法进行分区时分区完成并保存后需要使用分区表同步命令同步分区表,否则用fdisk -l命令无法查看到分区信息
- 分区之后,分出来的磁盘区还不能直接挂载到指定目录下,因为缺少文件系统,此时需要格式化指定文件系统,命令如下:
mkfs.xfs -K /dev/磁盘名(-f)加-f表示重新格式化 %格式化设备为xfs文件系统(相当与在/dev/磁盘名 上安装设备管理软件),-K表示不丢弃空数据块(可加快格式化速度)
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/磁盘名
设备删除
分区结束后可采用多种方式删除:
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 0
(3)永久开启配额
vim /etc/fstab
/dev/sda1 /pub xfs defaults,usrquota 0 0
(4)关闭配额
quotaoff -uv /dev/磁盘名
vim /etc/fstab %去掉配额参数usrquota
注意: 在配额文件中,我们要改的只有硬限,其他的都是系统自动生成的,不可以改
测试方法:
su - lee %切换到已经配额的用户
cd /指定目录 %切换到指定目录下
dd if=/dev/zero of=/指定目录/文件名(任意) bs=1M count=22 %截取数据失败只能写入20M数据
标签:基本,存储,分区,mnt,dev,etc,swap,Linux,挂载
From: https://www.cnblogs.com/cyndbk/p/17863453.html