### Linux 磁盘与文件系统管理
linux 最传统的文件系统格式是 EXT2,centos7 默认文件系统是 xfs(日志式文件系统)
磁盘的组成: 盘片 机械手臂 主轴马达 (机械硬盘)
磁盘格式化: 由于每种 os 所设置的文件的属性 / 权限不同, 为了存放所需数据, 所以要进行格式化供 os 利用
LVM 将一个分区格式化为多个文件系统
superblock 文件系统的整体信息 (inode block 总量 使用量 剩余量 文件系统格式等)
inode 记录文件的属性(权限和文件属性) 一个文件一个 inode, 同时记录此文件的数据所在的 block 号码
block 记录实际文件内容, 文件太大会占用多个 block, 每个 block 只能放一个文件, 所以当文件太小也会浪费磁盘空间
ll -sh
最前面的值代表每个 block 大小, 比如是 4kb, 当文件大小比如 1Bytes, 也会占用 1 个 block, 超出 1Bytes 的空间被浪费
ext2 文件格式是索引式文件系统
fat 文件系统, 没有 inode, 每一个 block 号码保存在前一个 block 中, 所有只能依次读取 1->3->5->7
整个文件系统的文件通常无法连续写在一起, 就是 block 不是连续的
block 如果过于离散, 就需要磁盘重组, 将同一个文件的的 blocks 汇聚在一起
ll -i 最前面是 inode 号 日期之后是该文件占用了多少个 block
磁盘与目录的容量
df -h 以易读的格式显示容量 或者 - m -k 代表 G M Kb 显示
df -h /opt
df . -T 列出分区文件系统格式
df . -i 用 inode 来数量显示磁盘情况
实体链接 (hard link) 与符号链接(symbolic link)
ln 不带参数是硬链接
-s 软连接
-f 强制
hard link 通过 inode 号码关联到一个文件, 他们是同一个文件, 相当于对象引用
不能跨文件系统 不能 link 目录
ln 1.txt hd_link 创建 1.txt 的硬链接
ll -i 可以看到 1.txt 和 hd_link 有相同的 inode 号码 , 链接数变为 2,
增加硬链接不会消耗 inode 和 block 数量, 删掉其中一个链接或文件, 若连接数为 1, 那么文件都会存在的
- symbolic link
- ln -s 1.txt s_link
- ll -i
可以看到文件和链接本身的 inode 号不一样, 表示是两个独立文件,
s_link 会写上目标文件的文件名, 占用的大小即这个文件名的大小,
如果删除了文件本身, s_link 就无法访问到源文件了
lsblk 列出系统上的所有磁盘列表
MBR 分区表使用 fdisk 分区 GPT 分区表使用 gdisk 分区
fdisk /dev/sda 分区操作
n 增加分区
文件系统的挂载与卸载
挂载是指将一个设备 (通常是存储设备) 挂接到一个已存在的目录上.
要访问存储设备中的文件, 必须将文件所在的分区挂载到一个已存在的
目录上, 然后通过访问这个目录来访问存储设备.
要挂载的目录通常应该是空目录
blkid 主要用来对系统的块设备 (包括交换分区) 所使用的文件系统类型, LABEL,UUID 等信息进行查询
mount UUID="" 挂载的目录
blkid 查看设备的 UUID 或者 LABEL 或者设备文件名
- mkdir -p /opt/leyi
- mount UUID="xxx" /opt/leyi
- df /opt/leyi -h
- cd /opt/leyi
- ll
文件系统的卸载 注(umount 不是 unmount)
mount :less
/leyi 搜索可以看到刚才挂载的文件
umount /opt/leyi 用挂载点来卸载或者设备文件名, 最好用挂载点
umount /opt/leyi /opt/leyi2 将这两个挂载的文件系统卸载
cd /opt/leyi
ll
内存交换空间(虚拟内存) swap , 当内存够大时, 用不到 swap
通常 Swap 空间的大小应是物理内存的 2-2.5 倍
内存不够时, 会占用部分硬盘空间, 即暂时将内存的程序拿到硬盘中
/dev/zero, 是一个输入设备, 你可你用它来初始化文件. 该设备无穷尽地提供 0
使用大文件创建 swap 空间
free 查看内存情况
dd if=/dev/zero of=/opt/newswap bs=1M count=1024 创建大文件
if(输入文件 input file) of(输出文件 output file)
bs 每个 block 大小 count 代表多少个 block 最终生成的文件容量是 bs*count
ll -h /opt/newswap 查看这个文件大小
mkswap /opt/newswap 转化为 swap 格式
swapon /opt/newswap 启动该 swap
swapon -s 查看有哪些 swap
swapoff 关闭 swap 文件
来源: http://www.bubuko.com/infodetail-2665676.html