磁盘管理及文件系统

磁盘管理


本文将从以下几方面介绍

第一部分:磁盘管理

  • 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

相关推荐

  • 文本查看、处理工具的应用及组、用户的相关操作

            一、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可      查看已经登录的用户用“who”命令,为了试验我用root多登录了几次。    &nb…

    2017-07-16
  • shell脚本编程入门

    什么是shell脚本,其实,shell脚本就是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与命令(包含外部命令)写在里面,搭配正则表达式、管道命令与数据流重定向等功能等这些命令的组合起来,以达到我们所想要的目的。 程序编程风格有两种: 过程式:以指令为中心,数据服务于指令。 对象式:以数据为中心,指令服务于数据。 过程…

    Linux干货 2016-08-18
  • rsync+inotify 实现数据实时同步

        Rsync (Rmote sync)是一款非常好的数据同步工具,能够通过对比同步双方的数据变动,实现增量同步,还可以通过LAN/WAN实现远程多台主机间文件的同步,还能结合crond任务计划来执行自动备份,又可以结合ssh实现远程数据备份的安全,种种特性使他看起来相当优秀。但如果需备份数据十分庞大时,它的不足之处就显现出来了,比如…

    Linux干货 2015-07-24
  • N22+张zhangzhang+第6周博客作业

    请详细总结vim编辑器的使用并完成以下练习题   vim编辑器是vi编辑器的增强版,是全屏文本编辑器,用于完成文本的输出、删除、查找、替换、块操作等众多功能。一般分三种模式:编辑模式、输入模式、末行模式。 vim各种按键的功能 编辑模式: 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以…

    Linux干货 2016-09-20
  • bash特性及bash脚本编程初步

    bash特性之命令hash 之前我们讲过用户在执行一个命令的时候bash会遍历环境变量$PATH中所有路径来查找执行文件。而命令hash是用来缓存之前用户使用过的命令下次执行的时候直接搜索hash缓存来减少对$PATH变量中路径的遍历次数,从而提高系统运行效率 hash:hash命令     hash:列出 &nbsp…

    Linux干货 2016-12-20
  • 8.2日作业

    8.2作业 1、在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。   先将文件目录的属组变更为g1 ,chmod  g+s /data/testdir/    …

    Linux干货 2016-08-08