• 第8章 Linux磁盘与文件系统管理


    认识EXT2文件系统

    文件的系统特性

    Linux的正规文件系统为Ext2

    文件数据除了文件实际内容外,还包括其他属性(文件权限、文件属性)。

    文件系统将这两部分数据分别存放在不同的块,权限和属性放在inode内,实际数据放在data block块中。此外还有一个super block,记录整个文件系统的信息。

    1. super block:记录文件系统的整体信息,包括inode/block的总量、使用量和剩余量。
    2. inode:记录文件的属性,一个文件占用一个inode,同时记录文件数据所在的block号码
    3. block:实际记录文件的内容,若文件很大,会占用多个block

    Ext2属于索引式文件系统,所有block都记录在inode中,与之不同的FAT格式则没有inode存在,因此FAT格式无法一开始就把所有block全部读取出来,每个block号码都记录在前一个block中。如果block分布离散,则读取时间很长,因此FAT需要碎片整理,将同一个文件的block汇整到一起。

    因为Ext2是索引式文件系统,基本不需要碎片整理(不绝对)。

    Linux的Ext2文件系统(inode)

    为了便于管理,Ext2文件系统在格式化的时候区分多个块组(block group),每个块组都有自己独立的inode/block/superblock系统。

    在整体规划时,文件系统最前面有一个启动扇区,这个启动扇区可以安装引导装载程序。

    个人理解:磁盘分区后,针对每个分区都要进行格式化,所以Ext2文件系统是对于每个分区而言的。

     

    Ext2格式化后如下表所示:

    启动扇区 block group1 block group2 block group3 ……

    每个块组如下表所示:

    super block 文件系统描述 块对应表 inode对应表 inode table data block

    data block(数据块)

    大小有1kb,2kb,4kb

    block的大小会影响文件系统能够支持的最大磁盘容量和最大单一文件容量

    每个块最多只能存放一个文件,每个文件最少占有一个数据块。

    inode table(inode表格)

    存放文件的属性和文件数据所在的block号

    每个inode大小均为128bytes,每个文件都仅占用一个inode

    文件系统能创建的数目和inode数量有关

    系统读取文件时,先找到inode,并分析inode记录的权限和用户是否一致,符合才读取对应的block

    分析:

    一个inode大小128bytes,记录一个block需要4bytes,如果文件特别大,则会有许多的block,显然inode空间不足以记录,因此inode记录block区域定义为:12个直接、一个间接、一个双间接、一个三间接。

    假设每个block大小为1k:

    12个直接:12*1k=12k

    间接:256*1k=256k  间接指inode记录一个块的号码,这个块记录的是所有实际数据块的号码,每个块大小1k,记录一个块号码需要4bytes,则每个块能记录1k/4bytes=256条记录。

    双间接:256*256*1k

    三间接:256*256*256*1k

    总额:12k+256k+256*256k+256*256*256k = 16G

    super block(超级块)

    记录整个文件系统信息。包括block和inode总量,未使用量,block和inode的大小(block:1k,2k,4k  inode:128bytes)

    super block大小为1024bytes

    除了第一个block group内含有super block外,其余block group不一定含有super block,若含有,则为第一个block group的super block备份,用于super block的救援

    File system Description(文件系统描述)

    该区段用于描述每个block group的开始和结束的block号码,以及说明每个区段(superblock,bitmap,inodemap,datablock)分别介于哪一个block号码之间

    block bitmap(块对应表)

    记录哪些block是空的,添加文件时,迅速找到可使用空间。当删除文件时,也会标记对应块为未使用状态。

    inode bitmap(inode对应表)

    记录使用与未使用的inode号码

    查看文件系统

     dumpe2fs指令(仅仅适用于ext2文件系统)

    与目录树的关系

    文件和目录都占用一个inode,根据文件内容大小分配多个block,目录的内容是文件名,因此文件名存放在目录的block内。文件对应的inode不记录文件名。

    举例:

    假设需要读物/etc/passwd这个文件,系统如何读取?

    //首先显示下各级目录及文件的inode号码
    [root@localhost ~]# ls -dli / /etc /etc/passwd 128 dr-xr-xr-x. 17 root root 4096 6月 29 08:50 / 134311585 drwxr-xr-x. 142 root root 8192 6月 29 08:48 /etc 138481090 -rw-r--r--. 1 root root 2386 6月 24 19:34 /etc/passwd

    1. 首先找到根目录的inode号码为128,inode具有的root权限为读取和执行,我们可以读取其block内容

    2. 经过上面步骤,我们获得/的block的号码,并找到该内容有etc/目录的inode号码(134311585)

    3. 读取134311585的inode号码后,获取etc/的inode,得知root具有对该目录的rwx权限,因此可以读取etc/的目录

    4. 通过上面的inode,可以取得block号码,并找到文件passwd的inode号码(138481090)

    5. 读取138481090得到inode,得知root具有rw权限,因此可以读取passwd的block

    6.根据上面得到的inode,得到block号码,读取block内容

    Ext2/Ext3文件的访问与日志文件系统的功能

    新增一个文件或目录时文件系统的行为:

    1.确定用户对于添加文件的目录是否有w和x的权限

    2.根据inode bitmap找到未使用的inode,并将新文件的权限和属性写入

    3.根据block bitmap找到未使用的block,并将实际数据写入,更新inode的block指向数据。

    4.将刚才写入inode和block数据同步更新inode bitmap和block bitmap,并更新super block

    数据的不一致性:

    当上述操作过程出现故障,导致部分写入,比如第四步未完成。

    日志文件系统:

    在文件系统中规划一个块,专门记录写入或修订文件的步骤。

    Ext2的升级版本Ext3支持日志功能。

    Linux文件系统的操作:

    Linux对文件的写入采用异步处理,当系统加载一个文件到内存后,如果文件未被修改,则在内存区段的文件数据会被设置为clean,如果内存中的文件被修改了,内存的数据被设为dirty,系统会不定时的将内存中设为dirty的数据写入到磁盘。可以使用sync指令手动写入

    载点的意义

    文件系统必须连接到目录树才能被我们使用,将文件系统与目录树结合的操作称为挂载。

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

     VFS(虚拟文件系统)

    用于管理所有Linux的文件系统

    文件系统的简单操作

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

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

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

    -h:以合适的方式显示容量单位

    -i:不用硬盘容量,而用inode数量显示

    [root@localhost ~]# df
    Filesystem              1K-blocks    Used Available Use% Mounted on
    /dev/mapper/centos-root  47957116 5028252  42928864  11% /
    devtmpfs                  1892188       0   1892188   0% /dev
    tmpfs                     1907756      88   1907668   1% /dev/shm
    tmpfs                     1907756    9076   1898680   1% /run
    tmpfs                     1907756       0   1907756   0% /sys/fs/cgroup
    /dev/mapper/centos-home  23413588   94120  23319468   1% /home
    /dev/sda5                  508588  217968    290620  43% /boot
    tmpfs                      381552       8    381544   1% /run/user/0

    [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 46G 4.8G 41G 11% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 88K 1.9G 1% /dev/shm tmpfs 1.9G 8.9M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-home 23G 92M 23G 1% /home /dev/sda5 497M 213M 284M 43% /boot tmpfs 373M 8.0K 373M 1% /run/user/0

    [root@localhost ~]# df -ah Filesystem Size Used Avail Use% Mounted on rootfs - - - - / sysfs 0 0 0 - /sys proc 0 0 0 - /proc devtmpfs 1.9G 0 1.9G 0% /dev securityfs 0 0 0 - /sys/kernel/security tmpfs 1.9G 88K 1.9G 1% /dev/shm devpts 0 0 0 - /dev/pts tmpfs 1.9G 8.9M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup ......省略

    上述,有些使用量为0的文件系统(如/proc),都是挂在内存上的。

    /dev/shm该目录是利用内存虚拟出来的磁盘空间

    du:评估文件系统的磁盘使用量

    du [-ahskm] 文件或目录名

    -a:列出所有文件和目录容量

    -h:以合适的方式显示容量

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

    //直接使用du,列出当前目录目录下的目录容量(不含文件)
    [root@localhost ~]# du
    0    ./.config/imsettings
    0    ./.config/gnome-session/saved-session
    0    ./.config/gnome-session
    0    ./.config/gconf
    .
    .
    .
    省略
    .
    .
    .
    40    ./.vnc
    0    ./.pki/nssdb
    0    ./.pki
    12    ./.gnupg
    0    ./.ssh
    0    ./Desktop
    0    ./Downloads
    0    ./Templates
    0    ./Public
    0    ./Documents
    0    ./Music
    0    ./Pictures
    0    ./Videos
    0    ./桌面
    127632    .
    
    //将文件容量也列出来
    [root@localhost ~]#du -a
    .
    .
    .
    省略
    .
    .
    .
    4    ./.vnc/passwd
    4    ./.vnc/xstartup
    4    ./.vnc/localhost.localdomain:1.log
    4    ./.vnc/localhost.localdomain:2.pid
    4    ./.vnc/localhost.localdomain:2.log
    4    ./.vnc/localhost.localdomain:3.pid
    4    ./.vnc/localhost.localdomain:3.log
    4    ./.vnc/localhost.localdomain:4.pid
    4    ./.vnc/localhost.localdomain:4.log
    40    ./.vnc
    0    ./.pki/nssdb
    0    ./.pki
    4    ./.viminfo
    4    ./.Xauthority
    0    ./.gnupg/pubring.gpg
    8    ./.gnupg/gpg.conf
    0    ./.gnupg/secring.gpg
    4    ./.gnupg/trustdb.gpg
    12    ./.gnupg
    0    ./.ssh
    0    ./Desktop
    0    ./Downloads
    0    ./Templates
    0    ./Public
    0    ./Documents
    0    ./Music
    0    ./Pictures
    0    ./Videos
    0    ./桌面
    308    ./Screenshot from 2016-06-28 20-49-50.png
    127632    .
    
    //查看根目录下每个目录占用量
    [root@localhost ~]# du -sm /*
    0    /bin
    188    /boot
    1    /dev
    33    /etc
    60    /home
    0    /lib
    0    /lib64
    0    /media
    0    /mnt
    0    /opt
    du: cannot access ‘/proc/15885/task/15885/fd/4’: No such file or directory
    du: cannot access ‘/proc/15885/task/15885/fdinfo/4’: No such file or directory
    du: cannot access ‘/proc/15885/fd/4’: No such file or directory
    du: cannot access ‘/proc/15885/fdinfo/4’: No such file or directory
    0    /proc
    125    /root
    9    /run
    0    /sbin
    0    /srv
    0    /sys
    1    /tmp
    3950    /usr
    734    /var

    连接文件:ln

    -s:默认硬连接,加-s表示符号连接

    -f:如果目标文件存在,主动删除目标文件,再创建

    hard link:硬连接或实际连接

    前面学到,每个文件占用一个inode,文件内容有inode来指向。想要读取文件,必须通过目录记录的文件名来指向正确的inode号码才能读取。即文件名只与目录有关,文件内容只与inode有关。

    硬连接就是在某个目录下创建一个新的文件名连接到某inode号码的关联记录。

    举例:

    [root@localhost Desktop]# cd /tmp
    [root@localhost tmp]# mkdir link_t1
    [root@localhost tmp]# mkdir link_t2
    
    [root@localhost tmp]# touch ./link_t1/test1.txt
    
    [root@localhost tmp]# ln ./link_t1/test1.txt ./link_t2/test2.txt
    [root@localhost tmp]# ls -li ./link_t1/test1.txt ./link_t2/test2.txt
    68137576 -rw-r--r--. 3 root root 0 6月  29 13:37 ./link_t1/test1.txt
    68137576 -rw-r--r--. 3 root root 0 6月  29 13:37 ./link_t2/test2.txt

    如上,建立硬连接后,两个文件名不同的文件的inode的号码却是一模一样。说明他们所指向的文件内容是一致的。

    硬连接的使用限制:

    1. 不能跨文件系统
    2. 不能连接到目录

    symbolic link:符号连接,即快捷方式

    创立一个独立的文件,这个文件会让数据的读取指向它连接的那个文件的文件名。但源文件被删除后,该文件也就无法打开。

    举例:

    [root@localhost tmp]# ln -s ./link_t1/test1.txt ./link_t2/test2.txt
    
    [root@localhost tmp]# ls -il ./link_t1/test1.txt ./link_t2/test2.txt
     68137576 -rw-r--r--. 2 root root  0 6月  29 13:37 ./link_t1/test1.txt
    134382007 lrwxrwxrwx. 1 root root 19 6月  29 13:54 ./link_t2/test2.txt -> ./link_t1/test1.txt

    如上,inode明显不一样了。

    符号连接可以连接到目录。

    目录连接数

    连接到该目录的其他目录的数目,包括上层目录、本层目录和子目录,因此一般连接数至少为2,但文件连接数为1.

     

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

    磁盘分区:fdisk

    查看根目录所在磁盘的分区信息

    //查看根目录的磁盘文件名
    [root@localhost ~]# df / Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/centos-root 47957116 5040212 42916904 11% /

    //查看该磁盘的分区表信息 [root@localhost ~]# fdisk /dev/mapper/centos-root Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x784862a5. Command (m for help): p Disk /dev/mapper/centos-root: 49.1 GB, 49132077056 bytes, 95961088 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x784862a5 Device Boot Start End Blocks Id System

    //由上,可知没有分区信息

    查看所有分区信息:

    [root@localhost ~]# fdisk -l
    
    Disk /dev/sda: 320.1 GB, 320072933376 bytes, 625142448 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x0008668e
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
    /dev/sda2          206848   403138559   201465856    7  HPFS/NTFS/exFAT
    /dev/sda3       403138560   473042943    34952192    7  HPFS/NTFS/exFAT
    /dev/sda4       473042944   625141759    76049408    5  Extended
    /dev/sda5       473044992   474068991      512000   83  Linux
    /dev/sda6       474071040   625141759    75535360   8e  Linux LVM
    
    Disk /dev/mapper/centos-root: 49.1 GB, 49132077056 bytes, 95961088 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    
    Disk /dev/mapper/centos-swap: 4160 MB, 4160749568 bytes, 8126464 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    
    Disk /dev/mapper/centos-home: 24.0 GB, 23987224576 bytes, 46850048 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    可以看到磁盘/dev/sda有六块分区。

    此外,要想查询分区信息,使用fdisk /dev/sda ,而不用加数字(/dev/sda1)

      删除磁盘分区:

    由上面我们知道/dev/sda有六个分区,使用fdisk /dev/sda指令进入操作,并查看分区信息:

    [root@localhost ~]# fdisk /dev/sda
    Welcome to fdisk (util-linux 2.23.2).
    
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    Command (m for help): p
    
    Disk /dev/sda: 320.1 GB, 320072933376 bytes, 625142448 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x0008668e
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
    /dev/sda2          206848   403138559   201465856    7  HPFS/NTFS/exFAT
    /dev/sda3       403138560   473042943    34952192    7  HPFS/NTFS/exFAT
    /dev/sda4       473042944   625141759    76049408    5  Extended
    /dev/sda5       473044992   474068991      512000   83  Linux
    /dev/sda6       474071040   625141759    75535360   8e  Linux LVM

    在以上界面内,尝试删除第一个分区,即/dev/sda1:

    Command (m for help): d
    Partition number (1-6, default 6): 1
    Partition 1 is deleted
    
    Command (m for help): p
    
    Disk /dev/sda: 320.1 GB, 320072933376 bytes, 625142448 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x0008668e
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda2          206848   403138559   201465856    7  HPFS/NTFS/exFAT
    /dev/sda3       403138560   473042943    34952192    7  HPFS/NTFS/exFAT
    /dev/sda4       473042944   625141759    76049408    5  Extended
    /dev/sda5       473044992   474068991      512000   83  Linux
    /dev/sda6       474071040   625141759    75535360   8e  Linux LVM

    新增磁盘分区:

    先删除所有分区

    //新增分区
    Command (m for help): n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    //选择主分区
    Select (default p): p
    //选择分区号
    Partition number (1-4, default 1): 1
    //选择起始柱面,直接enter
    First sector (2048-625142447, default 2048): 
    Using default value 2048
    //选择结束柱面,+512M表示分区大小为512M,让系统自动寻找结束柱柱面
    Last sector, +sectors or +size{K,M,G} (2048-625142447, default 625142447): +512M
    Partition 1 of type Linux and of size 512 MiB is set
    //查看分区结果
    Command (m for help): p
    
    Disk /dev/sda: 320.1 GB, 320072933376 bytes, 625142448 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x0008668e
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1            2048     1050623      524288   83  Linux

    分区后,执行partprob更新分区表

    磁盘的格式化

    mkfs:

    mkfs [-t 文件系统格式]  设备文件名

    [root@localhost ~]# mkfs -t ext3 /dev/sda3
    mke2fs
    1.42.9 (28-Dec-2013) /dev/sda3 is mounted; will not make a filesystem here! [root@localhost ~]# mkfs -t ext3 /dev/sda3 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 2187264 inodes, 8738048 blocks 436902 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 267 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done

    mke2fs

    mke2fs  [-b block大小]  [-i block大小]  [-L卷标]  [-cj]  设备

    磁盘检查:fsck

    fsck

    [root@localhost ~]# fsck -C -f -t ext3 /dev/sda3
    fsck from util
    -linux 2.23.2 e2fsck 1.42.9 (28-Dec-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/sda3: 11/2187264 files (0.0% non-contiguous), 182345/8738048 blocks

    磁盘挂载与卸载

    进行挂载前,确保以下几件事:

    1. 单一文件系统不应该被重复挂载到不同的挂载点
    2. 单一目录不应该重复挂载多个文件系统
    3. 作为挂载点的目录理论上应该是空目录

    mount:

    举例:

    创建目录/mnt/sda3,并将分区/dev/sda3挂载到/mnt/sda3下

    [root@localhost ~]# mkdir /mnt/sda3
    [root@localhost ~]# mount /dev/sda3 /mnt/sda3

    使用df查询挂载情况

    [root@localhost ~]# df
    Filesystem              1K-blocks    Used Available Use% Mounted on
    /dev/mapper/centos-root  47957116 5040192  42916924  11% /
    devtmpfs                  1892188       0   1892188   0% /dev
    tmpfs                     1907756     144   1907612   1% /dev/shm
    tmpfs                     1907756    9076   1898680   1% /run
    tmpfs                     1907756       0   1907756   0% /sys/fs/cgroup
    /dev/mapper/centos-home  23413588   94120  23319468   1% /home
    /dev/sda5                  508588  217968    290620  43% /boot
    tmpfs                      381552      16    381536   1% /run/user/0
    /dev/sda3                34271976   49172  32475196   1% /mnt/sda3

    挂载U盘

    先查看U盘信息

    [root@localhost ~]# fdisk -l
    
    Disk /dev/sda: 320.1 GB, 320072933376 bytes, 625142448 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x0008668e
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
    /dev/sda2          206848   403138559   201465856    7  HPFS/NTFS/exFAT
    /dev/sda3       403138560   405235711     1048576   83  Linux
    /dev/sda4       473042944   625141759    76049408    5  Extended
    /dev/sda5       473044992   474068991      512000   83  Linux
    /dev/sda6       474071040   625141759    75535360   8e  Linux LVM
    
    Disk /dev/mapper/centos-root: 49.1 GB, 49132077056 bytes, 95961088 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    
    Disk /dev/mapper/centos-swap: 4160 MB, 4160749568 bytes, 8126464 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    
    Disk /dev/mapper/centos-home: 24.0 GB, 23987224576 bytes, 46850048 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    
    Disk /dev/sdb: 15.4 GB, 15376000000 bytes, 30031250 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x00000000
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1   *     1040128    30031249    14495561    c  W95 FAT32 (LBA)

    创建挂载点,并挂载

    [root@localhost ~]# mkdir /mnt/flash
    [root@localhost ~]# mount /dev/sdb1 /mnt/flash

    卸载

    umount

    举例:

    [root@localhost ~]# mkdir /mnt/flash
    [root@localhost ~]# mount /dev/sdb1 /mnt/flash
    
    //卸载上面挂载的U盘
    [root@localhost ~]# umount /dev/sdb1

     设置开机挂载

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

    系统挂载的一些限制:

    1. 根目录必须挂载,而且一定是第一个被挂载
    2. 其他挂载点必须是已新建的目录
    3. 所有挂载点和分区在同一时间只能挂载一次
    4. 若进行卸载,必须先将工作目录移到挂载点

     查阅/etc/fstab内容:

    [root@localhost Desktop]# cat /etc/fstab
    
    #
    # /etc/fstab
    # Created by anaconda on Fri Jun 24 19:10:06 2016
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    
    #Device                                               Mount point   filesystem   parameters  dump  fsck
    /dev/mapper/centos-root / xfs defaults 0     0 UUID=4204a9c8-573a-4f7d-a55f-9fe81888ba34             /boot xfs defaults 0     0 /dev/mapper/centos-home /home xfs defaults 0      0 /dev/mapper/centos-swap swap swap   defaults 0     0

    这个文件内容共有6个字段:

    第一列:磁盘设备文件名或设备的Label

    第二列:挂载点

    第三列:磁盘分区的文件系统

    第四列:文件系统参数

    第五列:能否被dump命令使用

    第六列:是否以fsck检查扇区

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

    当硬件内存不足时,系统将内存中暂时不用的数据放在swap中。

     

  • 相关阅读:
    Linux中将两块新硬盘合并成一个,挂载到/data目录下
    linux将硬盘格式化为xfs文件系统
    nginx配置文件
    centos 添加新硬盘,lvm对根目录扩容
    centos7重新调整分区大小
    Linux 一种调用蜂鸣器的方法
    mybatis中 keyProperty="id" 的作用
    MySQL实战45讲
    常用正则表达式最强整理(速查手册)
    linux下nacos的1.1.3版本集群部署
  • 原文地址:https://www.cnblogs.com/wuchaodzxx/p/5626266.html
Copyright © 2020-2023  润新知