有关磁盘管理与文件系统

硬盘物理结构
     扇区  磁头  磁道   柱面   磁道数
     扇区*一个磁道上的扇区个数*磁头数=柱面
     柱面*磁道数=硬盘大小
     一个扇区512字节     最小单位
     单位  C         H            S 
          扇区      柱面       磁盘
MBR
       硬盘中的前512字节,第一个扇区,以55aa结束的认为是有分区的,没有则认为无。
GPT
     硬盘前512字节模拟MBR创造一个分区,以55aa结束。
 
Hexdump   将二进制文件转换成十六进制或八进制显示
dd        转换或者辅助一个文件。
Fdisk     操作硬盘分区或分区表
      /dev/sdX 查看硬盘分区信息
      -c (centos6) 打开或禁用dos模式
      -u  (centos6) 切换显示的单位(扇区/柱面)
      -c (centos7) -c=dos -c=nondos
      -u  (centos7)  -u=cylinders  -u=sectors
      fdisk /dev/sdX  进行分区
      m 帮助
      n 建立分区
      d 删除分区
      p 显示分区信息
      t 转换分区类型
      a 将指定分区设置/取消 活动分区
      L 查看分区类型
      o 重建分区表
      v 验证分区表,显示剩余没有被分区划分的扇区数量
      g 创建GPT格式的分区(centos7)
      q 退出不保存
      w 退出并保存,不保存,所有的修改都不生效

Sync      强制同步yingpan数据
echo ‘- – -’ > /sys/class/scsi_host/host0/scan
scan   内存通信设备    传输信号 加载硬盘。
Lsblk     列出块设备,分区列表
 cat /proc/partitions
查询内存中存储的 磁盘信息
parted /dev/sdX
    mklabel msdos/gpt
    help
    mkpart
parted /dev/sdX mkpart primary 1 1000    难用 !!!
gdisk   操作方式与fdisk相似 
partprode  当对系统所在的硬盘进行分区修改操作后,内存不会重读分区表,需要使用partprobe强制重读,centos6  有bug。
partx -a /dev/sdX  向内存中增加分区更新
partx  -a  –nr   【N-M】 /dev/sdX  从内存中删除分区更新
mkfs.ext4 /dev/sdb1 
mkfs -t extX/xfs/btrfs/vfat  /dev/sdX
mke2fs -t extX  /dev/sdX 
 与磁盘添加文件系统。
blkid  查看所有的块设备
          -L  LABEL  用卷名查找块设备
          -U  UUID   用UUID查找块设备   
mkfs  创建文件系统
     -L   创建时设置卷标
     -t     创建时文件系统
     -b     块设备大小
     -m     管理员预留空间
     -o       调整文件系统的默认挂载选项,
     -U     指定UUID号
     -g     块组  设置
mke2fs    专用来创建ext格式类型的文件系统的命令。
     -t     文件系统类型 ext2、ext3、ext4
     -m     管理员预留大小
     -g     块组设置
tuen2fs   -l   显示详细的超级快信息
               -L  设置卷标
               -o

findfs
    指定LABEL或UUID显示分区名
tune2fs /dev/sda10  修改文件系统信息
    -l 显示文件系统信息(与dumpe2fs -h 信息基本一致)
dumpe2fs /dev/sda10  查看文件系统信息:superblock信息及block group信息
    -h 不显示block group而只显示superblock 与tune2fs -l一致
fsck/e2fsck 先卸载再修复
    -t filetype
    -f 强制修复
    -y 非交互式
    -r 交互式
    -p 自动修复
mount 设备名 挂载点
    -t 指定文件系统类型
    -r 只读挂载
    –remount,ro|rw  也会新/etc/fstab中的选项,如果与指定的冲突,则remount后指定的优先。
    -n 隐藏挂载信息不显示,但在/proc/mounts可以查到
    -a 读取/etc/fstab,挂载其中没有挂载的设备
    -L ‘LABEL’: 以卷标指定挂载设备
  -U ‘UUID’: 以UUID指定要挂载的设备
    -B –bind 目录挂目录
    -o 选项
        sync,async 同步,异步(defaults)
        atime(defaults),noatime  是否在读访问时更新atime
        diratime(defaults),nodiratime
        auto(defaults)/noauto 写在/etc/fstab当中的分区,是否在mount -a时被挂载
        exec(defatuls)/noexec 在该分区所挂载的目录中的脚本是否可以执行。
        dev(defaults)/nodev:是否支持在此文件系统上使用设备文件
        suid(defaults)/nosuid:不否支持suid和sgid权限
        remount:重新挂载
        ro:只读
        rw:读写(defaults)
        user/nouser(defaults):是否允许普通用户挂载此设备,默认管理员才能挂载
        acl:启用此文件系统上的acl功能

        defaults 默认,见以上中的(defaults)

有关磁盘管理与文件系统

这是一个有关磁盘的脚本

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

(0)
上一篇 2017-08-19 20:42
下一篇 2017-08-19 21:23

相关推荐

  • Docker 之初次体验

    一、Docker 简介  lxc linux container,openvz  容器中各虚拟机只有一个内核,而是多个用户空间  在库中完成虚拟化,比如wine 或者在windows中运行bash  在应用程序的运行级别提供虚拟化,比如jvm   pstree , pid 为1 的进程  …

    Linux干货 2017-02-24
  • linux 软件包管理

    1、Linux软件包管理 Redhat, SUSE: RPM Redhat Package Manager PRM is Package Manager 前端工具:yum, apt-get 后端工具:RPM, dpt   2、rpm: 数据库:/var/lib/rpm  rpm包: 软件包作者下载源程序,编译配置完成后,制作成rpm包 格…

    Linux干货 2017-08-06
  • 快速运用NFS共享web页面

    环境:centos7.3最小化三台,前期准备关闭防火墙和selinux 目的:通过文件共享,使客户端访问web服务器时是同样的页面。 拓扑图: 优势:减少WEB服务器的压力。 一、安装软件 NFS、WEB1、WEB2: #yum install nfs-utils -y WEB1、WEB2: #yum install httpd -y 二、配置 NFS: #…

    2017-04-27
  • 网络配置——CentOS7

    CentOS 7 网络属性配置 使用传统命名方式: (1) 编辑/etc/default/grub 配置文件 GRUB_CMDLINE_LINUX ="rhgb quiet net.ifnames=0" 或:修改/boot/grub2/grub.cfg (2) 为grub2 生成其配置文件 grub2-mkconfig -o /etc/g…

    Linux干货 2016-09-11
  • 用户管理

    用户管理 用户通过uid来识别,用户的uid是全局唯一,Linux用户分三大类: 用户类别可以分为 管理员 系统用户 普通用户 ——管理员的id为0,系统用户的id为1-499,一般用户的id为500- 组也是一样(centos6.9和centos7.3 id编号有所不同)上述是centos6.9的id编号。 管理员账户:root,可…

    2017-06-01
  • shell脚本的练习

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态  在线的主机使用绿色显示  不在线的主机使用红色显示 #!/bin/bash for i in {1..254};do { ip=…

    2017-09-17