你的位置:首页 > 操作系统

[操作系统]linux磁盘管理、新增磁盘、分区、挂载


1. du -sh 查看目录、文件总大小
-a:全部文件与目录大小都列出来。如果不加任何选项和参数只列出目录(包含子目录)大小。
-c:最后加总
2. df -h 查看磁盘使用量
3. lsblk 查看系统块设备信息
blkid 查看磁盘分区的uuid

3. free 系统内存以及虚拟内存使用情况
-m选项是以M的形式查看

4. fuser -km /home 终止使用该目录的所有进程

5. mount /dev/sdc1 /home 挂载sdc1到/home节点
umount /dev/sdc1 卸载/dev/sdc1

6.fdisk -l 列出 所有/指定 磁盘设备的分区表
fdisk /dev/sdc 进入磁盘分区操作:m p n d w q
m 菜单
p 打印当前磁盘的分区情况
n 重新建立一个新的分区: e(extended 扩展分区)或者p(primary partition主分区)
w 保存操作。
q 退出。
d 删除一个分区
例子:fdisk /dev/sdc
p 打印
n 新建
选择编号:2
选择p主/e扩展:p
分配大小:回车全部分配
w 保存
partprobe 立即生效

注:主分区最多4个,扩展分区1个,扩展分区下可以再次分区为逻辑分区
重新分区后可以不用重启电脑就可以使新分区生效:partprobe

7.mkfs 格式化
mkfs.ext2 / mkfs.ext3 /mke2fs 格式化linux硬盘分区
mkfs -t ext3 /dev/sda1

常用的选项有:
-b:分区时设定每个数据区块占用空间大小,目前支持1024, 2048 以及4096 bytes每个块。
-i:设定inode大小
-N:设定inode数量,有时使用默认的inode数不够用,所以要自定设定inode数量。
-c:在格式化前先检测一下磁盘是否有问题,加上这个选项后会非常慢
-L:预设该分区的标签label
-j:建立ext3格式的分区,如果使用mkfs.ext3 就不用加这个选项了
例子:
mkfs.ext3 /dev/hdb1 直接格式化/dev/hdb1
mkfs.ext3 -b 4096 -i 4096 /dev/hdb2 设置node数量和block大小
mkfs.ext3 -L label3 /dev/hdb3 添加标签
e2label /dev/hdb3 用来查看或者修改分区的标签(label)

8.fsck 检查硬盘有没有坏道
-A :所有分区(开机过程中就会执行一次该操作);
-a :自动修复检查到有问题的分区;
-r :当检查到有坏道的分区时会让用户决定是否修复。

9. /etc/fstab 系统启动时需要挂载的分区
列:分区标签、挂载点、格式、挂载参数、是否dump、是否开机检测磁盘
挂载参数:
async/sync :async表示和磁盘和内存不同步,系统每隔一段时间把内存数据写入磁盘中,而sync则会时时同步内存和磁盘中数据;
auto/noauto :开机自动挂载/不自动挂载;
default:按照大多数永久文件系统的缺省值设置挂载定义,它包含了rw, suid, dev, exec, auto, nouser,async ;
ro:按只读权限挂载 ;
rw:按可读可写权限挂载 ;
exec/noexec :允许/不允许可执行文件执行,但千万不要把根分区挂载为noexec,那就无法使用系统了,连mount命令都无法使用了,这时只有重新做系统了;
user/nouser :允许/不允许root外的其他用户挂载分区,为了安全考虑,请用nouser ;
suid/nosuid :允许/不允许分区有suid属性,一般设置nosuid ;
usrquota :启动使用者磁盘配额模式,磁盘配额相关内容在后续章节会做介绍;
grquota :启动群组磁盘配额模式;

例子:/etc/fstab加一行来挂载新增分区。例如,笔者增加了这样一行
/dev/hdb1 /test1 ext3 defaults 0 0
那么系统再重启时就会挂载这个分区了。

