磁盘管理及文件系统

磁盘管理


本文将从以下几方面介绍

第一部分:磁盘管理

  • 1、浅识Linux磁盘

  • 2、常见命令

第二部分:文件系统管理

  • 1、文件系统的创建

  • 2、文件系统挂载

  • 3、自动挂载配置文件

第一部分:磁盘管理


浅识Linux磁盘

对于Linux来说我们知道一切皆文件,同样在Linux中硬件设备在系统上会映射成相对应的文件,我们就像是在Windows看文件一样只要打开对应的文件就能访问放在硬件中的信息。下面我们来看看一些与磁盘有关的简单命令

常见命令

1、查看空间使用状态
        free 
             -m : 以M为单位显示
             -g : 以G为单位显示
             -h : 人类易读形式显示
        [root@Centos6 ~]#free -h
                     total       used       free     shared    buffers     cached
        Mem:          980M       625M       355M       2.1M        77M       238M
        -/+ buffers/cache:       308M       672M
        Swap:         2.0G         0B       2.0G          

     2、文件系统磁盘占用情况
        df
             -T : 显示文件系统类型
             -h : 以人类易读的形式显示
             -i : 显示inode号

        [root@Centos6 ~]#df -T
        Filesystem     Type    1K-blocks    Used Available Use% Mounted on
        /dev/sda2      ext4     50264772 5054532  42650240  11% /
        tmpfs          tmpfs      502056      76    501980   1% /dev/shm
        /dev/sda3      ext4     40185208  181224  37955984   1% /app
        /dev/sda1      ext4       999320   34944    911948   4% /boot
        /dev/sr0       iso9660   3878870 3878870         0 100% /media/CentOS_6.9_Final

     3、查看某目录总体空间占用情况
        du
             -s : 摘要
             -h : 以人类易读的形式显示

        [root@Centos6 ~]#du -sh /etc
        42M    /etc
     4、转换、复制文件
        dd  if=/path/to/file of=/path/to/file [bs|obs|cbs]=#[k|M|G] count skip seek
             if : inputfile
             of : outputfile
             bs : 指定块大小
             ibs: 一次读#个字节
             obs: 一次写#个字节
             cbs:一次转换#个字节
             count: 复制#个bs块
             skip: inputfile中从头跳过#个ibs大小的块
             seek: outputfile中从头跳过#个ibs大小的块

        [root@Centos6 ~]#dd if=/dev/sda of=/dev/null bs=1M count=1024  #测试磁盘读能力
        1024+0 records in
        1024+0 records out
        1073741824 bytes (1.1 GB) copied, 3.45514 s, 311 MB/s           #可以看出速度还是不错的
这里分享一个修复硬盘的方法(适用于长时间不用的磁盘,非物理性破坏状态下)硬盘长时间不用,会
产生消磁点,当这种情况影响到磁盘的第一个删去时,可能会导致磁盘不能用
使用命令:
dd if=/dev/sda of=/dev/sda   #这里以sda为例
该命令可使消磁点数据恢复,并且整个过程是安全的

第二部分:文件系统管理


文件系统的创建

在Linux中有较多的文件系统类型我们知道的有ext2、ext3、ext4、xfs等
 根据是否支持日志功能可将其分为
             日志型文件系统: ext3、ext4、xfs
             非日志型文件系统: ext2、vft
 首先我们先来了解一下,文件系统在Linux中如何通过命令创建的

 1、创建分区
fdisk 命令
         在创建分区时会有提示信息,按照提示进行选择即可
         eg : fdisk /dev/sda   # 对/dev/sda 进行分区     
     一般在创建完分区后需要查看内核是否已经识别新的分区
         查看方法:
              cat /proc/partition          

             如果没有查看到新的分区,需要通知内核重新读取
             centos6 :  partx -a /dev/sda
             centos7 :  partprobe
2、管理分区

 在创建好后怎样去使用管理分区呢,接下来进行一一说明
管理分区的工具
      (1)、创建文件系统

         mkfs
             -t [ext2 | ext3 | ext4] <==> 等同于mkfs.ext2 | mkfs.ext3 | mkfs.ext4: 修改文件系统类型
             -L : 修改卷标名

         mke2fs (ext专用文件管理系统)
             -t : 修改文件系统类型
             -L : 修改卷标
             -b : 修改block(块)大小,默认4096
             -j : 等同于 -t ext3 
             -i# : 一个inode对应多少字节,默认8192
             -m# : 预留的空间百分比,默认为%5
      (2)、管理文件系统 (重新设定ext文件系统参数值)
         tune2fs
             -l DEVICE : 查看系统块信息 ,其实命令 dumpe2fs -h DEVICE 也能查看设备块(超级块)信息 
             -j : ext2-->ext3
             -L : 修改卷标
             -m#: 修改预留空间百分比
             -o [^]: 开启或关闭指定挂载选项
             -U UUID: 修改UUID值,生成随机UUID命令为uuidgen
        查看指定块设备的属性信息
         blkid 
             -L : 查看卷标名对应的磁盘分区
             -U : 查看UUID对应的磁盘分区
        修复文件分区
            注意: 在进行修复的过程中必须取消挂载状态,不能在线检查修复
         fsck
             -a : 自动修复
             -r : 人机交互式
        专门用于ext文件系统检查
         e2fsck 
             -y : 在修复是自动回答为yes
             -f : 强制进行检查

文件系统的挂载

