第6章Linux磁盘管理
一、查看磁盘或者目录的容量
命令df
用于查看已挂载磁盘的总容量、使用的容量、剩余容量等
格式为:df [-i -h -k -m] [目录或文件名]
-i :不用硬盘容量,而以 inode 的数量来显示
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示
-k :以 KBytes 的容量显示各文件系统
-m :以 MBytes 的容量显示各文件系统
命令du
用来查看某个目录或文件所占空间的大小
格式为:du [-a -h -s -k -m -b -c] 文件或目录名称
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已
-h :以人们较易读的容量格式 (G/M) 显示
-s :列出总量而已,而不列出每个各别的目录占用容量
-k :以 KBytes 列出容量显示
-m :以 MBytes 列出容量显示
-b : 表示列出的值以B为单位输出
-c : 表示最后加总
与 df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据
du -sh filename
二、磁盘的分区
命令fdisk
格式为 :fdisk [-l] 装置名称
-l :输出后面接的装置所有的 partition 内容若仅有 fdisk -l 时,则系统将会把整个系统内能够搜寻到的装置的 partition 均列出来
p:表示打印当前磁盘的分区情况
n:表示建立一个新的分区
w:表示保存
q:表示退出
d:表示删除一个分区
三、磁盘格式化
命令mkfs
格式为:mkfs [-t 文件系统格式] 装置文件名
-t :可以接文件系统格式,例如 ext3, ext2, vfat 等(系统有支持才会生效)
命令mke2fs
格式为 : mke2fs [-b block大小] [-i block大小] [-L 标头] [-cj] 装置
-b :可以配置每个 block 的大小,目前支持 1024, 2048, 4096 bytes 三种;
-i :多少容量给予一个 inode 呢?
-c :检查磁盘错误,仅下达一次 -c 时,会进行快速读取测试;
如果下达两次 -c -c 的话,会测试读写(read-write),会很慢~
-L :后面可以接标头名称 (Label),这个 label 是有用的喔!e2label命令介绍会谈到~
-j :本来 mke2fs 是 EXT2 ,加上 -j 后,会主动加入 journal 而成为 EXT3。
其实 mke2fs 所使用的各项选项/参数也可以用在『 mkfs -t ext3 ... 』后面,因为最终使用的公用程序是相同的啦! 特别要注意的是 -b, -i 及 -j 这几个选项,尤其是 -j 这个选项,当没有指定 -j 的时候, mke2fs 使用 ext2 为格式化文件格式,若加入 -j 时,则格式化为 ext3 这个 Journaling 的 filesystem
命令e2lalbel
该命令用于查看或修改分区的标签,它只支持ext格式的文件系统,而不支持XFS文件系统
四、挂载/卸载磁盘
命令mount
命令名称:mount
功能描述:挂载
linux所有存储设备都必须挂载使用,包括硬盘
/etc/fstab配置文件
-a:会把/etc/fstab中出现的所有磁盘分区挂载上
-t:用来指定挂载的分区类型默认不指定,会自动识别
-o:用来指定挂载的分区有哪些特征
/dev/sda1 第一个scsi硬盘的第一分区
/dev/cdrom 光盘
/dev/hdc IDE硬盘 centos 5.5
/dev/sr0 光盘 centos 6.x
mount -t 文件系统 设备描述文件 挂载点(已经存在空目录)
mount -t iso9660 /dev/cdrom /mnt/cdrom
命令blkid
可以通过blkid命令获取个分区的UUID
如果想让某个分区在开机后自动挂载,有两个办法可以实现:一是在/etc/fstab中添加一行。二是把挂载命令写到/etc/rc.b/rc.local文件中去,系统启动后会执行这个文件中的命令
命令umount
这个命令后面可以跟挂载点,也可以跟分区名,但是不可以跟LABEL和UUID
有时候不能卸载是因为当前目录还在卸载的分区上。解决这个问题的办法有两种:一是进入到其他目录;二是使用umount命令的-l选项
umount /dev/cdrom
umount /mnt/cdrom 注意:退出挂载目录,才能卸载
fdisk -l 查看设备名
mount -t vfat /dev/sdb1 /mnt/usb
五、建立一个swap文件增加虚拟内存
新增虚拟磁盘的基本思路是:建立swapfile→格式化为swap格式→启用该虚拟磁盘