linux格式化命令:Linux文件系统的简单操作(查看磁盘和进行分区与格式化)

一、查看磁盘与目录的容量

1、列出文件系统的整体磁盘使用量:df [-akmhHTi] 目录或文件名

可选参数:

-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;

-k :以 KBytes 的容量显示各文件系统;

-m :以 MBytes 的容量显示各文件系统;

-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

-H :以 M=1000K 取代 M=1024K 的进位方式;

-T :连同该 partition 的 filesystem 名称 (例如 xfs) 也列出;

-i :不用磁盘容量,而以 inode 的数量来显示

2、查看文件系统的磁盘使用量:du [-ahsSkm] 目录或文件名

可选参数:

-a :列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已。

-h :以人们较易读的容量格式 (G/M) 显示;

-s :列出总量而已,而不列出每个各别的目录占用容量;

-S :不包括子目录下的总计,与 -s 有点差别。

-k :以 KBytes 列出容量显示;

-m :以 MBytes 列出容量显示;

二、实体链接与符号链接:ln

1、实体链接(hard link):通过文件系统的inode链接来产生新文件名,而不是产生新文件。举个例子来说,假设我系统有个 /root/crontab 他是 /etc/crontab 的实体链接,也就是说这两 个文件名链接到同一个 inode , 自然这两个文件名的所有相关信息都会一模一样(除了文件 名之外)。

实体链接的限制:

  •                 不能跨Filesystem;
  •                 不能link目录

2、符号链接(Symbolic Link):类似Windows的捷径功能的文件,可以让你快速的链接到目标文件或目录。基本上, Symbolic link 就是在创建一个独立的文件,而这个文件会让数据的读取指向他 link 的那个文件的文件名!由于只是利用文件来做为指向的动作,所以,当来源文件被删除之后,Symbolic link 的文件会“开不了。

3、创建链接:ln [-sf] 来源文件 目标文件

可选参数:

-s :如果不加任何参数就进行链接,那就是hard link,至于 -s 就是symbolic link。

-f :如果目标文件存在时,就主动的将目标文件直接移除后再创建!

基本上, Symbolic link 的用途比较广,所以您要特Symbolic link 的用法。

三、磁盘的分区、格式化、检验和挂载。

1、我们要在系统里面新增一颗磁盘时,应该要做那些操作?

        1)、 对磁盘进行分区,以创建可用的 partition ;

        2)、 对该 partition 进行格式化 (format),以创建系统可用的 filesystem;

        3)、 若想要仔细一点,则可对刚刚创建好的 filesystem 进行检验;

        4)、 在 Linux 系统上,需要创建挂载点 (亦即是目录),并将他挂载上来;

2、列出系统上所有磁盘列表:lsblk [-dfimpt] [设备名]

可选参数:

-d :仅列出磁盘本身,并不会列出该磁盘的分区数据

-f :同时列出该磁盘内的文件系统名称

-i :使用 ASCII 的线段输出,不要使用复杂的编码 (再某些环境下很有用)

-m :同时输出该设备在 /dev 下面的权限数据 (rwx 的数据)

-p :列出该设备的完整文件名!而不是仅列出最后的名字而已。

-t :列出该磁盘设备的详细数据,包括磁盘伫列机制、预读写的数据量大小等

3、列出设备的UUID等参数:blkid

UUID 是全域单一识别码 (universally unique identifier),Linux 会将系统内所有的设备都给予一个独一无二的识别 码, 这个识别码就可以拿来作为挂载或者是使用这个设备/文件系统之用了。

4、查看磁盘的分区表类型与分区信息:parted

5、磁盘分区:gdisk/fdisk

MBR 分区表请使用 fdisk 分区, GPT 分区 表请使用 gdisk 分区

  • gdisk 设备名称

做这些操作之前应该先用lsdlk或blkid查找磁盘,再用parted /dev/xxx print 找出内部分区表类型,之后才选用gdisk或fdisk。上表中可以发现 gdisk 会扫描 MBR 与 GPT 分区 表,不过这个软件还是单纯使用在 GPT 分区表比较好。

我们可以 p 打印以下看看:

 增加新的分区:n

 因为我的磁盘分区表是MBR,所以没用写入:w

退出分区:q

 

  • fdisk 设备名称 

功能几乎和上面的gfisk差不多

 添加分区:n

 6、查看和新分区信息:cat /proc/partitions

7、写入分区信息后要用更新核心分区表:partprobe -s

