I/OPorts: I/O设备地址;
一切皆文件:
open(),read(), write(), close()
块设备:block,存取单位“块”,磁盘
字符设备:char,存取单位“字符”,键盘
设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信;
设备号码:
主设备号:major number, 标识设备类型
次设备号:minor number, 标识同一类型下的不同设备
硬盘接口类型:
并行:
IDE:133MB/s
SCSI:640MB/s
串口:
SATA:6Gbps
SAS:6Gbps
USB:480MB/s
rpm:rotations per minute
fdisk -l 查看系统中硬盘信息
查看内核是否已经识别新的分区:
#cat /proc/partations
通知内核重新读取硬盘分区表:
partx-a /dev/DEVICE
-nM:N
kpartx-a /dev/DEVICE
-f:force
CentOS5: 使用partprobe
partprobe[/dev/DEVICE]
Linux文件系统管理:
Linux文件系统: ext2, ext3, ext4, xfs, btrfs,reiserfs, jfs, swap
swap:交换分区
光盘:iso9660
Windows:fat32, ntfs
Unix:FFS, UFS, JFS2
网络文件系统:NFS, CIFS
集群文件系统:GFS2, OCFS2
分布式文件系统:ceph,
moosefs,mogilefs, GlusterFS, Lustre
根据其是否支持"journal"功能:
日志型文件系统: ext3, ext4, xfs, ...
非日志型文件系统: ext2, vfat
文件系统的组成部分:
内核中的模块:ext4, xfs, vfat
用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat
Linux的虚拟文件系统:VFS
创建文件系统:
mkfs命令:
(1)# mkfs.FS_TYPE /dev/DEVICE
ext4
xfs
btrfs
vfat
(2)# mkfs -t FS_TYPE /dev/DEVICE
-L'LABEL': 设定卷标
mke2fs:ext系列文件系统专用管理工具
-t{ext2|ext3|ext4}
-b{1024|2048|4096}
-L'LABEL'
-j:相当于 -t ext3
mkfs.ext3= mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i#: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小;
-N#:为数据空间创建个多少个inode;
-m#: 为管理人员预留的空间占据的百分比;
-OFEATURE[,...]:启用指定特性
-O^FEATURE:关闭指定特性
mkswap:创建交换分区
mkswap[options] device
-L'LABEL'
前提:调整其分区的ID为82;
其它常用工具:
blkid:块设备属性信息查看
blkid[OPTION]... [DEVICE]
-UUUID: 根据指定的UUID来查找对应的设备
-LLABEL:根据指定的LABEL来查找对应的设备
e2label:管理ext系列文件系统的LABEL
#e2label DEVICE [LABEL]
tune2fs:重新设定ext系列文件系统可调整参数的值
-l:查看指定文件系统超级块信息;super block
-L'LABEL':修改卷标
-m#:修预留给管理员的空间百分比
-j:将ext2升级为ext3
-O:文件系统属性启用或禁用
-o:调整文件系统的默认挂载选项
-UUUID: 修改UUID号;
dumpe2fs:
-h:查看超级块信息
文件系统检测:
fsck:File System CheCk
fsck.FS_TYPE
fsck-t FS_TYPE
-a:自动修复错误
-r:交互式修复错误
Note: FS_TYPE一定要与分区上已经文件类型相同;
e2fsck:ext系列文件专用的检测修复工具
-y:自动回答为yes;
-f:强制修复;
fdisk /dev/sdb ----- 用分区工具管理磁盘sdb
m --- 看帮助信息
n --- 新建分区
mbr 4个主分区
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p --- 新键主分区
Partition number (1-4): 1
First cylinder (1-2610, default 1):回车
Using default value 1
Last cylinder or +size or +sizeM or +sizeK(1-2610, default 2610): +1G
Command (m for help): p --- 列出分区信息
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 123 987966 83
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 2
First cylinder (124-2610, default 124): 回车
Using default value 124
Last cylinder or +size or +sizeM or +sizeK(124-2610, default 2610): 回车
d ---- 删除分区
Command (m for help): d
Partition number (1-5): 2 删除第二个分区
n
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (124-2610, default 124):
Using default value 124
Last cylinder or +size or +sizeM or +sizeK(124-2610, default 2610): +1G
Command (m for help): p
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 123 987966 83 Linux
/dev/sdb2 124 2610 19976827+ 5 Extended
/dev/sdb5 124 246 987966 83
Command (m for help): w ----- 保存并退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
cat /proc/partitions ----- 查看分区表
partprobe ----- 刷新分区表
格式化分区并挂载使用
ext3 swap
mkfs.ext3 /dev/sdb1 ---- 把sdb1格式化成ext3文件系统
mount /dev/sdb1 /mydir -----/mydir再存的任何文件都存在sdb1分区中了
umount /dev/sdb1 ---- 卸载以挂载分区(不可以在当前挂载目录下执行)
mount命令不可以实现永久挂载实现需要修改配置文件
vim /etc/fstab
设备 挂载点文件系统类型 挂载属性 崩溃保存 开机自检
/dev/sdb1 /mydir ext3 defaults 0 0
mount命令 ---- 查看挂载列表
df -Th ---- 查看分区使用情况
swap划分原则是你物理内存的1.5-2倍
8g--swap8g 12G--swap8g
mkswap /dev/sdb5 ---- 格式化成swap分区
swapon /dev/sdb5 --- 挂载swap分区
swapon -s 查看已经挂载的swap分区
swapoff /dev/sdb5 --- 卸载swap分区
vim /etc/fstab
/dev/sdb5 swap swap defaults 0 0
cat /etc/meminfo | grep -i swap --- 查看swap分区大小
格式化成win fat32
mkfs.vfat -F 32 /dev/sdb6 ---- 格式化成fat32格式
fdisk /dev/sdb
t 修改分区system id号
选择被修改的分区数字
L --- 查看分区id类型
83 ext3
82 swap
8e lvm逻辑
b fat32
vim /etc/fstab
/dev/sdb6 /fat32 vfat defaults 0 0 永久挂载