Linux磁盘与文件系统管理

Linux文件传统文件系统为Ext2,该文件系统内主要信息有:

superblock:记录此文件系统的整体信息,包括inode/block的总量、使用量、剩余量, 以及文件系统的格式与相关信息等;

inode:记录文件的属性权限,一个文件占用一个inode,同时记录此文件的数据所在的block号;

block:实际记录文件的内容,若文件太大,会占用多个block;

磁盘与目录的容量

常用命令:

df:列出文件系统的所占用的磁盘空间。

  • -a :列出所有的文件系统,包括系统特有的/proc等文件系统。
  • -h :以易读的形式显示出来(KB,MB,GB等格式)。
  • -i :以inode数量来显示。

du:查看文件或目录所占用的磁盘空间。

  • -h :以易读的形式显示出来。
  • -s :列出总量,不列出每个文件或目录占用空间。

实体链接与符号链接

实体链接:Hard Link 硬链接。不能跨文件系统,不能link目录。源文件被删除后依旧能使用。

符号链接:Symbolic Link 软链接。相当于快捷方式。源文件被删除后不能使用。

常用命令:

ln [选项] 来源文件 链接文件

  • -s:加此参数为软链接;不加参数默认为硬链接。
  • -f:如果链接文件存在,就将移除旧文件建立新链接文件。

磁盘的使用必须经过分区、格式化、挂载。

查看磁盘分区

lsblk:查询磁盘列表。

blkid:查询设备或文件系统的UUID。

parted:查询磁盘分区表类型与分区信息。命令:parted 设备名称 print

磁盘分区

MBR分区表用fdisk工具分区;GPT分区表用gdisk工具分区。

通用选项:d:删除一个分区;n:新增一个分区;p:显示分区表;q:不保存退出;w:保存退出。

分区完毕后通过 partprobe 命令重新加载分区信息。

磁盘格式化

磁盘格式化=建立文件系统

mkfs.XXX  分区名

例:mkfs.xfs /dev/sda1  、  mkfs.ext4 /dev/sda2

文件系统检查/修复

xfs文件系统

xfs_repair 【-fnd】 分区名称

  • -f  后面跟文件,而不是分区
  • -n  单纯检查并不修改文件系统数据
  • -d  通常在单人模式,针对/根目录进行检查与修复。危险,不要随便使用

例:xfs_repair /dev/sda3  xfs_repari /dev/centos/home  xfs_repair /dev/mapper/centos_hk1–h2–074-home

检查修复已经挂载的文件系统需要先卸载该文件系统,再检查修复,再恢复挂载。

ext4文件系统

fsck.ext4 【-ps】 分区名

  • -p 当文件系统修复时,如有需要回复y的动作,自动回复y来继续
  • -f  强制检查。

例:fsck.ext4 -f  /dev/sda4

注意:通常只有身为root且文件系统有问题时才使用repair/fsck命令,正常情况下使用,会造成系统损害。通常在单人模式下进行。

文件系统挂载与卸载

挂载点的意义即通过挂载点进入磁盘分区槽(文件系统)

  • 单一文件系统不应被重复挂载在不同挂载点。
  • 单一目录不应该重复挂载多个文件系统。
  • 要作为挂载点的目录,理论上都应该为空目录。若不是空目录,则旧目录信息会暂时隐藏,显示新挂载文件系统的内容,当卸载此文件系统后旧目录信息会恢复。

常用命令

mount -a  根据配置文件 /etc/fstab 的数据将所有未挂载的磁盘都挂载上。

mount 但输入mount会显示当前挂载信息

mount 装置文件名 挂载点

mount UUID=” 挂载点

umount 装置文件名/挂载点

设定开机挂载

开机挂载修改 /etc/fstab 文件。文件内容格式:

【装置/UUID】 【挂载点】 【文件系统】 【文件系统参数】 【dump】 【fsck】

/dev/mapper/centos-root  /  xfs  defaults  0  0

UUID=94ac5f77-cb8a-495e-a65b-2ef7442b837c  /boot  xfs  defaults  0  0

注意:

  1. 根目录/是必须挂载的,并且是第一个被挂载的。
  2. 挂载点必须是已建立的目录,可任意指定,但一定要遵守FHS目录架构原则。
  3. 所有挂载点在同一时间只能挂载一次。
  4. 所有分区在同一时间只能挂载一次。
  5. 如需卸载挂载点,当前工作目录不能是该挂载目录。

挂载光盘/DVD

mount -o loop 光盘或DVD目录 /挂载点

mount -o loop /tmp/centos7.iso /data/centosdvd

创建一个大型文件实现挂载特殊文件loop的挂载。

创建一个512M大型空文件  dd if=/dev/zero of=/srv/loopdev bs=1M  count=512

格式化此文件  mkfs.xfs -f /srv/loopdev

挂载  mount /srv/loopdev 挂载点

内存置换空间(swap)的建立

实体分区建立swap

  1. 使用 fdisk 或 gdisk 建立分区,GUID为8200,partprobe 重新加载分区。
  2. 使用 mkswap 分区名 格式化为swap格式。
  3. 使用 swapon 分区名 使用swap。
  4. 使用 free 和 swapon -s 这个指令观察内存。
  5. 使用 swapoff 分区名 关闭swap。

你可能感兴趣的:(Linux基础,linux,运维)