8、磁盘格式化(创建文件系统)

  • 格式化为 XFS 文件系统: mkfs.xfs [-b bsize] [-d parms] [-i parms] [-l parms] [-L label] [-f] \ [-r parms] 设备名称

可选参数:

-b :后面接的是 block 容量,可由 512 到 64k,不过最大容量限制为 Linux 的 4k 喔!

-d :后面接的是重要的 data section 的相关参数值,主要的值有:

        agcount=数值 :设置需要几个储存群组的意思(AG),通常与 CPU 有关

        agsize=数值 :每个 AG 设置为多少容量的意思,通常 agcount/agsize 只选一个设置即可

        file :指的是“格式化的设备是个文件而不是个设备”的意思!(例如虚拟磁盘)

        size=数值 :data section 的容量,亦即你可以不将全部的设备容量用完的意思

        su=数值 :当有 RAID 时,那个 stripe 数值的意思,与下面的 sw 搭配使用

        sw=数值 :当有 RAID 时,用于储存数据的磁盘数量(须扣除备份碟与备用碟)

        sunit=数值 :与 su 相当,不过单位使用的是“几个 sector(512Bytes大小)”的意思

        swidth=数值 :就是 su*sw 的数值,但是以“几个 sector(512Bytes大小)”来设置

-f :如果设备内已经有文件系统,则需要使用这个 -f 来强制格式化才行!

-i :与 inode 有较相关的设置,主要的设置值有:

        size=数值 :最小是 256Bytes 最大是 2k,一般保留 256 就足够使用了!

        internal=[0|1]:log 设备是否为内置?默认为 1 内置,如果要用外部设备,使用下面设置         logdev=device :log 设备为后面接的那个设备上头的意思,需设置 internal=0 才可!

        size=数值 :指定这块登录区的容量,通常最小得要有 512 个 block,大约 2M 以上才行!

-L :后面接这个文件系统的标头名称 Label name 的意思!

-r :指定 realtime section 的相关设置值,常见的有:

        extsize=数值 :就是那个重要的 extent 数值,一般不须设置,但有 RAID 时, 最好设置与 swidth 的数值相同较佳!最小为 4K 最大为 1G 。

  • 格式化为 EXT4 文件系统: mkfs.ext4 [-b size] [-L label] 设备名称

可选参数:

-b :设置 block 的大小,有 1K, 2K, 4K 的容量,

-L :后面接这个设备的标头名称。

9、文件系统检验

  • 处理 XFS 文件系统:xfs_repair [-fnd] 设备名称

可选参数:
-f :后面的设备其实是个文件而不是实体设备

-n :单纯检查并不修改文件系统的任何数据 (检查而已)

-d :通常用在单人维护模式下面,针对根目录 (/) 进行检查与修复的动作!很危险!不要随便使用

  • 处理 EXT4 文件系统:fsck.ext4 [-pf] [-b superblock] 设备名称

可选参数:

-p :当文件系统在修复时,若有需要回复 y 的动作时,自动回复 y 来继续进行修复动作。

-f :强制检查!一般来说,如果 fsck 没有发现任何 unclean 的旗标,不会主动进入 细部检查的,如果您想要强制 fsck 进入细部检查,就得加上 -f 旗标啰!

-D :针对文件系统下的目录进行最优化配置。

-b :后面接 superblock 的位置!一般来说这个选项用不到。但是如果你的 superblock 因故损毁时, 通过这个参数即可利用文件系统内备份的 superblock 来尝试救援。一般来说,superblock 备份在: 1K block 放在 8193, 2K block 放在 16384, 4K block 放在 32768

10、文件系统的挂载和卸载

挂在前应注意的几点:

  • 单一文件系统不应该被重复挂载在不同的挂载点(目录)中;
  • 单一目录不应该重复挂载多个文件系统;
  • 要作为挂载点的目录,理论上应该都是空目录才是。

文件系统挂载:mount [-t 文件系统] UUID='' 挂载点

将设备文件卸载:umount [-fn] 设备文件名或挂载点

可选参数:

-f :强制卸载!可用在类似网络文件系统 (NFS) 无法读取到的情况下;

-l :立刻卸载文件系统,比 -f 还强!

-n :不更新 /etc/mtab 情况下卸载。

11、开机挂载:/etc/fstab

将挂载信息写入到/etc/fstab:nano /etc/fstab

例如:[root@study ~]# nano /etc/fstab

           UUID="e0fa7252-b374-4a06-987a-3cb14f415488" /data/xfs xfs defaults 0 0

相关推荐

相关文章