目录
Linux磁盘管理好坏管理直接关系到整个系统的性能问题
Linux磁盘管理常用三个命令为df
,du
和fdisk
df:列出文件系统的整体磁盘使用量
du:检查磁盘空间使用量
fdisk:用于磁盘分区
df
df命令可以使用检查文件系统的磁盘空间占用情况。
可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法:
df [ -ahikHTm ] [目录或文件名]
选项与参数:
- -a:列出所有的文件系统,包括系统特有的/ proc等文件系统;
- -k:以KBytes的容量显示各文件系统;
- -m:以MBytes的容量显示各文件系统;
- -h:以人们较易阅读的GB,MB,KB等格式自行显示;
- -H:以M = 1000K取代M = 1024K的进位方式;
- -T:显示文件系统类型,并合并该分区的文件系统名称(例如ext3)也列出;
- -i:不用硬盘容量,而以inode的数量来显示
范例1:列出所有的文件系统
[ root @ localhost〜] #df 文件系统1K块已使用可用已使用%已安装在 / dev / xvda1 20641404 7930560 11662320 41%/ tmpfs 250416 0 250416 0%/ dev / shm / dev / xvdb1 10317828 3344500 6449212 35%/ mnt /数据
在Linux底下如果df没有加任何选项,那么替换重定向系统内部的所有文件系统(不含特殊内存内部的文件系统与swap)都以1 KB的容量来列出来!
范例2:列出所有的文件系统,且文件系统大小以易读的格式显示出来
[ root @ localhost〜] #df -h 已使用的文件系统大小可用百分比已安装在 / dev / xvda1 20G 7 .6G 12G 41%/ tmpfs 245M 0 245M 0%/ dev / shm 的/ dev / xvdb1 9 .9G 3 .2G 6 .2G 35%的/ mnt /数据
范例3:将系统内的所有特殊文件格式及名称都列出来
[ root @ localhost〜] #df -aT 文件系统类型1K块已使用可用用法已安装% / dev / xvda1 ext3 20641404 7930560 11662320 41%/ proc proc 0 0 0- / proc sysfs sysfs 0 0 0- / sys devpts devpts 0 0 0- / dev / pts tmpfs tmpfs 250416 0 250416 0%/ dev / shm xenfs xenfs 0 0 0- / proc / xen / dev / xvdb1 ext4 10317828 3344520 6449192 35%/ mnt /数据 无binfmt_misc 0 0 0- / proc / sys / fs / binfmt_misc
范例4:将/ sbin目录下的可用的磁盘容量以易读的容量格式显示
[ root @ localhost〜] #df -h / sbin 已使用的文件系统大小可用百分比已安装在 / dev / xvda1 20G 7 .6G 12G 41%/
du
Linux du命令也是查看使用空间的。
du命令与df命令不同的是du命令是查看文件和目录磁盘使用的空间。
语法:
du [ -ahskm ]文件或目录名称
选项与参数:
- -a:列出所有的文件与目录容量,因为唯一仅统计目录底下的文件量而已。
- -h:以人们较易读的容量格式(G / M)显示;
- -s:列出总数而已,而不列出每个各别的目录占用容量;
- -S:不包括子目录下的总计,与-s有点区别。
- -k:以KBytes列出容量显示;
- -m:以MBytes列出容量显示;
范例1:列出当前目录(/ home)当前目录下的所有文件容量
[根@本地〜] #du 16个 ./www 4 ./wwwroot/xxds #每个目录都会列出来 8 ./wwwroot 32个 ./wwwlogs 4 ./slot #包括隐藏文件的目录 64 。 #这个目录(。)所占用的大量
直接输入du没有加任何选项时,则du会分析当前所在目录的文件与目录所占用的硬盘空间。
范例2:将文件的容量也列出来
[ root @ localhost〜] #du -a 4 ./www/.bash_logout#细致到每个文件大小 4 ./www/.bashrc 4 ./www/.bash_profile 16 ./www 4 ./wwwroot/xxds 8 。 / wwwroot 0 ./wwwlogs/y.log 0 ./wwwlogs/nginx_error.log 28 ./wwwlogs/access.log 32 ./wwwlogs 4 ./slot# 包括隐藏文件的目录 64 。
范例3:检查根目录底下每个目录所占用的容量
[ root @ localhost〜] #du -sm / * 7 / bin 20 / boot 1 / cgroup 1 / dev 8 / etc 1 / home 141 / lib 19 / lib64 1 / lost + found 1 / media #...中间省略.... 0 / proc 3867 / root #这个就是最大的一个目录了 #.....中间省略.... 1 / tmp 2446 / usr
与df不一样的是,du这个命令实际上会直接到文件系统内部去搜寻所有的文件数据
fdisk
fdisk是Linux的磁盘分区表操作工具
语法:
fdisk [ -l ]装置名称
选项与参数:
- -l:输出后面接的装置所有的分区内容。若仅有fdisk -l时,则系统将会把整个系统内部能够搜寻到的装置的分区均列出来。
范例1:列出所有分区信息
[ root @ localhost〜] #fdisk -l 磁盘/ dev / loop0:107 .4 GB,107374182400字节 255个磁头,63个扇区/磁道,13054个柱面 单位 = 16065 * 512 个柱面= 8225280字节 扇区大小(逻辑/物理):512字节/ 512字节 I / O大小(最小/最佳):512字节/ 512字节 磁盘标识符:0x00000000 磁盘/ dev / loop1:2147 MB,2147483648字节 255磁头,63扇区/磁道,261个柱面 单位 =柱面16065 * 512 = 8225280字节 扇区大小(逻辑/物理):512字节/ 512字节 I / O大小(最小/最佳):512字节/ 512字节 磁盘标识符:0x00000000 磁盘/ dev / xvda:21 .5 GB,21474836480字节 255磁头,63扇区/磁道,2610个柱面 单位 =柱面16065 * 512 = 8225280字节 扇区大小(逻辑/物理):512字节/ 512字节 I / O大小(最小/最佳):512字节/ 512字节 磁盘标识符:0x00073f45 设备启动开始端块ID系统 / dev / xvda1 * 1 2611 20970496 83 Linux 磁盘/ dev / xvdb:10 .7 GB,10737418240字节 255磁头,63扇区/磁道,1305个柱面 单位 =柱面16065 * 512 = 8225280字节 扇区大小(逻辑/物理):512字节/ 512字节 I / O大小(最小/最佳):512字节/ 512字节 磁盘标识符:0x88bca36b 设备启动开始端块ID系统 / dev / xvdb1 1 1305 10482381 83 Linux 磁盘/ dev / mapper / docker-202:1-951331-pool:107 .4 GB,107374182400字节 255磁头,63个扇区/磁道,13054个柱面 单位 = 16065 * 512 个柱面= 8225280字节 扇区大小(逻辑/物理):512字节/ 512字节 I / O大小(最小/最佳):512字节/ 65536字节 磁盘标识符:0x00000000 磁盘/ dev / mapper / docker-202:1-951331-base:10 .7 GB,10737418240字节 255磁头,63个扇区/磁道,1305个柱面 单位 = 16065 * 512 个柱面= 8225280字节 扇区大小(逻辑/物理):512字节/ 512字节 I / O大小(最小/最佳):512字节/ 65536字节 磁盘标识符:0x00000000
范例2:查看系统中根目录所在磁盘相关信息
[ root @ localhost〜] #df /#重点在发现磁盘文件名而已 文件系统1K块已使用可用已使用%已安装在 / dev / xvda1 20641404 7930568 11662312 41%/
[根@本地〜] #的fdisk的/ dev / xvda#仔细看,不要加上数字! 气缸的数量为该磁盘被设置到5005。 没什么错,但是它大于1024, 并可能在某些设置中导致以下问题: 1 )在引导时 运行的软件(例如,LILO的旧版本) 2 )从其他操作系统(例如,DOS FDISK,OS / 2 FDISK )引导和分区软件 命令( m为 帮助): #等待你的输入!
输入m后,就会看到底下命这些令介绍
Command ( m for help ):m #输入m后,就会看到底下这些命令介绍 命令动作 切换可启动标志 b编辑bsd disklabel c切换dos兼容性标志 d删除分区 #删除一个分区 l列出已知的分区类型 m打印此菜单 n添加新分区 #新增一个分区 o创建一个新的空DOS分区表 p打印分区表 #在屏幕上显示分区表 q退出而不保存更改#不保存 离开fdisk程序 s创建一个新的空Sun disklabel 吨改变一个分区' s的系统ID u更改显示/输入单位 v验证分区表 w将表写入磁盘并退出 #将立即的动作写入分割表 x额外功能(仅适用于专家)
离开fdisk时点击
q
,那么所有的动作都不会生效,相反的,点击w
就是动作生效。
Command ( m for help ):p #这里可以输出当前磁盘的状态 磁盘/ dev / xvda:21 .5 GB,21474836480字节 #这个磁盘的文件名与容量 255磁头,63个扇区/磁道,2610个柱面 #磁头,对准与磁柱大小 单位 =柱面16065 * 512 = 8225280字节 #每个磁柱的大小 扇区大小(逻辑/物理):512字节/ 512字节 I / O大小(最小/最佳):512字节/ 512字节 磁盘标识符:0x00073f45 设备启动开始端块ID系统 / dev / xvda1 * 1 2611 20970496 83 Linux #装置文件名启动区否开始磁柱结束磁柱1K大小容量磁盘分区槽内的系统 命令( m为 帮助):q
想要不储存离开吗?点击q就对了!不要随便按w啊!因为会抹掉原来的磁盘上的数据
使用p
可
以列出目前这颗磁盘的分割表信息,这个信息的上半部在显示整体磁盘的状态。
磁盘格式化【mkfs】
磁盘分割完成后自然就是要进行文件系统的格式化,格式化的命令非常的简单。
使用mkfs
(make文件系统)命令
语法:
mkfs [ -t文件系统格式]装置文件名
选项与参数:
- -t:可以接文件系统格式,例如ext3,ext2,vfat等(系统有支持才会生效)
范例1:查看mkfs支持的文件格式
[ root @ localhost〜] #mkfs [tab] [tab] #[tab]是指点击tab键 mkfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev
输入mkfs后点击两个[tab],会发现mkfs支持的文件格式如上所示
范例2:将分区/ dev / xvda1格式化为ext3文件系统
[ root @ localhost〜] #mkfs -t ext3 / dev / xvda1 mke2fs 1 .39 (29 -May-2006 ) 文件系统标签= #这里指的是分割槽的名称(label) 操作系统类型:Linux 块大小= 4096 (日志= 2 ) #块的大小配置为4K 片段大小= 4096 (日志= 2 ) 251392个i节点,502023块 #由此配置决定的索引节点/块数量 25101块(5 0.00% )保留用于超级用户 第一个数据块= 0 最大文件系统块= 515899392 16个块组每组 32768个块,每组32768个片段每组 15712个inode 存储在块上的超级块备份: 32768,98304,163840,229376,294912 编写inode表:完成 创建日志(8192个块):完成 #有日志记录 编写超级块和文件系统记帐信息:完成 该文件系统将每34个安装或 180天(以先到者为准)自动检查一次。使用tune2fs -c或-i覆盖。 #这样就创建了我们所需要的Ext3文件系统了!简单明了!
磁盘检验【fsck】
fsck(文件系统检查)用来检查和维护多个的文件系统
若系统掉电或磁盘发生问题,可利用fsck
命令对文件系统进行检查
语法:
fsck [ -t文件系统] [ -ACay ]装置名称
选项与参数:
- -t:给定档案系统的型式,若在/ etc / fstab中已有定义或kernel本身已支持的则不需加上此参数
- -s:依序一个一个地执行fsck的指令来检查
- -A:对/ etc / fstab中所有列出来的分区(partition)做检查
- -C:显示完整的检查进度
- -d:打印出e2fsck的调试结果
- -p:同时有-A条件时,同时有多个fsck的检查一起执行
- -R:同时有-A条件时,省略/不检查
- -V:详细显示模式
- -a:如果检查有错则自动修复
- -r:如果检查有错则由使用者回答是否恢复
- -y:选项指定检测每个文件是自动输入yes,在不确定那些是不正常的时候,可以执行#fsck -y全部检查修复。
范例1:查看系统有多少文件系统支持的fsck命令
[ root @ localhost〜] #fsck [tab] [tab] fsck fsck.cramfs fsck.ext2 fsck.ext3 fsck.ext4 fsck.ext4dev
范例2:强制检测/ dev / xvda1分区:
[ root @ localhost〜] #fsck -C -f -t ext3 / dev / xvda1 fsck 1 .39 (29 -May-2006 ) e2fsck 1 .39 (29 -May-2006 ) Pass 1:检查inode,块和尺寸 通过2:检查目录结构第三 遍:检查目录连接 第4遍:检查参考计数 Pass 5:检查组摘要信息 vbird_logical:11 /二五一九六八文件(9 0.1%的非连续的),36926 /一○○四○四六块
如果没有加上-f的选项,则由于该文件系统不曾出现问题,检查的经过非常快速!若加上-f强制检查,只会有一项的显示过程。
磁盘挂载【mount】与卸除【umount】
Linux的磁盘挂载使用mount
命令,卸载使用umount
命令。
磁盘挂载语法:
mount [ -t文件系统] [ -L标签名] [ -o额外选项] [ -n ] 装置文件名挂载点
范例1:将刚刚创建的/ dev / xvda1挂载到/ mnt / data
用最小的方式挂载
[ root @ localhost〜] #mkdir / mnt / data [ root @ localhost〜] #mount / dev / xvda1 / mnt / data [ root @ localhost〜] #df 文件系统1K块已使用可用已使用%已安装在 .....中间省略..... / dev / xvda1 1976312 42072 1833836 3%/ mnt / data
磁盘卸载命令umount
语法:
umount [ -fn ]装置文件名或挂载点
选项与参数:
- -f:强制卸除!可用在类似网络文件系统(NFS)无法读取到的情况下;
- -n:不升级/ etc / mtab情况下卸除。
卸载/ dev / xvda1
[ root @ localhost〜] #umount / dev / xvda1
这就是Linux磁盘管理大概知识点,明天见了。