Linux磁盘探索

1.磁盘的分区

    Fidsk 工具 fdisk -l 可以查看分区情况

    使用Fdisk 设备名称 创建新的分区 

    p 显示分区表

    n 创建新的分区

    d 删除

    id 修改id

    q 放弃退出

    w 保存退出

    但是仅仅这样还不够,必须使用partprob来使计算机识别,之后必须进行格式化,使用指令

    mkfs -t 文件系统类型 设备名称 ,这样格式化完毕,使用mount 设备名称 挂载点,当然也可以使用永久挂载,vim /etc/fstab

LABEL=/    /    ext3 defaults   1   1

2.磁盘配额

    2.1磁盘配额主要分为以下步骤:

    (1)编辑/etc/fstab 将所要进行磁盘配额的分区进行添加进去.

    (2)为了使之生效可以重启也可以执行mount -a

    (3)扫描在做磁盘配额的空间上有那些用户使用了多少空间

         Quotacheck -a -u -g -v -cSdaf

    (4)开始针对用户和组做配额的编辑

         edquota -u username

    (5)激活配置服务

         quotaon 分区文件

    (6)修改开机脚本

     修改/etc/rc.d/rc.local

     2.2磁盘配额脚本例子

     #!/bin/bash

     #####################################

     ###step0:echo the disk for account and choose

     df -h|tail -2

     echo "Please input the partition you want to quota!"

     read -p"Notice!Please choose /dev/sda5 or /dev/sda6:" USERPATITION

     read -p"Please input the user you want to know(user4 or user5)"USERQUOTA

     ####################################

     ###step1:change the file /etc/fstab

     if [$USERPARTITION =="/dev/sda5"];then

     MOUNTDEV="/mnt/5"

     elif[$USERPARTITION =="/dev/sda6"];then

     MOUNTDEV="/mnt/6"

     else

     echo "Sorry,the disk you input is a wrong place,please check again!"

     fi

     if grep $USERPARTITION /etc/passwd &>~/rubbish;then

     echo"Please wait...."

     else

     echo "I'm Sorry!The user you input is not exists!"

     fi

     if grep $USERPARTITION /etc/fstab &>~/rubbish;then

     sed -i 's&$USERPARTITION'.*&'$USERPARTITION' '$MOUNTDEV' auto defaults,usrquota 0 0&' /etc/fstab &>~/rubbish

     else

     echo "$USERPARTITION $MOUNTDEV auto defaults,usrquota 0 0 ">>/etc/fstab &>~/rubbish

     fi

     #####################################

     ###step2:mount all the devices

     mount -a &>~/rubbish

     #####################################

     ###step3:check the quota

     quotacheck -augv &>~/rubbish

     echo "Please define the diskquota for $USERQUOTA & save the changed file"

     edquota -u $USERQUOTA

     sleep 2

     echo "OK!Thank your coroperation!"

     ########################################

     ###step4:quotaon

     quotaon $USERPARTITION &>~/rubbish

     ######################################

     ###step5:Add the auotorunning task

     echo "quotaon $USERPARTITION ">>/etc/rc.d/rc.local

     echo"Ok!The quota has been done!"

3.tune2fs工具

     tune2fs  -j 创建日志

             -J 调整日志选项 

             size= 调整日志大小

             device 调整日志的路径到一个地方

             -c 调整挂载的次数

             -i 调整时间的间隔

             -m 调整保留的块的百分比(-m 10不需要加百分号)

              -l查看某个分区(但是没有dumpe2fs的详细)

4.虚拟内存

    Linux中的swap分区用于模拟物理内存,拟补物理内存的不足.在windows中使用dxdiag可以查看内存的有关情况.在Linux中使用free可以查看物理内存和虚拟内存,同样也可使用top查看内存的信息.

    关于增加虚拟内存

    a.使用分区

    id 82 可以使用fdisk 修改某个分区的id号码称为82就可以了

    格式化命令 mkswap /dev/sda8

    swapon /dev/sda8这样将虚拟内挂载上

    当然以上的修改都是临时的配置,需要修改/etc/fstab 

    /dev/sda8 swap swap defaults 0 0

    init 6

    b.使用文件

    dd if=/dev/zero(零设备文件,特殊文件,另有一个/dev/null空文件,垃圾桶) of=文件 bs=尺寸 mount=数量

    dd if=/dev/zero of=/swapfile bs=1M countt=500

    mkswap /swapfile

    swapon /swapfile

    想要使用永久挂载,还是需要修改文件/etc/fstab

/swapfile swap swap defaults 0 0

5.数据存储

    数据存储的特性:1.效率 要求的效率要高一些2.冗余 

    动态磁盘

    (1)简单卷 可以动态的延伸它的尺寸

    (2)跨区卷 跨越多个磁盘(一般要求成员2-32个成员) 效率一般,没有冗余能力

    (3)带区卷(raid 0卷)(2-32个成员)将数据等分成n份 要求成员的使用空间必须一样的,数据被等分(每一份是64k)同时写入多个成员 效率高 没有冗余 

    (4)镜像卷 2个成员上50%利用率 有一定的冗余,写的效率一般 读取速度比较快,如果有一个磁盘坏掉了,那么将丢失的删除,删除磁盘,在新添加的硬盘上添加镜像

    (5)raid 5卷 要求成员数量3-32 利用率n-1/n 写入慢 读取(正常 快)(不正常 慢) 冗余能力

    在linux中主要支持raid 0 1 5 6 10(是raid 1与raid0 合体)

    硬件raid raid卡(scsi)代价高昂/dev/sd开头

    软raid 一般性能稳定性较为差 /dev/md(multi device)(驱动),使用mdadm命令可以创建Raid磁盘.