在创建好文件系统并格式化后怎样去使用它呢,将其挂载到设备文件上我们就可以使用了
(1)、挂载命令
         mount
             -L : 指定卷标名挂在设备
             -U : 以UUID方式挂在设备
             -a : 自动挂载/etc/fstab中的挂载关系
             -n : 挂载时不更新/etc/fstab
             -B --bind : 将目录挂到目录上
             -o [option]:
                        loop : 挂载回环设备,将文件挂到目录上
                        remount : 重新挂载或不卸载重新挂载指定选项
                        acl : 支持使用acl选项
                        user|nouser : 是否允许普通用户挂载此设备
      (2)、卸载
         umount DEVICE 

         当被挂载的文件系统正在使用是不能被卸载的,遇到这种情况我们可以这样解决
             一、查看挂载情况
                     findmnt DEVICE 
             二、查看正在访问文件系统的进程
                     lsof DEVICE  或 fuser -v  DEVICE 
             三、终止正在访问指定的文件系统进程
                     fuser -km DEVICE 
             四、卸载

自动挂载配置文件 (/etc/fstab)

首先我们先打开它看看,是什么样子的
[root@Centos6 ~]#cat /etc/fstab

        UUID=ef20e35d-b3b0-4bb0-a7f0-b6da5f9478ea  /           ext4    defaults        1 1    
        UUID=bad2ae77-157a-4e40-a1c0-8d67af3cc105  /app        ext4    defaults        1 2            
        UUID=90739410-fd0f-4419-900a-2b981300f2d0  /boot       ext4    defaults        1 2    
        UUID=97172ba1-b115-4e5a-b739-8f2b2b309115  swap        swap    defaults        0 0
来解释一下每个字段的含义

 第一字段 : 挂载的设备
             (1)设备文件
             (2)卷标名
             (3)UUID
 第二字段 : 挂载点
 第三字段 : 文件系统类型
             (1)ext2、ext3、ext4等
 第四字段 : 挂载选项
             mount 命令中的选项,默认为default
 第五字段 : 备份频率
             0 : 从不
             1 : 每天
             2 : 每隔一天
 第六字段 : 自检次序
             0 : 不自检,即使有错误在不自检的情况下也不会影响系统正常开机
             1 : 首先自检,通常只有根 "/"才会需要首先自检
             2 : 次级自检,不同设备可以使用同一自检次序

在/etc/fstab文件下实现

1、目录挂载目录
eg : /boot  /mnt/boot  none  bind  0 0
2、文件挂载目录
eg : /app/file  /mnt/boot  ext4 loop  fefault  0 0
3、挂载Windows共享文件
eg : //192.168.x.x/sharefile  /mnt/share  ext4 cifs default ,username=xxx,password=***  0 0

原创文章,作者:M25_ymd,如若转载,请注明出处:http://www.178linux.com/84801

(0)
M25_ymdM25_ymd
上一篇 2017-08-15
下一篇 2017-08-16

相关推荐

  • N28-第二周

    1. Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
    2. bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
    3. 請使用命令行展開功能來完成以下練習:
    (1) 創建/tmp目錄下的a_c、a_d、b_c、b_d。
    (2) 創建/tmp/mylinux目錄下的bin、boot/grub、dev、etc/rc.d/init.d、etc/sysconfig/network-scripts、lib/modules、
    lib64、proc、sbin、sys、tmp、usr/local/bin、usr/local/sbin、var/lock、var/log、var/run目錄。
    4. 如何查看文件的元數據,其信息有哪些,分別表示什麼含意?如何修改文件的時間戳信息?
    5. 如何定義一個命令的別名?如何在命令中引用另一個命令的執行結果?
    6. 顯示/var目錄下所有以L小寫開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
    7. 顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
    8. 顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其他任意長度任意字符的文件或目錄。
    9. 在/tmp目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
    10. 複製/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
    11. 複製/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
    12. 複製/etc目錄下所有以L小寫或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

    Linux干货 2017-12-14
  • 不重启添加硬盘

    添加硬盘后 ls /dev/sd* 不重启添加硬盘 [root@localhost ~]# cd /sys/class/scsi_host/ [root@localhost scsi_host]# ls host0  host1  host2 [root@localhost scsi_host]# echo “- – -”…

    Linux干货 2017-10-21
  • nfs实验

    实验要求: (1) 创建一个共享mydata,路径为/mysql/data,客户端1挂载至/mydata;而后客户端1主机安装mysql或mariadb,将数据目录设定为/mydata,要确保mysql服务能正常 运行,但数据目录位于nfs server上; (2) 客户端2主机使用类似客户端1主机的方式挂载mydata共享至本地的/mydata目录,而后,…

    Linux干货 2016-10-24
  • Linux基础之shell脚本编程(二)

    1、写一个脚本,完成以下功能    (1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;    (2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;    (3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串; &nb…

    Linux干货 2016-11-17
  • 马哥教育网络班20期+第2周课程练习

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。     1、cat:用于连接文件并打印到标准输出设备上,常用来显示文件的内容         命令使用格式     &nb…

    Linux干货 2016-06-23
  • 系统时间与硬件时间

    1. “系统时间”与“硬件时间”    系统时间: 一般说来就是我们执行 date 命令看到的时间,linux系统下所有的时间调用(除了直接访问硬件时间的命令)都是使用的这个时间。    硬件时间: 主板上BIOS中的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根…

    Linux干货 2016-08-05