磁盘说明
1)Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘。
2)对于IDE硬盘,驱动器标识符为“hdx~",其中“hd"表明分区所在设备的类型,这里是指IDE硬盘了。“x"为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。
3)对于SCSI硬盘则标识为“sdx”,SCSI硬盘是用“sd"来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。
虚拟机新建虚拟磁盘,并挂载到虚拟系统下。
查看系统的分区和挂载的情况:fsblk -l
磁盘所在目录 /dev/
磁盘名称 sd*
首先现在虚拟机添加硬盘,接着可在虚拟机终端完成以下步骤:
1. 列出所有分区表: fdisk -l
2. 分区: fdisk /dev/sdb 使用n命令进行新建分区,使用w命令进行保存退出。
3. 格式化: mkfs -t vfat /dev/sdb1 (格式化成fat32分区) 或 mkfs -t ext4 /dev/sdb1 (格式化成ext4分区)
4. 挂载(mount 设备名称 挂载目录): mount /dev/sdb1 /home/test/disk 用命令行挂载重启后会失效
5. 修改所有权限: chown -R test:test /home/test/disk 将磁盘修改拥有者为test账户
6. 卸载:umount /dev/sdb1 或 umount /home/test/disk
手动挂载:mount
命令语法:mount 设备名称 挂载目录
命令选项:
| 选项 | 功能 |
|---|---|
| -a | 挂载所有文件系统,参考文件/etc/fstab-显示当前挂载 |
| -t | 文件系统类型 |
| -o | 指定挂载权限 |
Linux 自动挂载分区的操作:
修改 /etc/fstab 添加
/dev/sdb1 /home/test/disk ext4 defaults 0 0
自动挂载的 /etc/fstab文件
设备 挂载点 文件系统 权限 备份 备份 检测
第一列的设备:磁盘设备文件或者该设备的Label或者UUID
Label就是分区的标签,在最初安装系统时填写的挂载点就是标签的名字。可以通过查看一个分区的superblock中的信息找到UUID和Label name。
获取UUID的方法
1 :lsblk -f
2 :blkid
然后修改 /etc/fstab 添加相关内容进行挂载磁盘
blkid命令
查看块设备(包含交换分区)的文件系统类型、LABEL、UUID、挂载目录等信息
使用设备名和label及UUID作为标识的不同
使用设备名称(/dev/sda)来挂载分区时是被固定死的,一旦磁盘的插槽顺序发生了变化,就会出现名称不对应的问题。因为这个名称是会改变的。
不过使用label挂载就不用担心插槽顺序方面的问题。不过要随时注意你的Label name。至于UUID,每个分区被格式化以后都会有一个UUID作为唯一的标识号。使用UUID挂载的话就不用担心会发生错乱的问题了。
第二列的挂载点:设备的挂载点,就是你要挂载到哪个目录下
第三列的文件系统:磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等
第四列的权限:
auto:系统自动挂载,fstab默认就是这个选项
defaults: rw,suid, dev, exec, auto, nouser, and async
noauto:开机不自动挂载
nouser:只有超级用户可以挂载
ro:按只读权限挂载
rw:按可读可写权限挂载
user:任何用户都可以挂载
第五列的备份:能否被dump备份命令作用:dump是一个用来作为备份的命令。通常这个参数的值为0或者1
| 选项 | 功能 |
|---|---|
| 0 | 不要做dump备份 |
| 1 | 每天进行dump的操作 |
| 2 | 不定日期的进行dump操作 |
第六列的检测:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。
| 选项 | 功能 |
|---|---|
| 0 | 不要检验 |
| 1 | 最早检验(一般根目录会选择) |
| 2 | 1级别检验完成之后进行检验 |
Linux磁盘和文件操作命令补充1
1.交换分区操作相关命令
1.1创建交换分区:mkswap /dev/sdb1
1.2启用交换分区:swapon /dev/sdb1
1.3创建交换文件
dd if=/dev/zero of=/swapfile1 bs=1G count=1
hmod 600 /swapfile1
mkswap /swapfile1
1.4启用交换文件:swapon /swapfile1 或者
vim /etc/fstab内容为:/swapfile1 swap swap defaults 0 0
1.5关闭交换设备:sudo swapoff -a
1.6查看交换分区信息: free vmstat swapon -s
Linux磁盘和文件操作命令补充2
交换分区操作相关命令:
分区sudo fdisk /dev/sdb
创建交换分区用t命令改变分区的ID为82
格式化:mkswap /dev/sdb1
挂载:vim /etc/fstab内容为:/dev/sdb1 swap swap defaults 0 0
启用交换分区:swapon -a [/dev/sdb1]
2. 分区扫描:fsck.ext4 -p /dev/sdb1
Linux磁盘文件操作
1.磁盘卷标设置
如果分区格式为ext2/ext3/ext4类型使用:e2label 设备名 卷标名
如果分区格式为xfs类型使用:xfs_admin -L 卷标名 设备名
xfs_admin 其他参数: -l 显示卷标 -u 显示UUID -L 设置卷标 -U 设置UUID
使用卷标进行磁盘挂载:mount -L 卷标 挂载点或 在fstab中 LABEL=卷标 /mnt ext4 defaults 0 0
2.磁盘空间查看命令
df(disk free)命令
查看磁盘分区的使用情况
命令选项:
| 选项 | 功能 |
|---|---|
| -T | 显示文件类型 |
| -h | 以K,M,G的方式显示大小 |
如df -Th
du(disk usage)命令
显示文件夹中文件占用磁盘的情况
| 选项 | 功能 |
|---|---|
| -s | 指定目录占用大小汇总 |
| -h | 以K,M,G的方式显示大小 |
| -a | 含文件 |
| --max-depth=1 | 子目录深度 |
| -c | 列出明细的同时,增加汇总值 |
3.文件系统备份还原
dump命令
dump命令用于备份ext2或者ext3文件系统。可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。
语法:dump [选项] 备份源(指定要备份的文件、目录或者文件系统)
| 选项 | 功能 |
|---|---|
| -0123456789 | 备份的层级 |
| -b<区块大小> | 指定区块的大小,单位为KB |
| -B<区块数目> | 指定备份卷册的区块数目 |
| -c | 修改备份磁带预设的密度与容量 |
| -d<密度> | 设置磁带的密度。单位为BPI |
| -f<设备名称> | 指定备份设备 |
| -h<层级> | 当备份层级等于或大于指定的层级时,将不备份用户标示为“nodump”的文件 |
| -n | 当备份工作需要管理员介入时,向所有“operator”群组中的使用者发出通知 |
| -s<磁带长度> | 备份磁带的长度,单位为英尺 |
| -T<日期> | 指定备份的时间与日期 |
| -u | 备份完毕后,在/etc/dumpdates中记录备份的文件系统、层级、日期与时间等 |
| -W | 显示需要备份的文件及其最后一次备份的层级、时间与日期 |
| -w | 与-W类似,但仅显示需要备份的文件 |
例如:
将/boot目录所有内容备份到/tmp/boot.dump文件中,备份层级为0并在/etc/dumpdates中记录相关信息:
dump -0u -f /tmp/boot.dump /boot
restore命令
restore命令是dump命令的逆过程,还原操作是写回这些已经备份的文件。
语法:restore [选项]
| 选项 | 功能 |
|---|---|
| -b<区块大小> | 设置区块大小,单位为Byte |
| -c | 不检查倾倒操作的备份格式,仅准许读取使用旧格式的备份文件 |
| -C | 使用对比模式,将备份的文件与现行的文件相互对比 |
| -D<文件系统> | 允许用户指定文件系统的名称 |
| -f<备份文件> | 从指定的文件中读取备份数据,进行还原操作 |
| -h | 仅解除目录而不包括与该目录相关的所有文件 |
| -i | 使用互动模式,在进行还原操作时,restore指令将依序询问用户 |
| -m | 解开符合指定的inode编号的文件或目录而非用文件名称指定 |
| -r | 进行还原操作 |
| -R | 全面还原文件系统时,检查应从何处开始进行 |
| -s<文件编号> | 当备份数据超过一卷磁带时,用户可以指定备份文件的编号 |
| -t | 指定文件名称,若该文件已存在备份文件中,则列出它们的名称 |
| -v | 显示指令执行过程 |
| -x | 设置文件名称,且从指定的存储媒体里读入它们,若该文件已存在在备份文件中,则将其还原到文件系统内 |
| -y | 不询问任何问题,一律以同意回答并继续执行指令 |
例:
用restore命令来查看备份文件里的文件列表
restore -t -f boot.dump
4.数据同步 sync
5.文件以及文件夹操作命令 ls cd mkdir rm rmdir cp mv file wc find ln diff
ext4格式分区进行磁盘配额设置
1.创建虚拟磁盘
2.分区格式化 fdisk mkfs.ext4
3.挂载
手动挂载,添加参数usrquota
mount -o usrquota,grpquota /dev/sdb1 /mnt/disk2/
自动挂载,修改/etc/fstab文件
/dev/sdb1 /mnt/disk2 ext4 defaults,usrquota,grpquota 0 0
3.修改所有者
chown test:test /mnt/disk2
4.进行磁盘配额限制
4.1 由于ext4文件系统,quota功能默认是不开启的,需要创建磁盘配额的配置文件(aquota.user 和aquota.group),才可以去启动quota功能,使用 quotacheck 命令的 -c 选项quotacheck -c /dev/sdb1 或者quotacheck -cvug /dev/sdb1
-v:显示扫描过程
-u:针对扫描用户的情况建立aquota.user
-g:针对扫描组的情况建立aquota.group
4.2 查看和开启磁盘配额命令quotaon
显示是否开启了磁盘配额:quotaon -p /dev/sdb1
开启磁盘配额:quotaon /dev/sdb1
4.3 为某一账户或者分组进行磁盘配额分配edpuota命令
-u 设置用户的磁盘配额,这是预设的参数。
-g 设置群组的磁盘配额。
以用户 test 为例,通过如下命令配置此命令的 Quota:
[user@localhost ~]# edquota -u test
Disk quotas for user test (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 4 0 0 1 0 0
edquota 命令配额限制信息
| 表头 | 含义 |
|---|---|
| 文件系统(filesystem) | 说明该限制值是针对哪个文件系统(或分区) |
| 磁盘容量(blocks) | 此列的数值是 quota 自己算出来的,单位为 Kbytes,不要手动修改 |
| 磁盘容量的软限制(soft) | 当用户使用的磁盘空间超过此限制值,则用户在登陆时会收警告信息,告知用户磁盘已满,单位为 KB |
| 磁盘容量的硬限制(hard) | 要求用户使用的磁盘空间最大不能超过此限制值,单位为 KB |
| 文件数量(inodes) | 同 blocks 一样,此项也是 quota自己计算出来的,无需手动修改 |
| 文件数量的软限制(soft) | 当用户拥有的文件数量超过此值,系统会发出警告信息 |
| 文件数量的硬限制(hard) | 用户拥有的文件数量不能超过此值 |