6.LVM逻辑卷

    lvm(逻辑卷管理器)动态改变分区大小,这样分区的时候就更为灵活了

    创建  pvcreate   vgcreate    lvcreate

    查看  pvdisplay   vgdisplay   lvdisplay

    改变的大小,物理卷是没有办法进行扩展的,但是其它的都可以

    Vgreduce   vgextend   lvreduce   lvreduce

    移除  lvremove vgremove   pvremove

7.备份

    快照------>>备份(对当时的状态的备份)

    针对逻辑卷做快照

    pvcreate /dev/sdb{9,10}

    vgcreate testvg /dev/sdb{9,10}

    lvcreate -L 300M -n testlv testvg

    mkfs -t ext3 /dev/testvg/testlv

    mount /dev/testvg/testlv /mnt/testlv

    在逻辑卷上存放东西,然后做快照

    lvcreate -L 10M -s -n snapshotlv /dev/testvg/testlv

    mkdir /mnt/snap

    mount -o ro dev/testvg/snapshotlv /mnt/snap

    在挂载快照的过程中尽量就使用ro模式,尽量改变不要超过快照的大小,否则快照就会崩溃.

    做备份

    dump -0u(是零) /dev/testvg/snaplv -f /tmp/dump.19

    假如数据崩溃,模拟,

    umount /mnt/testlv

    lvremove /dev/testvg/snaplv

    lvremove /dev/testvg/testlv

    这样假如说数据崩溃

    mkdir abc 

    restore -r -f /tmp/dump.19

8.压缩 打包

    (1)压缩工具

    (1.1.1)、 zip  

    Zip的格式是 zip 参数 压缩包的名称 源文件列表  例如zip f1 *(f1可以加后缀名字,也可以不加,自动添加)

     zip   -m 删除源文件

          -d 压缩包名称 删除的文件

          -f压缩包中必须有,才能去更新(没有改变就不更新)

          -u压缩包中可以有,如果没有就创建新文件

          -r递归,针对目录下的所有文件也同样放进压缩包中

          -y对于软连接,只存放软连接,对于连接,并不存放其所指向的文件

          -x放在最后,并不包含某些文件

          -0 (数字)存储

          -1(数字)更快的压缩

          -9 更好的压缩

          -c 对于压缩包中的每一项做一个说明

          -z 对于压缩包的所有文件做说明

          -e 加密

    ****例如****

     zip -m f2.zip f3 删除源文件 

     zip -y f1.zip * -x *.zip(这样凡是zip的就都不再压缩到压缩包中了)

     zip -c f9.zip inst*(逐项说明)(.进行结束)

     zip -m -e f11.zip inst*(进行加密)

     ************

    (1.1.2)查看压缩包中的内容 unzip

     unzip  -l 不完整信息

           -v详细信息,可以显示压缩比率

           -t 判断和测试,主要判断该对象在压缩中是否有破坏和损害

    (1.2.1)gzip 

     Gzip与zip的区别是:zip可以实现一对多,但是gzip只能有一个,gzip中只能存放一个文件)

     例如 gzip ins*(可以自动地将源文件删除)

   (1.2.2)gunzip 解压缩

   (1.3.1)bzip2

bzip使用与gzip基本上差不多同样也是一对一,一个压缩包只能存放一个文件

(2)打包工具 

    (2.1)打包工具tar

      tar无压缩能力 一般联合使用:先打包,然后再压缩

      tar 参数 包裹名称 源文件列表

           -c 创建

           -v 显示详细信息

           -f表示这是一个文档------->>>>-cvf(联合使用)

           -t 查看 -->>>>tvf(必须联合使用,不能独自使用)

           -r追加 -->>rvf(同样需要联合使用)

           -u 更新 -->>uvf(同样需要联合使用)

           -x 拆包 -->>xvf(同样联合使用)

           -C(大写)目录 拆分到的目录

           --delete -->>--delete -vf联合使用 

          注意,包裹名称一定要添加上后缀名称,并不会自动添加上去

    例子 

     tar -cvf f12.tar *

     tar -rvf f12 passwd

     假如说,想要让一个文件变成0字节

     cat /dev/null >passwd,之后更新包裹,tar -uvf f12 passwd

     tar -xvf f12 -C 目录 可以指定拆解目录

   (2.2)tar +gzip 使用后,包裹名称为:名称 .tar.gz

   (2.3)tar+bzip2

          tar   -jcvf 名称.tar.bz2   源文件列表 (创建)

               -jxvf (拆包) 

               -jtvf (查看)

   (2.4)与zip联合使用 

          tar   -zcvf 创建

               -zxvf 拆包

               -ztvf 查看

       例如tar -zxvf f13.tar.gz -C /tmp/qq

你可能感兴趣的:(linux,操作系统,职场,休闲,磁盘)