zoukankan      html  css  js  c++  java
  • linux命令之磁盘与文件系统管理命令(上)

    1.fdisk:磁盘分区工具

    该命令是linux下常用的磁盘分区工具,但是只能给小于2TB的磁盘划分分区。

    常用参数为-l,显示所有磁盘分区的信息。

    示例:

    1)显示磁盘分区列表

    [root@boxiaoyuan ~]# fdisk -l  # 查看当前系统的所有磁盘分区信息
    Disk /dev/sda: 21.5 GB, 21474836480 bytes  # 磁盘/dev/sda的大小
    255 heads, 63 sectors/track, 2610 cylinders  # 255个虚拟磁头,63个扇区/磁道,2610个柱面
    Units = cylinders of 16065 * 512 = 8225280 bytes  # 一个柱面的大小为8225280bytes
    Sector size (logical/physical): 512 bytes / 512 bytes  #每个扇区的字节数
    I/O size (minimum/optimal): 512 bytes / 512 bytes  # 每次读写的字节数
    Disk identifier: 0x0000db9b
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1               1        1045     8388608   82  Linux swap / Solaris
    /dev/sda2   *        1045        2611    12581888   83  Linux

    说明:Device表示分区;Boot表示启动分区,用*表示;Start表示开始的柱面;End表示结束的柱面;Blocks表示快数量;Id表示分区类型Id;System表示分区类型。

    2)模拟分区实战

    [root@boxiaoyuan ~]# fdisk /dev/sdb  # 不加参数,直接接设备名就可以进行分区
    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
    Building a new DOS disklabel with disk identifier 0x784b7b62.
    Changes will remain in memory only, until you decide to write them.
    After that, of course, the previous content won't be recoverable.
    
    Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
    
    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
             switch off the mode (command 'c') and change display units to
             sectors (command 'u').
    
    Command (m for help): m
    Command action
       a   toggle a bootable flag
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition
       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)
    
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 1
    First cylinder (1-130, default 1): 
    Using default value 1
    Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +100M
    
    Command (m for help): p
    
    Disk /dev/sdb: 1073 MB, 1073741824 bytes
    255 heads, 63 sectors/track, 130 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x784b7b62
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1          14      112423+  83  Linux
    
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    e
    Partition number (1-4): 2
    First cylinder (15-130, default 15): 
    Using default value 15
    Last cylinder, +cylinders or +size{K,M,G} (15-130, default 130): 
    Using default value 130
    
    Command (m for help): p
    
    Disk /dev/sdb: 1073 MB, 1073741824 bytes
    255 heads, 63 sectors/track, 130 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x784b7b62
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1          14      112423+  83  Linux
    /dev/sdb2              15         130      931770    5  Extended
    
    Command (m for help): n
    Command action
       l   logical (5 or over)
       p   primary partition (1-4)
    p
    Partition number (1-4): 3
    No free sectors available
    
    Command (m for help): n
    Command action
       l   logical (5 or over)
       p   primary partition (1-4)
    l
    First cylinder (15-130, default 15): 
    Using default value 15
    Last cylinder, +cylinders or +size{K,M,G} (15-130, default 130): +400M
    
    Command (m for help): p
    
    Disk /dev/sdb: 1073 MB, 1073741824 bytes
    255 heads, 63 sectors/track, 130 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x784b7b62
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1          14      112423+  83  Linux
    /dev/sdb2              15         130      931770    5  Extended
    /dev/sdb5              15          66      417658+  83  Linux
    
    Command (m for help): n
    Command action
       l   logical (5 or over)
       p   primary partition (1-4)
    l
    First cylinder (67-130, default 67): 
    Using default value 67
    Last cylinder, +cylinders or +size{K,M,G} (67-130, default 130): 
    Using default value 130
    
    Command (m for help): p
    
    Disk /dev/sdb: 1073 MB, 1073741824 bytes
    255 heads, 63 sectors/track, 130 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x784b7b62
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1          14      112423+  83  Linux
    /dev/sdb2              15         130      931770    5  Extended
    /dev/sdb5              15          66      417658+  83  Linux
    /dev/sdb6              67         130      514048+  83  Linux
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    [root@boxiaoyuan ~]# partprobe /dev/sdb  # 执行该命令通知内核分区表已更新,不需要重启系统就可以让分区生效

    格式化磁盘

    [root@boxiaoyuan ~]# mkfs.ext4 /dev/sdb1
    mke2fs 1.41.12 (17-May-2010)
    文件系统标签=
    操作系统:Linux
    块大小=1024 (log=0)
    分块大小=1024 (log=0)
    Stride=0 blocks, Stripe width=0 blocks
    28112 inodes, 112420 blocks
    5621 blocks (5.00%) reserved for the super user
    第一个数据块=1
    Maximum filesystem blocks=67371008
    14 block groups
    8192 blocks per group, 8192 fragments per group
    2008 inodes per group
    Superblock backups stored on blocks: 
            8193, 24577, 40961, 57345, 73729
    
    正在写入inode表: 完成                            
    Creating journal (4096 blocks): 完成
    Writing superblocks and filesystem accounting information: 完成
    
    This filesystem will be automatically checked every 21 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.

    挂载磁盘

    [root@boxiaoyuan ~]# mount /dev/sdb1 /mnt
    [root@boxiaoyuan ~]# df -T
    Filesystem     Type    1K-blocks    Used Available Use% Mounted on
    /dev/sda2      ext4     12253360 8557940   3066328  74% /
    tmpfs          tmpfs      953140      80    953060   1% /dev/shm
    /dev/sr0       iso9660   3824484 3824484         0 100% /media/CentOS_6.8_Final
    /dev/sdb1      ext4       104769    1550     97598   2% /mnt

     2.partprobe:更新内核的硬盘分区表信息

    该命令用于在硬盘分区发生变化时,更新内核的硬盘分区表数据,可以在不重启系统时就更新分区表信息。

    [root@boxiaoyuan ~]# partprobe /dev/sdb

    3.parted:磁盘分区工具

    该命令用于对大于2TB的磁盘进行分区,并且要将磁盘转换为GPT格式。

    常用的参数选项为-l,显示所有磁盘分区的信息。

    通过parted -h或者直接通过parted进入交互模式后通过-h查看帮助。

    [root@boxiaoyuan ~]# parted
    GNU Parted 2.1
    使用 /dev/sda
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) h                                                                
      align-check TYPE N                       
      check NUMBER                            
      cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER   
      help [COMMAND]                         
      mklabel,mktable LABEL-TYPE    # 创建分区表         
      mkfs NUMBER FS-TYPE                   
      mkpart PART-TYPE [FS-TYPE] START END  # 创建分区
      mkpartfs PART-TYPE FS-TYPE START END  # 创建带有文件系统的分区
      move NUMBER START END                   
      name NUMBER NAME                        
      print [devices|free|list,all|NUMBER]    # 显示分区表信息
      quit                                    
      rescue START END                       
      resize NUMBER START END               
      rm NUMBER  # 删除编号NUMBER的分区                              
      select DEVICE                          
      set NUMBER FLAG STATE                   
      toggle [NUMBER [FLAG]]                  
      unit UNIT                              
      version                                 
    (parted) 

    示例:

    1)显示分区情况

    [root@boxiaoyuan ~]# parted -l
    Model: VMware, VMware Virtual S (scsi)  # 磁盘类型
    Disk /dev/sda: 21.5GB  # 磁盘大小
    Sector size (logical/physical): 512B/512B  # 扇区大小
    Partition Table: msdos  # 分区表类型
    
    Number  Start   End     Size    Type     File system     标志
     1      1049kB  8591MB  8590MB  primary  linux-swap(v1)
     2      8591MB  21.5GB  12.9GB  primary  ext4            启动

    2)模拟分区实战

    [root@boxiaoyuan ~]# parted /dev/sdb  # parted直接接需要分区的设备
    GNU Parted 2.1
    使用 /dev/sdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) mklabel gpt  # 为sdb磁盘创建GPT分区表,大于2TB的磁盘必须执行这一步                                                    
    (parted) mkpart primary 0 500   # 创建主分区,500M                                          
    警告: The resulting partition is not properly aligned for best performance.
    忽略/Ignore/放弃/Cancel? Ignore   # 忽略警告                                        
    (parted) p  # 显示分区表信息                                                   
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdb: 1074MB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    
    Number  Start   End    Size   File system  Name     标志
     1      17.4kB  500MB  500MB               primary
    
    (parted) mkpart logical 501 1000  # 创建逻辑分区,大小为500MB
    (parted) p  # 显示分区表信息                                                                
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdb: 1074MB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    
    Number  Start   End     Size   File system  Name     标志
     1      17.4kB  500MB   500MB               primary
     2      501MB   1000MB  499MB               logical
    
    (parted) quit  # 退出                                                            
    信息: You may need to update /etc/fstab.                                  
    
    [root@boxiaoyuan ~]# ls /dev/sdb*
    /dev/sdb  /dev/sdb1  /dev/sdb2
    [root@bixiaoyuan ~]# mkfs.ext4 /dev/sdb1  # 格式化
    mke2fs 1.41.12 (17-May-2010)
    文件系统标签=
    操作系统:Linux
    块大小=1024 (log=0)
    分块大小=1024 (log=0)
    Stride=0 blocks, Stripe width=0 blocks
    122400 inodes, 488264 blocks
    24413 blocks (5.00%) reserved for the super user
    第一个数据块=1
    Maximum filesystem blocks=67633152
    60 block groups
    8192 blocks per group, 8192 fragments per group
    2040 inodes per group
    Superblock backups stored on blocks: 
            8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
    
    正在写入inode表: 完成                            
    Creating journal (8192 blocks): 完成
    Writing superblocks and filesystem accounting information: 完成
    
    This filesystem will be automatically checked every 37 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    [root@boxiaoyuan ~]# mount /dev/sdb1 /mnt  #挂载

    4.mkfs:创建linux文件系统

    该命令用于在指定的设备或者分区上创建格式化并创建文件系统。

    常用的参数有-t:指定要创建的文件系统类型,也可以直接使用mkfs.ext4创建ext4文件系统。

    5.df:报告文件系统磁盘空间的使用情况

    该命令用于显示文件系统磁盘空间的使用情况。

    参数 说明
    -h(常用) 以容易理解的格式显示磁盘的使用情况
    -i(常用) 显示文件系统的inode信息
    -T(常用) 列出文件系统的类型

    示例:

    1)显示磁盘的使用情况

    [root@boxiaoyuan ~]# df
    Filesystem     1K-blocks    Used Available Use% Mounted on
    /dev/sda2       12253360 8557460   3066808  74% /
    tmpfs             953140       0    953140   0% /dev/shm

    2)-h选项

    [root@boxiaoyuan ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda2        12G  8.2G  3.0G  74% /
    tmpfs           931M   72K  931M   1% /dev/shm

    3)列出文件系统的类型

    [root@boxiaoyuan ~]# df -T
    Filesystem     Type  1K-blocks    Used Available Use% Mounted on
    /dev/sda2      ext4   12253360 8557556   3066712  74% /
    tmpfs          tmpfs    953140      72    953068   1% /dev/shm

    注:本文内容为《跟老男孩学linux运维 核心系统命令实践》的学习笔记。

  • 相关阅读:
    windows下php+apache+mysql环境搭建
    sql中的case when
    zend_db连接mysql(附完整代码)(转)
    自定加载的简单实例
    Zend Framework 留言本实战(转)
    C++中虚函数的作用是什么?它应该怎么用呢?(转)
    PHP输入流php://input(转)
    js中===与==区别
    ajax之cache血与泪~~
    js中的string.format
  • 原文地址:https://www.cnblogs.com/zhuzhaoli/p/10704929.html
Copyright © 2011-2022 走看看