• Linux常用命令--磁盘管理


    Linux常用命令--磁盘管理

    linux采用一种载入的处理方式,整个文件系统以文件树的结构存在,一个分区和一个目录联系一起(挂载)。

    查看所有设备挂载情况

    lsblk查看所有设备挂载情况,-f 更加详细(有fs格式、40位uuid唯一标识符 )

    关于磁盘:

    scsi硬盘:标识是sdx~,如:sda1、sda2、sda3 ... sdb ... sdc ...
    ide硬盘:标识是hdx~

    为电脑增加一块硬盘的步骤

    ① 添加硬盘

    把硬盘连接到电脑。

    ② 分区

    使用fdisk分区命令

    fdisk 常用选项 说明
    m 显示命令列表
    p 显示磁盘分区,同fdisk -l
    n 新增分区
    d 删除分区
    w 写入并推出
    q 退出不保存

    分区步骤

    1. 使用命令,指定要分区的设备:fdisk /dev/sdb
    [root@rH7-1 lczmx]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。
    
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    Device does not contain a recognized partition table
    使用磁盘标识符 0x30a50703 创建新的 DOS 磁盘标签。
    1. 输入m:显示帮助(不看也行)
    命令(输入 m 获取帮助):m
    命令操作
       a   toggle a bootable flag
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition
       g   create a new empty GPT partition table
       G   create an IRIX (SGI) partition table
       l   list known partition types
       m   print this menu
       n   add a new partition
       o   create a new empty DOS partition table
       p   print the partition table
       q   quit without saving changes
       s   create a new empty Sun disklabel
       t   change a partition's system id
       u   change display/entry units
       v   verify the partition table
       w   write table to disk and exit
       x   extra functionality (experts only)
    1. 开始分区输入n:创建分区
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    1. 新增分区选择p:分区类型为主分区(根据自己的需要来)
    Select (default p): p
    1. 选择分区号(默认就好)
    分区号 (1-4,默认 1):1
    1. 选择起始扇区(默认就好)
    起始 扇区 (2048-2097151,默认为 2048):
    将使用默认值 2048
    1. 选择此分区的大小 KMG(如: +20G)(要分多个分区的话,记得留点)
    Last 扇区, +扇区 or +size{K,M,G} (2048-2097151,默认为 2097151):+200M
    分区 2 已设置为 Linux 类型,大小设为 200 MiB

    这里我多分了一个区,没有需求的可以直接第八步

    
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Select (default p): p
    分区号 (2-4,默认 2):
    起始 扇区 (411648-2097151,默认为 411648):
    将使用默认值 411648
    Last 扇区, +扇区 or +size{K,M,G} (411648-2097151,默认为 2097151):
    将使用默认值 2097151
    分区 2 已设置为 Linux 类型,大小设为 823 MiB
    1. w:写入分区退出(若不保存则输入q)
    命令(输入 m 获取帮助):w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    1. 查看分区结果

    分区前

    [lczmx@rH7-1 ~]$ lsblk
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   20G  0 disk 
    ├─sda1   8:1    0    1G  0 part /boot
    ├─sda2   8:2    0   17G  0 part /
    └─sda3   8:3    0    2G  0 part [SWAP]
    sdb      8:16   0    1G  0 disk 
    sr0     11:0    1 1024M  0 rom 

    分区后

    [root@rH7-1 lczmx]# lsblk
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   20G  0 disk 
    ├─sda1   8:1    0    1G  0 part /boot
    ├─sda2   8:2    0   17G  0 part /
    └─sda3   8:3    0    2G  0 part [SWAP]
    sdb      8:16   0    1G  0 disk 
    ├─sdb1   8:17   0  200M  0 part 
    └─sdb2   8:18   0  823M  0 part 
    sr0     11:0    1 1024M  0 rom 

    ③ 格式化

    未格式化过的分区是不可以使用的,可以通过lsblk -f命令查看是否已经格式化。(有UUID就证明已经格式化过了)

    [root@rH7-1 lczmx]# lsblk -f
    NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
    sda                                                      
    ├─sda1 ext4         ecc17b31-f225-4ac5-b7bd-c5017fa2f224 /boot
    ├─sda2 ext4         db36ba76-89c8-4593-8b24-580e2dbfa18d /
    └─sda3 swap         f843c352-ca65-457d-b2f9-c64e89e22a58 [SWAP]
    sdb                                                      
    ├─sdb1                                                   
    └─sdb2                                                   
    sr0  

    假如没有格式化的话,需要使用格式化命令: mkfs -t 文件系统类型 分区,如:mkfs -t ext4 /dev/sdb1

    开始格式化

    [root@rH7-1 lczmx]# mkfs -t ext4 /dev/sdb1
    mke2fs 1.42.9 (28-Dec-2013)
    文件系统标签=
    OS type: Linux
    块大小=1024 (log=0)
    分块大小=1024 (log=0)
    ......
    ......
    
    [root@rH7-1 lczmx]# mkfs -t ext4 /dev/sdb2
    mke2fs 1.42.9 (28-Dec-2013)
    文件系统标签=
    OS type: Linux
    ......
    ......

    再次查看

    [root@rH7-1 lczmx]# lsblk -f
    NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
    sda                                                      
    ├─sda1 ext4         ecc17b31-f225-4ac5-b7bd-c5017fa2f224 /boot
    ├─sda2 ext4         db36ba76-89c8-4593-8b24-580e2dbfa18d /
    └─sda3 swap         f843c352-ca65-457d-b2f9-c64e89e22a58 [SWAP]
    sdb                                                      
    ├─sdb1 ext4         1371bca2-d95c-48ec-84e4-0c1483e175fd 
    └─sdb2 ext4         c4ec0a6a-8af7-46c5-921e-fa6a37fcac38 

    ④ 挂载

    挂载就是给目录与分区建立联系,挂载后目录就相当于是分区的大门了。
    挂载有两个步骤:
    第一步:确定挂载点,可以创建 一个目录,也可以选择已有的。

    第二步:输入命令: mount 设备名称 挂载目录,如:mount /dev/sdb1 /mydisk

    要卸载的话使用:umount /dev/sdb1 /mydisk 或者 umount /mydisk

    注意:使用命令行的方式进性挂载,重启后失效!!

    ⑤ 设置自动挂载

    上面已经说了,使用mount命令挂载在电脑重启后会失效,为了解决这个问题,可以通过修改/etc/fstab这个文件来实现永久挂载。
    先看一看这个文件的内容:

    [lczmx@rH7-1 ~]$ cat /etc/fstab
    
    #
    # /etc/fstab
    # Created by anaconda on Sat Nov 28 19:57:23 2020
    #
    # 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
    #
    UUID=db36ba76-89c8-4593-8b24-580e2dbfa18d /                       ext4    defaults        1 1
    UUID=ecc17b31-f225-4ac5-b7bd-c5017fa2f224 /boot                   ext4    defaults        1 2
    UUID=f843c352-ca65-457d-b2f9-c64e89e22a58 swap                    swap    defaults        0 0
    

    这个文件配置是有一定的格式的,所以下面讲解一下格式
    fstab输入格式详解

    UUID=db36ba76-89c8-4593-8b24-580e2dbfa18d / ext4 defaults 1 1
    UUID:分区的UUID(也可以/dev/sdb1这种形式) 挂载点 文件系统格式 文件系统的参数 能否被dump备份命令作用 是否检验扇区
    • 文件系统的参数

      • Async/sync: 设置是否为同步方式运行,默认为async
      • auto/noauto : 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
      • rw/ro : 是否以以只读或者读写模式挂载
      • exec/noexec: 限制此文件系统内是否能够进行"执行"的操作
      • user/nouser: 是否允许用户使用mount命令挂载
      • suid/nosuid: 是否允许SUID的存在
      • Usrquota: 启动文件系统支持磁盘配额模式
      • Grpquota: 启动文件系统对群组磁盘配额模式的支持
      • Defaults: 同事具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置
    • 能否被dump备份命令作用

      • 0: 代表不要做dump备份
      • 1: 代表要每天进行dump的操作
      • 2: 代表不定日期的进行dump操作
    • 是否检验扇区
      开机的过程中,系统默认会以fsck检验我们系统是否为完整

      • 0: 不要检验
      • 1: 最早检验(一般根目录会选择)
      • 2: 1级别检验完成之后进行检验

    根据上述的解释,写入自己的配置,保存退出。添加完成后,执行mount -a立即生效

    磁盘情况查询

    命令 说明 备注
    df -h 查循系统整体磁盘使用情况
    du -h 目录 查询指定目录的磁盘占用情况,默认当前目录 -s 指定目录占用大小;-h 带计量单位;-a 含文件;--max-depth=1 子目录深度;-c 列出明细的同时,增加汇总值

    磁盘情况工作实用指令

    1. 统计某个目录下有多少个文件
      ls -l | grep "^-" | wc -l
    2. 统计某个目录下有多少个文件(包括子文件夹的)
      ls -lR | grep "^-" | wc -l
    3. 树状结构查看目录
      tree 目录

    我的github
    我的博客
    我的笔记

  • 相关阅读:
    java基础面试题(一)
    关于Redis的十个高频面试问题
    postgres中的merge join
    cgdb调试postgresql
    再见了,程序员!
    掌握这个小技巧,让你的 C++ 编译速度提升 50 倍!
    C语言修仙大法!基础知识全复习(纯干货)!!!
    一锅端了!北京朝阳一互联网公司被端,警方上门,23人被带走…
    C++入口不是main?知乎上都快打起来了,你们不要再打了啦!
    不用创建项目,直接在 VS 里快速测试 C/C++ 代码 !
  • 原文地址:https://www.cnblogs.com/lczmx/p/14248569.html
Copyright © 2020-2023  润新知