Linux学习之磁盘管理
查看磁盘或者目录的容量:
- df命令(disk filesystem):用于查看已挂载磁盘的总容量、使用容量、剩余容量等,可不加任何参数,默认以KB为单位显示。格式为:df [选项] [文件]
参数:
-a 全部文件系统列表
-h 方便阅读方式显示,使用适合的单位显示
-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
-i 显示inode信息,使用状况
-k 区块为1024字节,以KB为单位
-l 只显示本地文件系统
-m 区块为1048576字节,以MB为单位
–no-sync 忽略 sync 命令
-P 输出格式为POSIX
–sync 在取得磁盘信息前,先执行sync命令
-T 文件系统类型 - du命令(disk useage):用来查看某个目录或文件占空间的大小,格式为du [-abckmsh] [文件或者目录名],如果后面不加任何选项和参数,则只会列出目录(包括子目录)的大小,默认以KB为单位。
参数:
-k:以KB为单位,和默认输出的值一样
-m:以MB为单位
-b:以字节为计数单位,以B为单位输出
-a:对所有文件与目录的大小都列出来
-c:显示所有文件和目录的大小总和,最后加总
-h:系统自动调节单位(KB/MB/GB)
-s:仅显示总大小
-l:重复计算硬链接文件大小
-D:显示符号链接指向的源文件大小
-L:显示符号链接所指向文件的大小
-S:显示目录大小时,不包含子目录大小
–max-depth n: 显示的最大层数
–time [ctime/atime/mtime]:显示[创建/访问/更新]时间
磁盘的分区和格式化:
首先是要有一个可操作的虚拟磁盘。
- fdisk命令:只能划分小于2TB的分区,格式为fdisk [-l] [设备名称]。
1.# fdisk <硬盘设备名>
进入fdisk的交互操作方式,对指定的硬盘进行分区操作。
只有-l选项。选项-l后面不加设备名称,会直接列出系统中所有的磁盘设备以及分区表;加上设备名称,自会列出改设备的分区表。
2.# fdisk –l <硬盘设备名>
在命令行方式下显示指定硬盘的分区表信息。
不加-l选项,则会进入另一个模式,在该模式下,可以对磁盘进行分区操作。
fdisk命令参数
p 打印分区表
n 新建一个新分区
d 除一个分区
q 退出不保存
w 分区写进分区表,保存并退出
m 列出所有命令
格式化磁盘分区:
- mke2fs、nkfs.ext2、mkfs.ext3、mkfs.ext4命令:用于创建磁盘分区上的“etc2/etc3”文件系统,4个命令是一样的,是同一个帮助文档,格式为:mke2fs [选项] 参数]
选项
-b 表示分区时设定每个数据区快占用的空间大小。目前,每个数据块支持1024B,2048B以及4096B
-m 指定空间预留大小
-i 表示设定inode的大小,默认一个inodes对应四个blocks
-N 表示设定inode的数量。有时默认的inode数不够用,所以要自定义inode的数量
-c 表示在格式化前先检测一下磁盘是否有问题。加上这个选项后,运行速度会非常慢
-L 表示预设该分区的标签(label)
-j 表示建立ext3格式的分区。如果使用mkfs.ext3格式,就不用加这个选项了
-t 用来指定文件系统的类型。可以是ext2,ext3,也可以是ext4 - e2lable命令:用于查看或修改区分的标签,它只支持ext格式的文件系统,而不支持XFS文件系统。
- blkid命令:用于查看挂载的分区。
挂载/卸载磁盘:
- mount命令:用于加载文件系统到指定的加载点。此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载。格式为:mount [选项] [参数]
选项:
-V:显示程序版本
-l:显示已加载的文件系统列表
-h:显示帮助信息并退出
-v:冗长模式,输出指令执行的详细信息
-n:加载没有写入文件“/etc/mtab”中的文件系统
-r:将文件系统加载为只读模式
-a:加载文件“/etc/fstab”中描述的所有文件系统 - /etc/fstab配置文件:
[设备/UUID等] [挂载点] [文件系统类型] [文件系统参数] [dump] [fsck]
1.分区的标识,可以写分区的LABEL、UUID,也可以写分区名(/dev/sda1)
2.挂载点
3.分区的格式
4.mount的一些挂载参数。一般写defaults
5.数字表示是否被dump备份。1表示备份,0表示不备份
6.开机时是否自检磁盘。1和2表示检测,0表示不检测。自检时1比2高级,先检测1,再检测2,2会同时检测。
ro:表示按只读权限挂载
rw:表示按可读可写权限挂载 - blkid命令:查看分区的UUID号,查询或查看磁盘设备的相关属性,以免插错磁盘。
- umount命令:后面可以跟挂载点、分区名,但不可以跟LABEL和UUID。
遇到不能卸载的情况是因为当前目录还在卸载的分区上。
解决:
1.进入到其他目录
2.使用umount -l 强行卸载 - 建立一个swap文件增加虚拟内存