磁盘组成: 1.扇区是最小的物理存储单位,有512bytes和4k两种格式 2.将扇区组成一个圆的是磁柱 3.最小分区单位通常为扇区 4.磁盘分区表主要有两种格式,一种是限制较多的mbr分区,一种是gpt格式 5.mbr分区中,第一个扇区最重要,主要存放开机区的mbr和分区表 6.gpt分区表除了分区数量扩充较多之外,支持的磁盘容量超过2tb 磁盘的文件名: /dev/sd[a-p][1-128]:实体磁盘的文件名 /dev/vd[a-d][1-128]:虚拟磁盘的文件名 /dev/md[1-128]:软件磁盘的文件名 文件系统: 只有将磁盘分区格式化之后,才能成为操作系统能够利用的文件系统格式 linux文件系统:权限和属性数据存放在inode中,实际数据存放在data block中,文件系统的整体信息放在superblock中
磁盘分区核心命令介绍
硬盘的分区由主分区,扩展分区和逻辑分区组成:
硬盘分区: 主分区 : 也叫引导分区 1 (最小数量) 4(最大数量) 扩展分区 :扩展分区是一个概念,实际在磁盘中是看不到的,也无法直接使用,需要将扩展分区切割成多个逻辑分区才可使用 0 (最小数量) 1(最大数量) 逻辑分区 在扩展分区上边,可以创建多个逻辑分区 0(最小数量) n(最大数量) fdisk命令 fdisk -l:显示系统的分区详细信息 一般创建好虚拟机就会有一个磁盘/dev/sda,我手动添加了一个新磁盘/dev/sdb
fdisk /dev/diveice(sda) 对磁盘进行分区 在输入行输入m即可查看帮助,这里列举一些重要的选项:
n:创建新分区 p:打印分区列表 l:列出系统已知的分区类型 w:保存分区表 d:删除分区 t:改变分区的ID 对磁盘进行分区: 操作如图,首先敲n进行分区,之后就会显示你的分区类型(主分区还是逻辑分区),一般情况下我们创建3个主分区和一个逻辑分区。之后会让你选择第一个扇区号,这里我们一般是直接敲enter键选择的是默认的,之后我们可以设置分区的大小(+num K,M,G)这里注意选择大小时一定要加上+号否则会出现问题。 在创建好之后我们用p查看一下分区如果没有问题一定要w进行保存。 磁盘在分区完成之后我们执行命令fdisk -l进行查看,如果没有显示出我们新建的分区,这时候我们就要对这块磁盘进行刷新,执行命令partx -a /dev/sdb 一般需要刷新5-6次就会出现。
文件系统管理工具命令
创建文件系统的工具 mkfs mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs 刚刚建立的新分区需要先进行格式化才能使用 例如: mkfs.ext4 /dev/sdb(num)num为新创建的分区。 注:逻辑分区不能格式化
检测及修复文件系统的工具 fsck fsck.ext2,fsck.ext3 e2label:卷标的查看和设定 blkid:获取文件系统类型和UUID
创建swap(交换)分区
swap空间的作用:当系统物理内存不够用时,就需要物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到swap空间中,等到那些程序要运行时,再从swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行swap交换。 这里用命令free -m查看当前的交换分区 swap 创建分区 ID=82 mkswap 格式化swap类型 挂载 /etc/fstab 激活swap swapon -a 查看状态 swapon -s 停止 swapoff 首先我们挑选一块分区将其作为交换分区需要选项t,修改他的分区ID为:82 这里可以看到我们将/dev/sdb3分区改为swap分区 完成分区之后我们需要对swap分区进行初始化 mkswap /dev/sdb3 完成之后我们需要查看/dev/sdb3的UUID 我们需要将他的UUID号进行复制,将其写入/etc/fstab中格式如下:
之后我们执行swapon -a /dev/sdb3 激活swap 用命令swapon -s进行查看swap状态 最后我们正在用之前的命令free -m查看swap当前的交换分区 与没有加swap分区之前对比,我们发现我们已经swap比之前的内存大了1G左右。这里就说明我们的swap分区已经完成了。
分区挂载
挂载:在根文件系统上要访问其他文件系统(分区),都必须通过关联的方式到根文件系统中的某一个目录上,所谓的关联操作就是挂载 挂载点:关联到根文件系统中的某一个目录 1、挂载点需要事先存在 2、应该使用没被占用,或者非FHS中定义的重要目录,不被某些进程使用 media:临时挂载点 mnt:挂载点 3、挂载点中原有的文件会被隐藏 mount mount -t 指定文件系统 -o 选项 设备名(分区) 挂载点 例如:mount -t iso9660 -o ro /dev/sr0 /media(挂载我们的光驱设备) 挂载中的选项 如果不指定时使用默认值defaults :rw, suid, dev, exec, auto, nouser, async, and rela-time. rw:读写 ro:只读 dev:支持设备文件 nodev:不支持设备文件 exec:允许执行二进制文件 noexec auto:开机自动挂载 moauto user: nouser: users: async:异步写入 sync:同步写入 usrquota:磁盘配额 acl:支持acl功能 remount:支持在线重新挂载 常见的挂载设备: /dev/cdrom:光盘设备 /dev/sr0:光盘设备 /dev/sda:基本分区 /dev/vg01/lv01:逻辑卷 /dev/md0:软RAID设备 挂在时可以使用的设备名: 设备名/dev/sda1 卷标LABEL=test UUID mount命令: mount: mount [-fnrsvw] [-t vfstype] [-o options] device dir
-r 只读挂载 -w 读写挂载 -n 禁止同步到/etc/mtab -t 指明挂载的文件系统类型 -L label 以卷标的方式挂载设备 -U UUID 以UUID的方式挂载设备 查看当前系统所有已挂载的设备: cat /etc/mtab cat /proc/mounts
umount 设备或者挂载点不能正在被使用 umount 设备名 umount 挂载点 查看被哪个进程所占用: lsof 挂载点
lsof命令
lsof: list open files 因为过于长,我们一般和more搭配使用
command 进程的名称 PID 进程标识符 USER 进程的所有者 FD 文件描述符 cwd 工作目录 txt:二进制文件 rtd 根目录 mem 内存隐射出来的文件 r read w write u 读写 TYPE:文件类型 REG 普通文件 DIR:目录 CHR BLK UNIX IPV4 DEVICE 磁盘名称 SIZE:文件大小 NODE:索引节点 NAME:打开的文件的名称
-c string 显示进程string打开的文件 -p pid 显示进程号pid打开的文件 +d /path 显示目录下被进程开启的文件 +D /path 递归现实目录 -i 端口,协议 主机名 显示某一个端口被谁在使用 -u username 某个用户打开 -d 文件描述符
-i [46][protocol][@hostname|hostaddr][:service|port]
DF,DU命令
df 显示磁盘分区中的使用情况 -a 查看全部文件系统,单位默认KB -h 使用-h选项以KB.MB.GB的单位显示 du 显示文件和目录在磁盘中占用的大小 -----文件大小 -a 显示目录中的文件大小 单位kb -b 显示目录中文件大小 -k ,-m 以KB,MB为单位显示 -s 显示目录的总量 -h 以k M G为单位
挂载配置文件
/etc/fstab文件 里边一共有6列 第一列:磁盘设备文件或设备的LABLE或UUID(一般多使用UUID因为可以唯一标识) 第二列:设备的挂载点
第三列 磁盘文件系统格式 ext2-4 xfs btrfs iso9660 nfs 第四列 文件系统参数 默认用defaults 第五列 能否被dump命令备份 0 不备份 1 每天备份 2 不定期备份 第六列 是否校验扇区 系统开机时会使用fsck 0 不校验 1 最早校验 2 1校验完之后进行校验 mount -a 重新挂载/etc/fstab 并且校验
|