欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

linux 操作系统之磁盘管理

程序员文章站 2022-05-18 17:22:45
磁盘管理 存储设备:硬盘 , U盘 , 移动硬盘 , 光盘 , 软件。 组装一台电脑 无法被修改 df -h #查看磁盘分区的情况 , 可用的。 查看磁盘或者目录的内容 df “df” 常用的 “-i” , “-h” , “-k” , “-m” 等 文件系统 容量 已用 可用 已用%% 挂载点 /d ......

磁盘管理

  存储设备:硬盘 , u盘 , 移动硬盘 , 光盘 , 软件。

  组装一台电脑

  无法被修改

 

  df -h #查看磁盘分区的情况 , 可用的。

  

  查看磁盘或者目录的内容

    df “df” 常用的 “-i” , “-h” , “-k” , “-m” 等

    文件系统       容量    已用    可用    已用%%    挂载点

    /dev/sda3      14g    1.5g    12g    11%      /

    tmpfs        160m    0     160m    0%      

    /dev/shm      

    /dev/sda1      97m    27m    66m    29%      

    /boot

    

    “du”是用来查看某个目录或者文件所占空间大小

 

    语法:du[-abckmsh] [文件或者目录名] 常用的参数有:

    如果du不指定单位的话 , 默认显示单位k.

    "-b" 列出的值以bytes为单位输出.

    "-k"以kb为单位输出 , 和默认 不加任何选项的输出值是一样的.

    "-m"以mb为单位输出.

    "-h"系统自动调节单位 , 列入文件太小可能就几k , 那么就以k为单位显示 , 如果大到几g , 则就以g为单位显示.

    du -hc[目录] #列出目录下的所有文件的大小 , 列出总和.

    du-hs[目录] #列出总大小.

  磁盘的分区与格式化

    fdisk -l #查看分区

    fdisk /dev/sdb  #分区

    m #查看帮助

    n #新建分区

    +1g #简单写

    w #保存分区

    d #删除分区;

    q #退出

  格式化磁盘分区

    命令: mke2fs , mkfs.ext2 , mkfs.ext3 , mkfs.ext4

    '-b' 分区时设定每个数据区块占用空间 , 目前支持 1024 , 2048 , 以及4096 bytes每个块. , 

    '-i' 设定inode的大小.

    '-n' 设定inode数量 , 有时使用默认的inode数不够用 , 所以要自己设定inode数量.

    '-c' 在格式化前先检测一下磁盘是否有问题 , 加上这个选项后会非常慢.

    '-l' 预设该分区的标签label

    '-j' 建立ext3 格式的分区 , 如果使用 mkfs.ext3 就不用这个选项了

    '-t' 用来指定什么类型的文件系统  , 可以是ext2 , ext3 , 也可以是 ext4

    mke2fs -t ext4 /dev/sdb5

    mke2fs -t ext4 /dev/sdb5

 

  挂载卸载磁盘

    mount #查看挂载详情

    mount /dev/sdb1 /www #挂载分区到某个目录

    demsg |tail #不能完成挂载 , 可以查看 

    umount /www #卸载挂载的磁盘

 

    

    cat /etc/fstab #查看开机启动的挂载详情 , 我们可以自己编写一行 , 来实现

    mount -t ext4 /dev/sdb5 /newdir #-t自动识别

    mount -o remount ,ro , sync , noauto , /dev/sdb5 /newdir

 

    /dev/sdb1  /avi  ext4   defaults    0 0

   

  第一列就是分区的标识 , 可以写分区的label , 也可以写分区的uuid , 当然也可以写分区名(/dev/sda1);

 

  第二列时挂载点;

  第三列是分区的格式;

  第四列则是mount的一些挂载参数 , 一般情况下写defaults即可.

  第五列的数字表示是否被dump备份 , 是的话就是1 , 否则就是0;

  第六列是开机时是否自检磁盘 . 1 , 2都表示检测 , 0 表示不检测,

  在redhat/cenntos中  , 这个1,2还有说法 , / 分区必须设为1, 而且整个fstab 中只允许出现一个1 , 在这里有一个优先级的说法 , 1比2优先级高 , 所以先检测1 ,然后再检测2 , 如果有多个分区需要开机检测那么都设置成2 吧 , 1 检测完了后会同时去检测2.

 

  下面概述一下第四列常用的参数

    "async/sync":async表示和磁盘和内存不同步 , 系统每隔一段时间把内存数据写入磁盘中 , 而sync则会时时同步内存和磁盘中数据;

  "auto/noauto": 开机自动挂载/不自动挂载;

  "default":按照大多数永久文件系统的缺省值设置自动挂载定义 , 它包含了rw , suid ,dev , exec , auto , nouser , async.

  "ro " : 按只读可写权限挂载;

  "rw": 按可读可写权限挂载;

  "exec/noexec" : 允许/不允许可执行文件执行 , 但千万不要把跟区分挂载为noexec , 那就无法使用系统了 , 连mount命令都无法使用了 , 这时只有重新做系统了.

  "user/nouser": 允许/不允许root外的其他用户挂载分区 , 为了安全考虑 , 请用nouser;

  "suid/nosuid":允许/不允许区分有suid属性 , 一般设置nosuid;

  "usrquota": 启动使用者磁盘配额模式.

  "grquota" : 启动群组磁盘配额模式.

  

  swap

    dd id=/dev/zero  of=/tmp/newdisk  bs=4k

    count=102400  

    mkswap   -f  /tmp/newdisk

    free   -m