linux 操作系统之磁盘管理
磁盘管理
存储设备:硬盘 , u盘 , 移动硬盘 , 光盘 , 软件。
组装一台电脑
无法被修改
df -h #查看磁盘分区的情况 , 可用的。
查看磁盘或者目录的内容
df “df” 常用的 “-i” , “-h” , “-k” , “-m” 等
文件系统 容量 已用 可用 已用%% 挂载点
/dev/sda3 14g 1.5g 12g 11% /
tmpfs 160m 0 160m 0%
/dev/shm
/dev/sda1 97m 27m 66m 29%
/boot
“du”是用来查看某个目录或者文件所占空间大小
语法:du[-abckmsh] [文件或者目录名] 常用的参数有:
如果du不指定单位的话 , 默认显示单位k.
"-b" 列出的值以bytes为单位输出.
"-k"以kb为单位输出 , 和默认 不加任何选项的输出值是一样的.
"-m"以mb为单位输出.
"-h"系统自动调节单位 , 列入文件太小可能就几k , 那么就以k为单位显示 , 如果大到几g , 则就以g为单位显示.
du -hc[目录] #列出目录下的所有文件的大小 , 列出总和.
du-hs[目录] #列出总大小.
磁盘的分区与格式化
fdisk -l #查看分区
fdisk /dev/sdb #分区
m #查看帮助
n #新建分区
+1g #简单写
w #保存分区
d #删除分区;
q #退出
格式化磁盘分区
命令: mke2fs , mkfs.ext2 , mkfs.ext3 , mkfs.ext4
'-b' 分区时设定每个数据区块占用空间 , 目前支持 1024 , 2048 , 以及4096 bytes每个块. ,
'-i' 设定inode的大小.
'-n' 设定inode数量 , 有时使用默认的inode数不够用 , 所以要自己设定inode数量.
'-c' 在格式化前先检测一下磁盘是否有问题 , 加上这个选项后会非常慢.
'-l' 预设该分区的标签label
'-j' 建立ext3 格式的分区 , 如果使用 mkfs.ext3 就不用这个选项了
'-t' 用来指定什么类型的文件系统 , 可以是ext2 , ext3 , 也可以是 ext4
mke2fs -t ext4 /dev/sdb5
mke2fs -t ext4 /dev/sdb5
挂载卸载磁盘
mount #查看挂载详情
mount /dev/sdb1 /www #挂载分区到某个目录
demsg |tail #不能完成挂载 , 可以查看
umount /www #卸载挂载的磁盘
cat /etc/fstab #查看开机启动的挂载详情 , 我们可以自己编写一行 , 来实现
mount -t ext4 /dev/sdb5 /newdir #-t自动识别
mount -o remount ,ro , sync , noauto , /dev/sdb5 /newdir
/dev/sdb1 /avi ext4 defaults 0 0
第一列就是分区的标识 , 可以写分区的label , 也可以写分区的uuid , 当然也可以写分区名(/dev/sda1);
第二列时挂载点;
第三列是分区的格式;
第四列则是mount的一些挂载参数 , 一般情况下写defaults即可.
第五列的数字表示是否被dump备份 , 是的话就是1 , 否则就是0;
第六列是开机时是否自检磁盘 . 1 , 2都表示检测 , 0 表示不检测,
在redhat/cenntos中 , 这个1,2还有说法 , / 分区必须设为1, 而且整个fstab 中只允许出现一个1 , 在这里有一个优先级的说法 , 1比2优先级高 , 所以先检测1 ,然后再检测2 , 如果有多个分区需要开机检测那么都设置成2 吧 , 1 检测完了后会同时去检测2.
下面概述一下第四列常用的参数
"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" : 启动群组磁盘配额模式.
swap
dd id=/dev/zero of=/tmp/newdisk bs=4k
count=102400
mkswap -f /tmp/newdisk
free -m