9.挂载/卸载磁盘
mount:挂载
mount /dev/sdb1 /home
-a 所有磁盘
-o 选项:mount -o remount,rw,sync,noauto /dev/hdb1 /test1
UUID 根据uuid挂载(blkid查uuid):mount UUID="d233432fsf23fdfsf3e" /test1
-t 指定文件系统:mount -o remount -t ext3 /dev/hdb1 /test1

umount:卸载
umount /dev/hdb1 :根据分区卸载
umount /test1 : 根据挂载点卸载
umount -l /dev/hdb1 :强制卸载


--------------------------------------------------------
10.建立swap文件
1.利用dd 来创建一个419M的文件/tmp/newdisk出来,其中if代表从哪个文件读,/dev/zero是linux下特有的一个0生成器,of表示输出到哪个文件,bs即块大小,count则定义有多少个块。
dd if=/dev/zero of=/tmp/newdisk bs=4k count=102400
2.mkswap格式化swap分区: mkswap /tmp/newdisk
3.free -m 查看内存和虚拟分区
4.swapon /tmp/newdisk 启用分区文件
5.swapoff /tmp/newdisk 关闭分区文件


11.磁盘配额 quota
quota quotacheck quotaoff quotaon quotastats edquota setquota warnquota repquota
1.quata 显示组、用户的限额
语法:quota [-guvs] [user,group]
-g :显示某个组的限额
-u :显示某个用户的限额
-v :显示的意思
-s :选择inod或硬盘空间来显示

2.quotacheck 用来扫描某一个磁盘的quota空间。
语法:quotacheck [-auvg] /path
-a :扫描所有已经mount的具有quota支持的磁盘
-u :扫描某个使用者的文件以及目录
-g :扫描某个组的文件以及目录
-v :显示扫描过程
-m :强制进行扫描

3.edquota 用来编辑某个用户或者组的quota值。
语法:edquota [-u user] [-g group] [-t]
edquota -p user -u user
-u :编辑某个用户的quota
-g :编辑某个组的quota
-t :编辑宽限时间
-p :拷贝某个用户或组的quta到另一个用户或组
运行edquota -u user 时,系统会打开一个文件:
列1.Filesystem :磁盘分区,如/dev/hda3
2.blocks :当前用户在当前的Filesystem中所占用的磁盘容量,单位是Kb。
3.soft/hard :当前用户在该Filesystem内的quota值,soft指的是最低限额,可以超过这个值,但必须要在宽限时间内将磁盘容量降低到这个值以下。hard指的是最高限额,即不能超过这个值。当用户的磁盘使用量高于soft值时,系统会警告用户,提示其要在宽限时间内把使用空间降低到soft值之下。
4.inodes :目前使用掉的inode的状态,不用修改。

4.quotaon 启动quota,在编辑好quota后,需要启动才能是quota生效
语法:quotaon [-a] [-uvg directory]
-a :全部设定的quota启动
-u :启动某个用户的quota
-g :启动某个组的quota
-s :显示相关信息

5.quotaoff 关闭quota
quotaoff -a 关闭全部的quota


快速复习
##################
添加磁盘分区:
1.df -sh 当前磁盘分区挂载点使用量
2.fdisk -l 列出磁盘设备的分区表(磁盘总量、已分配的)
3.fdisk /dev/sdb 进入磁盘分区操作
p 打印
n 新建
选择编号:1
选择p主/e扩展:p
分配大小:回车全部分配
w 保存
Disk /dev/sdb 分区生产了/dev/sdb1
partprobe 立即生效
4.mkfs.ext3 /dev/sdb1 直接格式化/dev/sdb1 或
mkfs -t ext3 /dev/sdb1
5./etc/fstab 添加 /dev/sdb1 /home ext3 defaults 0 0
6.mount /dev/sdb1 /home/tt/app 挂载
7.lsblk 查看系统块设备信息