Linux学习笔记一 磁盘管理常用命令
Linux系统下,一切均是文件,磁盘是一种特殊的块设备文件。
常用的硬盘接口类型
- 并口:IDE ,SCSI
- 串口:SATA,SAS
磁盘设备文件设备文件的命令规则:
IDE: 设备名为/dev/hda, /dev/hdb…. (末尾的a ,b…代表不同的IDE硬盘)
SCSI:设备名为/dev/sda, /dev/sdb….(末尾的a,b…代表不用的SCSI硬盘
机械式硬盘:
track: 磁道(盘面上由外向里划分成不同的磁道)
cylinder: 柱面(不同盘面的同一磁道组成了一个柱面)
sector:扇区(扇区大小是512bytes)
硬盘0磁道0扇区: 512bytes 存储着MBR和分区表
MBR: Master Boot Record446bytes: boot loader
64bytes: 用来存储硬盘分区表,每记录一个分区,需要占用16bytes.
2bytes:起标识作用
由于硬盘只有64byte字节来存取分区表,而标示每一个分区需要16bytes,所以一块硬盘最多只能有4个主分区。为了突破4个分区的限制,可以将硬盘划分成3主分区+1扩展(N个逻辑分区)
Linux文件系统管理
Linux文件系统:ext2,ext3,ext4,xfs,swap,btrfs,reiserfs,jfs
swap:交换分区
根据是否支持“journal”功能可以分为:
日志型文件系统:ext3, ext4, exf
非日志型文件系统:ext2,vfa
创建文件系统的命令:mkfs,其使用格式如下:
- mkfs.FS_TYPE /dev/DEVIC , FS_TYPE可以是ext4,xfs,btrfs,vfat
- mkfs -t FS_TYPE /dev/DEVICE, FS_TYPE可以是ext4,xfs,btrfs,vfat
mke2fs: ext系列文件系统专用管理工具-t {ext2|ext3|ext4} 文件系统
-b {1024|2048|4096} 块的大小
-L ‘LABEL‘ 卷标
-j 相当于 -t ext3
-i #: 为数据空间中每多个字节创建一个inode,此大小不该小于block的大小,否则会有inode浪费
-m #: 为管理员预留的空间占据的百分比,#表示百分比,系统默认会保留5%空间
bllid命令可查看块设备信息
[[email protected] ~]# blkid /dev/sda1
/dev/sda1: UUID="d4443e1c-7ecc-4393-9193-94beffba73e7" TYPE="xfs"
此外:
blkid -U UUID :根据指定的UUID查找对应的设备
blkid -L LABEL: 根据指定的卷标查找对应的设备
e2labe:管理ext系列文件系统的卷标
命令使用格式为:$e2label DEVICE [LABEL]
[[email protected] ~]# e2label /dev/sda5 #查看/dev/sda5的卷标
Mydata
[[email protected] ~]# e2label /dev/sda5 Testdata #修改/dev/sda5的卷标为Testdata
[[email protected] ~]# e2label /dev/sda5 #查看修改后的结果
Testdata
tune2fs: 重新调整ext系列文件系统的可调整参数的值
选项:
-l : 查看文件系统的超级块信息
-L "LABEL" 修改卷标
-m #: 为管理人员预留的空间占据的百分比
-j: 打开日志功能,将ext2升级为ext3
-O: 文件系统属性启用或禁用
-o: 调整文件系统的默认挂载选项
-U UUID: 修改UUID号
dumpe2fs:
-h: 查看超级块信息
mkswap: 创建交换分区 ,前提是此分区id是82(linux swap 分区)
mkswap [options] device
-L ‘LABEL‘
[[email protected] ~]# mkswap -L "swap" /dev/sda6
Setting up swapspace version 1, size = 10490408 KiB
LABEL=swap, UUID=62f6b158-6012-4340-919f-137ca21b360b
[[email protected] ~]# blkid /dev/sda6
/dev/sda6: LABEL="swap" UUID="62f6b158-6012-4340-919f-137ca21b360b" TYPE="swap"
文件系统检测:
fsck: File System Check
fsck.FS_TYPE=fsck -t FS_TYPE # FS_TYPE必须要与要检测的文件系统的类型相同-a: 自动修复错误
-r: 交互式修复,修复前,需要用户确认
e2fsck:修复ext系列文件专用工具
文件系统管理
将额外的文件系统与根文件系统下某现存的空目录建立起关联关系,进而使得此目录作为其它文件系统访问入口的行为称之为挂载
解除此关联关系的过程称之为卸载
挂载方法:mount DEVICE MOUNT_POINT
mount 不带任何参数,显示当前系统上已挂载的所有设备(读取的文件是/etc/mtab)
mount命令的使用格式如下:
mount [-fnrsvw] [-t vfstype] [-o options] device dir
device:指明要挂载的设备1.设备文件,例如/dev/sda5
2.卷标:-L ‘LABEL‘例如 -L ‘MYDATA‘
3.UUID, -U ‘UUID‘: 格式如: -U "d4443e1c-7ecc-4393-9193-94beffba73e7" TYPE="xfs"
4.伪文件系统名称:proc, sysfs ,devtmpfs, configs
dir:挂载点
挂载点必须事先存在,建议使用空目录,如果将文件系统挂载到一个非空某下,目录下的原来的文件将不会再显示。常用选项:
-t vfstype: 指定要挂载的设备上的文件系统类型
-r: readyonly ,只读挂载
-w: read & write, 读写挂载
-a: 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab 中,且挂载选项中有自动挂载功能)
-n: 不更新/etc/fstab
-L "LABEL": 用卷标名来挂载设备
-U "UUID": 用UUID来挂载设备
-B,--bind: 绑定目录到另外一个目录上
练习:在sdb上创建一个10G,块大小为2048,卷标为mydata,ext4的主分区,并且以只读方式挂载到/MYDATA下。
第一步:创建分区,并格式化
[[email protected] ~]# fdisk /dev/sdb欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n # new 创建新分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p #选择类型为主分区
分区号 (1-4,默认 1):1
起始 扇区 (2048-125829119,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-125829119,默认为 125829119):+10G #指定大小为10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):P # 打印分区信息
磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xb3c3c1de
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
命令(输入 m 获取帮助):w # 确认,保存
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
第二步:创建目录,并挂载
[[email protected] ~]# mkdir /MYDATA #创建挂载点[[email protected] ~]# mount -r /dev/sdb1 /MYDATA/ #挂载文件系统
[[email protected] ~]# ls /MYDATA/
lost+found
[[email protected] ~]# touch f1 /MYDATA/
touch: 正在设置"/MYDATA/" 的时间: 只读文件系统
卸载时:可使用设备,也可以使用挂载点卸载
卸载命令:
#umount DEVICE
挂载交换分区:
启用:swapon
swapon [OPTION]... [DEVICE]
-a: 激活所有的交换分区
-p: PRIORITY 指定优先级