• Linux 磁盘与文件系统管理


    一、EXT2 文件系统

         1.  硬盘组成与分区

              (1) 扇区(Sector)为最小的物理存储单元,每个扇区为 512 bytes;

              (2) 将扇区组成一个圆,那就是柱面(Cylinder),柱面是分区(partition)的最小单位;

              (3) 第一个扇区最重要,里面有硬盘主引导记录(Masterbootrecord,MBR)及分区表(partition table),

                       其中MBR占有 446 bytes,而 partition table 占有64 bytes;

              (4) 各种接口的磁盘在 Linux 中的文件名分别为:

                       /dev/sd[a-p][1-15]:为 SCSI,SATA,USB,Flash 等接口的磁盘文件名;

                       /dev/hd[a-d][1-63]:为 IDE 接口的磁盘文件名。

         2.  文件系统特性

              (1) 一个可被挂载的数据为一个文件系统而不是一个分区。

              (2) 文件系统通常会将这两部分的数据分别存放在不同的块,权限与属性放置到 inode 中,实际数据则放置到   

                         data  block 块中。

              (3) super block:记录此文件系统的整体信息,包括 inode/block 的总量、使用量、剩余量、以及文件系统

                                          的格式与相关信息等。

              (4) inode:记录文件的属性,一个文件占用一个 inode,同时记录此文件的数据所在的 block 号码。

              (5) block:实际记录文件的内容,若文件太大时,会占用多个block。

         3.  Linux 的 Ext2 文件系统(inode)

              (1) 文件系统最前面有一个启动扇区(boot sector),这个启动扇区可以安装引导装载程序。

              (2) data block(数据块):是用来放置文件内容的地方,在 Ext2 文件系统中所支持的 block 大小有

                                                       1KB ,2KB,及4KB三种而已。 

              (3) 找出我的根目录磁盘文件名,并查看文件系统的相关信息

                              df  ——这个命令可以调出目前挂载的设备

                              dumpe2fs  /dev/sd2 ——查询每个区段的 superblock 信息。

             (4) 查看文件所占用的 inode 号码: ls -i

          4.  挂载点(mount point)的意义

                (1)将文件系统与目录树结合的操作称为 挂载。

                (2)挂载点一定是目录,该目录为进入该文件系统的入口。

    二、文件系统的简单操作

          1.  磁盘与目录的容量:df , du

               df :列出文件系统的整体磁盘使用量。

               du:评估文件系统的磁盘使用量(常用于评估目录所占容量)。 

               (1)将容量结果以易读的容量格式显示出来:  df -h;

               (2)将/etc下面的可用的磁盘容量以易读的容量格式显示: df -h /etc;

               (3)将目前各个分区当中可用的 inode 数量列出: df -ih;

               (4)检查根目录下面每个目录所占用的容量: du -sm /*; 

           2.  连接文件:ln

               (1)hard link(硬连接或实际连接):只是在某个目录下新建一条文件名连接到某 inode 号码的关联记录而已。

               (2)symbolic link(符号连接,快捷方式):再创建一个独立的文件,而这个文件会让数据的读取指向它连接的

                                                                         那个文件夹的文件名。

               (3)将/etc/passwd复制到/tmp下面,并且查看inode与block

                       cd /tmp

                       cp -a /etc/passwd .

                       du -sb       ——计算整个/tmp下面有多少 bytes。

                       df -i .

                (4)将/tmp/passwd制作hard link成为passwd-hd 文件,并查看文件与容量:

                          ln passwd passwd-hd;

                          du -sb

                          df -i .

                 (5)将/tmp/passwd创建一个符号连接

                           ln -s passwd passwd-so

                           ls -li passwd*

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

            1.  磁盘分区:disk

                  fdisk  /dev/sda

            2.  磁盘格式化:mkfs -t ext3 /dev/sda6

            3.  磁盘检验:fsck,badblocks

                   fsck -C -f -t ext3 /dev/sda6

                   badblocks -sv /dev/sda6

            4.  磁盘挂载与卸载:

                    (1)挂载Ext2/Ext3 文件系统

                                mkdir /mnt/sda6

                                mount /dev/sda6   /mnt/sda6

                                df

                    (2)挂载CD或DVD光盘

                                mkdir    /media/cdrom

                                mount -t iso9660   /dev/cdrom    /media/cdrom   —— -t iso9660这个光盘的格式

                                mount     /dev/cdrom      /mdeia/cdrom               —— 系统自己去测试挂载

                                df

                    (3)格式化与挂载软盘

                                mkfs -t vfat /dev/fd0

                                mkdir /media/floppy

                                mount -t fat /dev/fd0 /media/floppy

                                df

                    (4)挂载U盘

                                mkdir /mnt/flash

                                mount -t vfat -o iocharset=cp950 /dev/sda1  /mnt/flash

                                df

                    (5)文件卸载umount:

                                umount /dev/sda6

                                umount /media/cdrom

                                umount /mnt/flash

                                umount /dev/fd0

                                umount /mnt/home

                     (6)使用 label name 进行挂载的方法

                                dumpe2fs -h /dev/sda6

                                mount -L "vbird_logical"  /mnt/sda6

                5.  磁盘参数修改

                     (1)mknod

                                mknod /dev/sda10  b  22 10

                                ls -l /dev/sda10

                     (2)e2label

                                 将 /dev/hdc6的卷标改成 my_test并查看是否修改成功

                                         dumpe2fs -h /dev/hdc6

                                         e2label /dev/hdc6 "my_test"

                                         dumpe2fs -h /dev/hdc6

                     (3)tune2fs

                                 列出 /dev/hdc6的super block 内容 :tune2fs -l /dev/hdc6

                     (4)hdparm

                                 测试这块硬盘的读取性能:hdparm -Tt /dev/hdc

    四、设置开机挂载

              1.  开机挂载 /etc/fstab 及 /etc/mtab

                       将 /dev/hdc6 每次开机都自动挂载到 /mnt/hdc6

                             nano /etc/fstab

                           写入:/dev/dhc6    /mnt/hdc6   ext3   dufaults    1   2

              2.  特殊设备 loop 挂载

                       ls -l -h /root/centos 5.2_x86_64.iso

                       mkdir /mnt/centos_dvd

                       mount -o loop /root/centos 5.2_x86_64.iso /mnt/centos_dvd

                       df

                       ls -l /mnt/centos_dvd                  

              3.  新建大文件以制作loop设备文件

                       dd  if=/dev/zero  of=/home/loopdev  bs=1M  count=512

                       ls -l /home/loopdev

                       mkfs -t ext3 /home/loopdev

                       mount -o loop /home/loopdev  media/cdrom/

    五、交换内存空间(swap)的构建

              1.  使用物理分区构建swap

                       fdisk  /dev/hdc

                       mkswap  /dev/hdc7

                       free

                       swapon  /dev/dhc7

                       free

              2. 使用文件构建 swap

                       dd  if=/dev/zero  of=/tmp/swap bs=1M count=128

                       ls -l -h  /tmp/swap

                       mkswap  /tmp/swap

                       free

                       swapon  /tmp/swap

                       free

                       swapon  -s

                       swapoff  /tmp/swap

                       swapoff  /dev/hdc7

                       free

  • 相关阅读:
    九段秘书论
    革命不是请客吃饭,产品不要美图泛滥
    ExtJS4.2学习(9)——MVC
    莫人云亦云,莫走弯路!正确认识ExtJs4
    ExtJS4.2学习(8)——基础知识之事件机制
    ExtJS4.2学习(7)——基础知识之Reader&Writer篇
    Context值和bool开关
    RHEL6.3系统安装
    安装vsphere5.1
    linux下安装 oracle 11g
  • 原文地址:https://www.cnblogs.com/jiangjh/p/2101701.html
Copyright © 2020-2023  润新知