目录(持续更新)
基础-第0章-安装
基础-第1章-基本操作
基础-第2章-磁盘及文件系统管理
基础-第3章-获得帮助
基础-第4章-用户及权限基础
基础-第5章-网络基本配置
基础-第6章-管道,重定向及文本处理
基础-第7章-系统启动详解
进阶-第1章-日志服务
进阶-第2章-DNS域名服务器
进阶-第3章-FTP文件共享服务
进阶-第4章-NFS文件共享服务
进阶-第5章-SMB文件共享服务
进阶-第6章-WEB服务Apache篇
进阶-第7章-电子邮件服务
进阶-第8章-Linux服务基础及管理
高级-第1章-LVM逻辑卷
高级-第2章-高级权限ACL
高级-第3章-RAID提升速度及冗余
高级-第4章-高级网络-网卡绑定,子端口
高级-第5章-SELinux安全系统基础
高级-第6章-IPTable防火墙基础
高级-第7章-Linux远程管理-SSH、VNC
第2章-磁盘及文件系统管理
第一节 磁盘基本概念
单盘片 多盘片 每个盘配磁头 转速越高 性能越好 7200 5400
固态硬盘只是存储芯片 速度快500M/S
-
机械硬盘基本概念
柱面 cylinder 所有盘片某一圈的集合 扇区 sector 中心到边缘的扇形区 磁头 head 每个磁头大概512字节
-
磁盘在linux中表示
所有设备都被抽象为文件 保存在/dev下 设备名字一般为 hd[a-z] sd[a-z] (a-z为分区号) 如: hda,hdb,sda,sdb IDE设备的名称为 hd[a-z],SATA,SCSI,SAS,USB 等设备名称为sd[a-z] 硬盘1 /dec/sda 硬盘2 /dev/sdb 硬盘3 /dev/sdc
-
分区概念
将磁盘逻辑分区 方便管理 linux中是 设备名称+分区号 硬盘1的第1分区 /dev/sda1 硬盘1的第2分区 /dev/sda2 硬盘2的第1分区 /dev/sdb1 硬盘2的第2分区 /dev/sdb2
-
主流分区机制为 MBR 和 GPT
MBR(Master Boot Record)是传统的分区机制 应用于绝大多数使用BIOS的PC设备 EFI代替BIOS MBR支持32bit和64bit系统 MBR支持分区数量有限 MBR仅仅支持不超过2T的硬盘 ,超过2T的硬盘则只能用2T MBR共512字节 前446字节为引导代码 接下来4×16字节为分区表 接下来两个字节为 55h AAh MBR分区 主分区 最多四个主分区 扩展分区 扩展分区会占用一个主分区位置 用于承载逻辑分区 无法直接使用 逻辑分区 linux最多支持63个IDE分区和 15个SCSI分区 /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5------ /dev/sda6------ /dev/sda7 GPT(GUI Partition Table)是一个较新的分区机制 解决了MBR了很多缺点 支持超过2T的磁盘 向后兼容MBR 必须在支持UEFI的硬件上才能使用 必须用64bit系统 Mac和linux系统都能支持GPT分区格式 Windows7 64bit ,WindowsServer2008 64bit支持GPT
第二节 使用fdisk进行磁盘分区
-
FDISK分区工具来自IBM的老牌分区工具 支持大多系统
几乎所有linux的发行版都有fdisk 包括linux rescue模式下也能使用 fdisk是个针对MBR的工具 如果需要用GPT则无法使用fdisk 大于2T的磁盘无法使用 fdisk只有超级用户权限才能用 使用fdisk -l可以显示所有磁盘的信息 使用fdisk /dev/sda可以列出所有安装的磁盘及其分区信息 进入交互命令 m 帮助 n 创建分区 p 列出分区 t 修改号 w 保存修改 按下N创建分区 e 扩展分区 p 主分区 按下p创建主分区 输入分区号 或输入大小 +2G 按下N创建分区 e 扩展分区 p 主分区 按下e创建扩展分区 无需输入 直接确认 按下N创建分区 l 逻辑分区 (永远从5开始) p 主分区 按下l创建逻辑分区 输入分区号 或输入大小 +2G 按下T修改分区ID 输入类型数字 L 列出类型 按83linux为正常分区 按82swap为交换分区 按下W保存写入并退出
-
有时分区后需要用partprobe命令 让内核更新分区信息
查看: /proc/partitions 查看分区信息
第三节 linux文件系统
需要创建文件系统才能用 过程称为格式化 没有经过此过程的为裸设备raw
-
常见的文件系统有fat32 NTFS ext3 ext4 xfs HFS 等
系统之间的区别 : 日志 支持分区大小 支持单个文件大小 win下主流为NTFS linux主流为ext4 linux支持的系统 ext nfs iso9660 gfs jfs vfat fat(msdos)
-
mke2fs 用来创建文件系统
mke2fs -t ext4 /dev/sda3 将第一块硬盘的第三个主分区格式化为ext4文件格式 常用参数: -b +大小 指定文件系统块大小 每次读写系统块的大小 4K就是4096字节 -c 建立文件系统时检查坏损快 -L label 指定卷标 磁盘取名 -j 建立文件系统日志 ext4带日志 无需使用
-
mkfs亦可以创建文件系统 单相比mke2fs比较简单 但是支持的参数比较少 不能精细化控制
mkfs.ext3 /dev/sda3 将第一块硬盘的第三个主分区格式化为ext3文件格式 mkfs.ext4 /dev/sda3 将第一块硬盘的第三个主分区格式化为ext4文件格式 mkfs.vfat /dev/sda3 将第一块硬盘的第三个主分区格式化为vfat文件格式
-
dumpe2fs查看分区文件的系统信息
dumpe2fs /dev/sda2
-
日志
带有日志的系统有较强的稳定性日志两阶段提交 将准备执行的事计入日志 然后操作 执行之后删除
-
E2LABEL对文件系统打标签
e2label /dev/sdb1 查看系统标签 e2label /dev/sdb1 LINUX 打上LINUX标签
-
FSCK用来检查修复损坏的文件系统
fsck /dev/sdb1 检查系统()检查前需要卸载 使用 -y 参数不提示且修复 fsck自动判断文件系统类型 如果损坏比较严重 建议加上 -t 参数 对于识别文件的损坏数据有些找不到记录,将会计入lost+found目录 系统启动都校验磁盘
第四节 linux文件系统挂载管理
磁盘创建好文件系统之后 挂载后才能使用
win和mac都是自动挂载 一旦创建好之后自动挂载
-
linux需要手工挂载
/dev/sda2 到 /mnt
-
mount挂载格式化的磁盘分区
mount /dev/sda1 /mnt/ 将第一块磁盘的第一主分区挂载到 /mnt目录下 -t 指定系统类型 默认自动识别 -o 指定挂载选项 ro rw 只读 还是 读写 mount -o remount,ro /dev/sdb1 /mnt/ 将sdb1以只读形式重新挂载到/mnt目录 sync 代表不用缓存 将所有操作直接写入磁盘 async 代表使用缓存 默认是async noatime 每次访问文件是不更新文件访问时间 atime 每次访问文件是都更新文件访问时间 remount 重新挂载文件系统 mount -o remount,sync /dev/sdb1 /mnt/ 将sdb1以不用缓存写入形式重挂载到/mnt目录 mount -o remount,ro,noatime /dev/sdb1 /mnt/ 将sdb1以 只读形式 且 访问时不更新文件时间形式 重新挂载到/mnt目录
-
umount用来卸载已经挂载的文件系统 相当于win中的弹出
umount 文件系统/挂载点 umount /dev/sda3 即 umount /mnt/ 如果出现报错,则说明文件系统正在被使用,无法卸载
-
可用fuser查看哪些进程在使用该文件系统
fuser -m /mnt
-
可用lsof查看哪些文件被打开了
lsof /mnt
-
自动挂载
配置文件/etc/fstab来定义需要自动挂载的文件系统 fstab中每一行代表一个挂载的配置 格式如下 /dev/sda3 /mnt ext4 defaults 0 0 要挂载的设备 挂载点 格式 挂载选项 dump和fsck相关选项 要挂载的设备也可以使用label进行识别 label可以取代第一路径 label=卷标 /mnt ext4 defaults 0 0 要挂载的设备 挂载点 格式 挂载选项 dump和fsck相关选项 mount -a命令会挂载所有fstab中定义的自动挂载项