• Linux磁盘管理


    磁盘管理

    一. 文件系统挂载

    二. 查看磁盘空间

    三. 逻辑卷管理

    五. 制作镜像文件

    六. 磁盘配额

    七. 数据打包与压缩

    磁盘接口IDESCSISATA

    文件系统:是一种对物理空间的组织方式,通常在格式化硬盘时创建。它定义了储存文件的方法和数据结构。

    WindowsFAT16FAT32 NTFS

    Swap:交换分区,大小取决于物理内存和硬盘空间。一般应大于物理内存,但目前不能超过2GB

     

    一. 文件系统挂载: mountumount

    1mount命令(手动挂载)

    语法mount  [选项]  [设备]  [挂载点]     例子:mount  /dev/sdb  /my/usb

    功能:将设备挂载到挂载点处,设备是指要挂载的设备名称,挂载点是指文件系统中已经存在的一个目录名。mount命令的选项及其含义见下表。

    -t <文件系统>

    -o <选项>

    Ext4/xfs

    Linux目前常用的文件系统

    ro

    以只读方式挂载

    msdos

    Ms-dos的文件系统,即FAT16

    rw

    以读写方式挂载

    vfat

    FAT32

    Remount

    重新挂载已挂载的设备

    Iso9660

    CD-ROM光盘标准文件系统

    User

    允许一般用户挂载设备

    ntfs

    NTFS文件系统

    nouser

    不允许一般用户挂载设备

    atuo

    自动检测文件系统

    codepage=xxx

    代码页

    swap

    交换分区文件系统

    iocharset=xxx

    字符集

    实例4-1  文件系统挂载

    第1步:使用fdisk命令查看磁盘的分区情况,主要是看设备(如/dev/sda)与文件系统之间的对应关系

    第2步:使用mkdir/mnt/目录下创建挂载点 

    第3步:使用mount将设备/dev/sdc1U盘)挂载到/mnt/usb目录下

     

    注意:

    (1)Linux会将USB设备识别为第一个没有被硬盘占用的SCSI设备,即如果系统中有一块SCSI硬盘的话(sda),USB会被识别为第2SCSI设备,即sdb

    2)光盘为/dev/cdrom

    2umount命令

    语法:umount  [选项]  [设备]  [挂载点]      举例: umount /my/usb

    注意:

    1)卸载时,当前目录不能在挂载点中,既在当前目录是被挂载设备所在目录时,即便没有对该设备读写,也不允许卸载。

    2)在使用umount卸载光驱之前,按下光驱的出仓按钮不会有任何反映。如果卸载时提示设备正忙,表明有进程正在用该光驱,用下列方法卸载:

      fuser –m –v /mnt/cdrom     //查看哪个进程正在使用光盘

      fuser –k /mnt/cdrom        //自动杀死占用cdrom的进程

      umount /mnt/cdrom         //重新卸载

    3/etc/fstab文件(系统启动时挂载)

    /etc/fstab文件内容如下:

    最后一列:用来指定如何使用fsck检查硬盘。如果为0,不检查;挂载点为/,值为1,其他都不能写1。如何有分区些值大于1,则检查完根分区后,接着按填写的数字从小到大依次检查,相同数字的同时检查。

     

    二. 查看磁盘空间:dfdu

    1df命令

    语法:df  [选项]  [设备或文件名] 

    功能:收集或整理当前已经挂载的全部文件系统的一些统计数据。

    实例4-2  磁盘空间的查看

    其他示例如下:

    # df  -i //inode模式来显示磁盘使用情况

    # df  -t  ext3 //显示指定类型磁盘

    # df  -ia //列出各文件系统的i节点的使用情况

    # df  -T //列出文件系统的类型

    2dudisk usage)命令

    语法:du  [选项]  [Names…]

    功能:统计目录(或文件)所占磁盘空间的大小,显示磁盘空间的使用情况

    示例如下:

    # du  -hs  Names

    # du  -ha  Names //文件和目录都显示

    # du  -h  --max-depth=1 //输出当前目录下各个子目录所使用的空间

    # du | sort  -nr | less //按照空间大小排序

    5.3  查看块设备(包括交换分区)的文件系统类型:blkid

    语法:blkid  [选项]  [设备名]

    功能:显示当前系统中所以已挂载文件系统的类型

    [root@localhost 桌面]# blkid //列出当前系统中所以已挂载文件系统的类型

    /dev/sda2: LABEL="rhel7" UUID="50ce223f-a1c2-4b6c-9288-448cb9ed34e8" TYPE="xfs" 

    /dev/sda3: UUID="a7a028b9-1f6f-4261-ab4d-d2333b7de75f" TYPE="ext4" 

    /dev/sda4: UUID="5A54CD0554CCE53B" TYPE="ntfs" 

    /dev/sda5: LABEL="TOOLS" UUID="997E-50D2" TYPE="vfat" 

    /dev/sda6: LABEL="DATA" UUID="E63D-7941" TYPE="vfat" 

    /dev/sda7: LABEL="SCHOOL" UUID="0A27A8791083E690" TYPE="ntfs" 

    /dev/sda8: UUID="904a2335-0e3c-42d2-bc15-2438cea2c044" TYPE="ext3" 

    /dev/sda9: UUID="9f98fd30-78db-475b-b68c-e27ba673bdfc" SEC_TYPE="ext2" TYPE="ext3" 

    /dev/sda12: UUID="59a9499f-4e9a-4d44-b152-03a14db6bc33" TYPE="ext3" 

    /dev/sda13: UUID="8295c378-3cc4-4503-a754-d37d359170eb" TYPE="swap"

    示例如下:

    # blkid  /dev/sda1 //查看/dev/sda1设备所采用的文件系统类型

    # blkid  -s  UUID  /dev/sda5 //显示指定设备UUID

    # blkid  -s  UUID //显示所有设备UUID

    # blkid  -s  LABEL  /dev/sda5 //显示指定设备LABEL

    # blkid  -s  LABEL //显示所有设备LABEL

    # blkid  -s  TYPE //使用TYPE标签,查看所有设备文件系统

    # blkid  -o  device //显示所有设备

    # blkid  -o  list //以列表方式查看详细信息

    5.4  实例:安装硬盘和分区

    要求:在当前系统增加一张SCSI硬盘,并在其上划分三个主分区,分区1和分区3的文件系统为ext3,分区2为交换分区。

    1:增加硬盘后用ls查看该设备被系统识别为第几块硬盘。

    2:使用fdisk建立分区表

    语法:

    fdisk  [选项]  <磁盘>      //更改分区表

    fdisk  [选项]  -l <磁盘>     //列出分区表

    fdisk -s  <分区>            //给出分区大小(块数)

    功能:分割硬盘工具,查看硬盘分区信息。

     

    3:建立文件系统

    1)使用mkfs建立文件系统xfs

    语法:

    Mkfs -t  [fstype]  <分区>   

    功能:格式化指定的分区。

    #mkfs –t xfs /dev/sdb1          //把该设备格式化成xfs文件系统

    # mkfs.ext3  /dev/sda4 //把该设备格式化成ext3文件系统 

    # mkfs.ext4  /dev/sda4 //把该设备格式化成ext4文件系统 

    # mke2fs  -j  /dev/sda4 //把该设备格式化成ext3文件系统 

    # mkfs.reiserfs  /dev/sda4 //把该设备格式化成reiserfs文件系统

    # mkfs.vfat  /dev/sda4 //把该设备格式化成fat32文件系统 

    # mkfs.msdos  /dev/sda4 //把该设备格式化成fat16文件系统 

    # mkdosfs  /dev/sda4 //把该设备格式化成fat16文件系统

    #mkfs .xfs  –f  /dev/sdb1        //把该设备重新格式化成xfs文件系统

    2)使用fsck检查文件系统

    语法:

    fsck  [选项  [文件系统]   

    功能:检查文件系统并尝试修复错误,可同时检查一个或多个文件系统。

    文件系统扫描工具有:fsck.ext2fsck.ext3fsck.ext4fsck.xfsfsck.btrfsfsck.msdosfsck.vfatfsck.fatfsck.minixfsck.cramfsfsck.gfs2。最好根据文件系统来调用不同的扫描工具。

    # fsck.xfs  -p  /dev/sda8 //扫描并自动修复

    注意:一定要把设备umonut后进行,否则会造成文件系统的损坏。

    3)测试分区

    将建立的文件系统挂载到相应的目录下,看是否能正常工作

    按同样的方法在分区3建立xfs文件系统

    4)使用mkswap创建并激活交换分区

    语法:

    mkswap  [选项  设备 [大小]   

    功能:将磁盘分区或文件设为linux的交换区。

    # mkswap  /dev/sda8 //创建此分区为swap交换分区

    # swapon  /dev/sda8 //加载交换分区

    # swapoff  /dev/sda8 //关闭交换分区

    # swapon  -s //列出加载的交换分区

    5)配置fstab文件

    在fstab文件加入下面几行,让系统在启动时自动加载文件系统

    /dev/sdb1   /mnt/web  xfs   defaults 0 2

    /dev/sdb3   /mnt/ftp   xfs   defaults 0 2

    /dev/sdb2   swap     swap  defaults 0 0

    6重新启动系统

    如果某个系统出了问题,系统将不能正常启动,而是引导进行救援模式。按下面步骤解决:

    ①提供root口令,以root身份登录系统

    ②使用fsck检查并试图修复受损的文件系统

    ③如果问题依然存在,运行mkfs重新在分区上建立文件系统

    ④不太幸运的话,可能要使用fdisk重新建立分区表。

     

    5.5  逻辑卷管理

    5.5.1 逻辑卷管理概述

    逻辑卷管理器LVMLogicl Volume Manager),通过使用逻辑卷管理器对硬盘存储设备进行管理,可以实现硬盘空间的动态划分和调整。

    5.5.2  逻辑卷管理组成部分

    逻辑卷管理由三部分组成:物理卷、卷组、逻辑卷。

    物理卷(PV):在逻辑卷管理最底层,可以是实际物理硬盘上的分区,也可以是整个物理硬盘。

    卷组(VG):建立在物理卷上,一个卷组中至少包括一个物理卷,在卷组建立后可动态添加物理卷到卷组中。

    逻辑卷(LV):建立在卷组之上,卷中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可动态扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

    图6-1  逻辑卷管理的组成

    5.5.3  实例:在硬盘sda上创建逻辑卷,大小100M,然后把其大小扩展到200M,然后再缩小到150M

    1步:首先使用fdisk -lblkid命令确定哪些分区空白

    执行fdisk -l命令。下面是笔者电脑上的分区情况,读者一定要根据自己的具体情况判断。

    [root@localhost 桌面]# fdisk –l

    磁盘 /dev/sda1000.2 GB, 1000204886016 字节,1953525168 个扇区

    Units = 扇区 of 1 * 512 = 512 bytes

    扇区大小(逻辑/物理)512 字节 / 512 字节

    I/O 大小(最小/最佳)512 字节 / 512 字节

    磁盘标签类型:dos

    磁盘标识符:0xf0b1ebb0

    设备      Boot  Start         End         Blocks    Id  System

    /dev/sda1       110318355  1953520064   921600855    f  W95 Ext'd (LBA)

    /dev/sda2        69353472   110313471    20480000   83  Linux

    /dev/sda3        28386855    69352604    20482875   83  Linux

    /dev/sda4   *          63    28386854    14193396    7  HPFS/NTFS/exFAT

    /dev/sda5       110318418   171766979    30724281    b  W95 FAT32

    /dev/sda6       171767043   233215604    30724281    b  W95 FAT32

    /dev/sda7       233215668   438028289   102406311    7  HPFS/NTFS/exFAT

    /dev/sda8       438028353   642840974   102406311   83  Linux

    /dev/sda9       642841038  1052450279   204804621   83  Linux

    /dev/sda10     1052450343  1462059584   204804621    b  W95 FAT32

    /dev/sda11     1462059648  1871668889   204804621    b  W95 FAT32

    /dev/sda12     1871668953  1873725209     1028128+  83  Linux

    /dev/sda13     1873725273  1875781529     1028128+  82  Linux swap / Solaris

    /dev/sda14     1875781593  1953520064    38869236    b  W95 FAT32

    执行blkid命令

    [root@localhost 桌面]# blkid

    /dev/sda2: LABEL="rhel7" UUID="50ce223f-a1c2-4b6c-9288-448cb9ed34e8" TYPE="xfs"

    /dev/sda3: UUID="a7a028b9-1f6f-4261-ab4d-d2333b7de75f" TYPE="ext4"

    /dev/sda4: UUID="5A54CD0554CCE53B" TYPE="ntfs"

    /dev/sda5: LABEL="TOOLS" UUID="997E-50D2" TYPE="vfat"

    /dev/sda6: LABEL="DATA" UUID="E63D-7941" TYPE="vfat"

    /dev/sda7: LABEL="SCHOOL" UUID="0A27A8791083E690" TYPE="ntfs"

    /dev/sda8: UUID="904a2335-0e3c-42d2-bc15-2438cea2c044" TYPE="ext3"

    /dev/sda9: UUID="9f98fd30-78db-475b-b68c-e27ba673bdfc" SEC_TYPE="ext2" TYPE="ext3"

    /dev/sda12: UUID="59a9499f-4e9a-4d44-b152-03a14db6bc33" TYPE="ext3"

    /dev/sda13: UUID="8295c378-3cc4-4503-a754-d37d359170eb" TYPE="swap"

    由上可知:/dev/sda10/dev/sda11/dev/sda14是空白分区。

    2步:在磁盘分区上建立物理卷

    # pvcreate  /dev/sda14 //在已经建立好的分区或硬盘上建立物理卷

      Physical volume "/dev/sda14" successfully created

    # pvdisplay | pvs //查看系统中已经创建的物理卷

      PV VG Fmt Attr PSize PFree

      /dev/sda14 lvm2 a-- 37.07g 37.07g

    3步:使用物理卷建立卷组

    # vgcreate  MYVG  /dev/sda14 //建立卷组,日后可以根据需要添加新的物理卷到已有卷组中

      Volume group "MYVG" successfully created

    # vgdisplay | vgs //查看系统中已经创建的卷组

      VG #PV #LV #SN Attr VSize VFree

      MYVG 1 0 0 wz--n-  37.07g 37.07g

    4步:在卷组中建立逻辑卷

    # lvcreate -L 00M -n mylv1 MYVG //从已有卷组建立逻辑卷,通常只分配部分空间给该逻辑卷

      Logical volume "mylv1" created

    # lvdisplay | lvs //查看系统中已经创建的逻辑卷

      LV VG Attr LSize Pool Origin Data%  Move Log Cpy%Sync Convert

      mylv1 MYVG -wi-a----- 100.00m

    查看MYVG-mylv1。

    [root@localhost 桌面]# fdisk  -l

    磁盘 /dev/sda1000.2 GB, 1000204886016 字节,1953525168 个扇区

    Units = 扇区 of 1 * 512 = 512 bytes

    扇区大小(逻辑/物理)512 字节 / 512 字节

    I/O 大小(最小/最佳)512 字节 / 512 字节

    磁盘标签类型:dos

    磁盘标识符:0xf0b1ebb0

    设备      Boot  Start         End         Blocks    Id  System

    /dev/sda1       110318355  1953520064   921600855    f  W95 Ext'd (LBA)

    ……

    /dev/sda14     1875781593  1953520064    38869236    b  W95 FAT32

    磁盘 /dev/mapper/MYVG-mylv1104 MB, 104857600 字节,204800 个扇区

    Units = 扇区 of 1 * 512 = 512 bytes

    扇区大小(逻辑/物理)512 字节 / 512 字节

    I/O 大小(最小/最佳)512 字节 / 512 字节

    5步:在逻辑卷上建立文件系统

    [root@localhost 桌面]# mkfs.xfs  /dev/mapper/MYVG-mylv1

    mke2fs 1.42.9 (28-Dec-2013)

    文件系统标签=

    OS type: Linux

    块大小=1024 (log=0)

    分块大小=1024 (log=0)

    Stride=0 blocks, Stripe width=0 blocks

    25688 inodes, 102400 blocks

    5120 blocks (5.00%) reserved for the super user

    第一个数据块=1

    Maximum filesystem blocks=67371008

    13 block groups

    8192 blocks per group, 8192 fragments per group

    1976 inodes per group

    Superblock backups stored on blocks:

    8193, 24577, 40961, 57345, 73729

    Allocating group tables: 完成

    正在写入inode完成

    Creating journal (4096 blocks): 完成

    Writing superblocks and filesystem accounting information: 完成

    6步:将文件系统挂载到Linux系统的目录树中

    [root@localhost 桌面]# mkdir  /mnt/lv

    [root@localhost 桌面]# mount  /dev/mapper/MYVG-mylv1  /mnt/lv

    [root@localhost 桌面]# df

    文件系统 1K- 已用 可用 已用% 挂载点

    /dev/sda2 20469760 6099580 14370180 30% /

    devtmpfs 928616 0 928616 0% /dev

    tmpfs 937488 140 937348 1% /dev/shm

    tmpfs 937488 9112 928376 1% /run

    tmpfs 937488 0 937488 0% /sys/fs/cgroup

    /dev/sda8 99139188 85969004 8033488 92% /opt

    /dev/sda12 995544 434568 493188 47% /boot

    /dev/sda6 30709264 6854432 23854832 23% /run/media/root/DATA

    /dev/loop0 4138442 4138442 0 100% /cdrom/iso

    /dev/mapper/MYVG-mylv1 95054 1567 86319 2% /mnt/lv 

    [root@localhost 桌面]#

    7步:将/dev/mapper/MYVG-mylv1扩展到200M

    [root@localhost 桌面]# lvextend  -L  200M  /dev/mapper/MYVG-mylv1

      Extending logical volume mylv1 to 200.00 MiB

      Logical volume mylv1 successfully resized

    [root@localhost 桌面]# df

    文件系统 1K- 已用 可用 已用% 挂载点

    /dev/sda2 20469760 6099580 14370180 30% /

    ……

    /dev/mapper/MYVG-mylv1 95054 1567 86319 2% /mnt/lv

    [root@localhost 桌面]# resize2fs  /dev/mapper/MYVG-mylv1   //重新设置xfs文件系统大小

    resize2fs 1.42.9 (28-Dec-2013)

    Filesystem at /dev/mapper/MYVG-mylv1 is mounted on /mnt/lv; on-line resizing required

    old_desc_blocks = 1, new_desc_blocks = 1

    The filesystem on /dev/mapper/MYVG-mylv1 is now 204800 blocks long.

    [root@localhost 桌面]# df

    文件系统 1K- 已用 可用 已用% 挂载点

    /dev/sda2 20469760 6099580 14370180 30% /

    ……

    /dev/mapper/MYVG-mylv1 194466 1567 181807 1% /mnt/lv

    [root@localhost 桌面]# ls  /mnt/lv

    lost+found

    8步:/dev/mapper/MYVG-mylv1缩小到150M

     

    # resize2fs  /dev/卷组/逻辑卷名  size[KB,M,G] //先缩小ext2/ext3文件系统大小

    # e2fsck  -f  /dev/卷组/逻辑卷名 //再执行上步指令

    # lvreduce  -L  size[KB,M,G]  /dev/卷组/逻辑卷名

    5.5.4  卷组的拉升与清除LVM

    1、扩展卷组

    1)创建物理卷

    2)扩展卷组

    Vgextend  <卷组名>  <物理卷名>

    2、清除卷组

    1)先卸载逻辑卷

    2)删除逻辑卷  (lvremove <逻辑卷名>

    3)删除卷组   (vgremove <组名>

    4)删除物理卷  (pvremove <物理卷名>

    5)删除物理分区

     

    5.6  制作镜像文件:dd

    dd命令是一个功能强大的copy命令,支持在拷贝文件的过程中转换文件格式,并且支持指定范围的复制。dd命令的各个参数及其功能见表4-15。

    共3步:制作、使用磁盘镜像文件

    # dd  if=/dev/zero  of=/root/disk.img  bs=1M  count=100 //制作磁盘镜像文件

    # mkfs.ext3  /root/disk.img //格式化

    # mount  -o  loop  /root/base.img  /mnt/img //挂载镜像文件

     

     

    5.7  文件系统的备份与还原:dumprestore

    1.dump命令

    功能:dump为备份文件系统工具程序,可将目录或整个文件系统备份至指定的设备中。

    yum install dump    //安装该工具程序

    备份分为10级,0:备份级别为完全备份,1级备份会保存自执行0级备份以来更新过的所有文件;2级备份会保存自执行1级备份以来更新过的所有文件,以此类推。

    实例:在硬盘sdbsdb1上创建文件系统ext3,并把其挂载到/mnt/web下,在sdb1上创建一个目录test和一个文件test.txt,然后将其完全备份到/tmp下。过段时间以后,把sdb1上变化的数据进行增量备份

    第一步: # dump  -0S  /dev/sdb1         //完整备份/dev/sdb1前统计一下需多大容量

    第二步:#dump  -0u  -f  /tmp/boot.dump  /mnt/web  ///dev/sdb1完全备份到/tmp/boot.dump中,并更新/etc/dumpdates数据库文件

    第三步:#ls –l /tmp/boot.dump             //查看备份的文件boot.dump的属性

    第四步:#cat /etc/dumpdates                 //查看在/etc/dumpdates中备份信息

    第五步:#dump –W    

    //显示需要备份的文件及最后一次备份的层次、时间与日期假如过段时间,sdb1中增加了新的数据,则进行增量备份

    #dump -1u –f  /tmp/boot1.dump  /mnt/web     //只备份完全备份后有变化的文件示例如下:

    2.restore命令

    示例如下:

    # restore  -t  -f  boot.dump //用 restore 观察 dump 后的备份数据内容。-t参数是查看的意思,-f是指定要查看的备份文件。通过以上命令,就可以查看备份文件中备份了哪些文件

    # restore  -C  -f  /tmp /boot.dump //比较差异并且还原整个文件系统

    # restore  -i  -f  /tmp /boot.dump //如果只是一部分数据丢失了,那么可以使用参数-i通过交互方式来实现文件的选择性还原

        # restore  -r  -f  /tmp /boot.dump //全部还原

           

             

    5.8  磁盘配额

    5.8.1  相关命令:quotaquotacheckedquotaquotaonquotaoff

    quota要使用的命令有两种:一种用于查询功能,包括quotaquotacheckquotastatsrepquotawarnquota;另一种用于编辑quota的内容,包括edquotasetquota

    1. quota命令

    语法:quota  [-uvsl]  [username]  quota  [-gvsl]  [groupname]

    1# quota  -guvs //显示root用户的quota限制值

    2# quota  -vs  -u  ztg //显示ztg用户的磁盘配额

     

    2. quotacheck命令

    语法:quotacheck  [-avug]  [/mount_point]

    1# quotacheck  -avug //将所有在/etc/mtab内,含有quota支持的分区进行扫描

    2# quotacheck  -avug  -m //强制扫描已挂载的文件系统

       

    3. edquota命令

    语法:edquota  [-u username]  [-g groupname]  //设置username的限制值

    或 edquota  -t                      //修改宽限时间 

    或 edquota  -p  user1  -u  user2        //user1的限制值复制给user2

     

    4. quotaon命令

    语法:quotaon  [-avug]]  quotaon  [-vug]  [/mount_point]

    例:# quotaon  -auvg     启动所有具有quota的文件系统

    5. quotaoff命令

    语法:quotaoff  [-a]  quotaoff  [-ug]  [/mount_point]

    5.8.2  实例实现磁盘限额

    实例  实现磁盘限额

    问题描述:将/dev/sdb1分区挂载在/mnt/quota下,在/mnt/quota目录中对用户(mahuizhangsan,这两个用户都在workgroup群组里)实行磁盘空间的配额限制。

    1步:修改/etc/fstab文件

                 

      修改/etc/fstab文件

    2步: #mount –a加载文件系统

    3步:#mount –o remount /mnt/quota重新加载文件系统

    4步:# quotacheck  /mnt/quota

    # quotacheck -g /mnt/quota   //生成aquota.useraquota.group文件

                  

      生成aquota.useraquota.group文件

    5步:为用户设置磁盘空间限额

    使用edquota来编辑每个用户或组群的可用磁盘空间,如下图所示,执行 “edquota mahui”,打开一个vi窗口,为用户mahui设置磁盘空间的限额,如下所示

     

    执行 “edquota -p mahui zhangsan”,将mahuiquota限制值复制给zhangsan用户(mahuizhangsan用户有相同的磁盘限额)

    执行 “edquota -t”,设置宽限时间,如下所示

    预设的宽限时间7天,读者可以根据具体情况进行设置。

    执行 “edquota –vu mahui  zhangsan”, 显示mahui  zhangsan用户的磁盘配额。 

    6步:为组群(workgroup)设置磁盘空间限额

    组群workgroup包含两个用户mahuizhangsan

    执行 “edquota  -g  workgroup”,设置组群workgroup的磁盘空间限额,如下所示

    执行 “edquota  -vg  ztguang”,查看组群ztguang的磁盘空间限额

    第7步:启动quota的限额

    设定好quota之后,建议再执行一次quotacheck命令,然后执行“quotaon -avug”命令来启动quota的限额。

     

    第8步:自动启动quota的限额

    如果希望系统重启后自动启动quota的限额,可以在/etc/rc.d/rc.local中添加如下代码

    if [ -x /sbin/quotacheck ]; then

    echo "Checking quotas,This may take some time ... "

    /sbin/quotacheck -avug

    echo "Done."

    fi

    if [ -x /sbin/quotaon ]; then

    echo "Enabling disk quota ... "

    /sbin/quotaon -avug

    echo "Done."

    fi

             

    5.9  数据同步:sync

    5.10  数据压缩

    5.10.1 gzipgunzip命令

    1gzipgnu zip)命令

       gzip  [选项]  [文件名]

    实例:使用gzip命令

     

    2gunzip命令

    gunzip  [选项]  [文件名.gz]

    实例:使用gunzip命令

     

    也可以只压缩某个文件

     

    5.10.2  bzip2bunzip2命令

    bzip2bunzip2是更新的Linux压缩工具,比gzip有着更高的压缩率。

    1bzip2命令

    2bunzip2命令

    bzip2、bunzip2示例如下:

    # bzip2  -z  man.config  //man.configbzip2压缩,此时man.config变成man.config.bz2

    # bzip2  -9  -c man.config > man.config.bz2 //man.config用最佳的压缩比压缩,并保留原本的档案

    # bzip2  -d  man.config.bz2 //man.config.bz2解压缩,可用bunzip2取代bzip2  -d

    # bunzip2  man.config.bz2 //man.config.bz2解压缩

            

            

            

     

    5.10.3  显示压缩文件的内容:zcatzlessbzcatbzless

    不解压,显示压缩文件的内容:zcatzlessbzcatbzless

    1zcatzless

    2bzcatbzless

    例如:

    # bzcat  man.config.bz2 //在屏幕上显示man.config.bz2解压缩之后的内容

     

    4.7.4  tar命令

    第5步:分析如下的例子

    1# tar  -cf  exam.tar  exam1*.txt(把所有exam1*.txt的文件打包成一个exam.tar文件。其中,-c是产生新备份文件;-f是输出到默认的设备,可以把它当做一定要加的选项)

    2# tar  -rf  exam.tar  exam2*.txtexam.tar是一个已经存在的打包文件了,再把exam2*.txt的所有文件也打包进去。-r是再增加文件的意思)

    3# tar  -uf  exam.tar  exam11.txt(刚才exam1*.txt已经打包进去了,但是其中的exam11.txt后来又做了更改,把新改过的文件再重新打包进去,-u是更新的意思)

    4# tar  -tf  exam.tar(列出exam.tar中有哪些文件被打包在里面。-t是列出的意思)

    5# tar  -xf  exam.tar(把exam.tar打包文件中全部文件释放出来,-x是释放的意思) 

    6# tar  -xf  exam.tar  exam2*.txt(只把exam.tar打包文件中的所有exam2*.txt文件释放出来,-x是释放的意思)

    7# tar  -zcf  exam.tar.gz  exam1*.txt

    8:解压解包

    1# tar  -xzvf  exam.tar.gz //加一个选项-v,就是显示打包兼压缩或者解压的过程。因为Linux上最常见的软件包文件是.tar.gz文件,因此,最常看到的解压方式就是这样了

    2# tar  -xzvf  exam.tgz //.tgz文件名也是一样的,因性质一样,仅文件名简单一点而已

    3# tar  xzvf  exam.tar.gz  -C  exam/ // 解压到exam目录中

    4# tar  xjvf  exam.tar.bz2  -C  exam/ // j:使用bzip2

    例9打包压缩

    1# tar  cjvf  test.tar.bz2  exam1*.txt

    2# tar  czvf  test.tar.gz  exam1*.txt

    # tar -czvf exam.tar.gz *.*  或  # tar -czvf exam.tgz *.*

    # tar  cjvf  exam.tar.bz2  exam1*.txt

    # tar  xjvf  exam.tar.bz  -C  exam/ // j:使用bzip2

  • 相关阅读:
    最全Redis面试题
    mabatisplus-update
    windows下安装redis并部署服务
    登录方案
    redis
    IntelliJ IDEA Debug模式启动项目
    物流跟踪 调用快递鸟API
    springboot中文官方文档
    国内物流地址
    什么是电磁兼容?什么是EMC设计?
  • 原文地址:https://www.cnblogs.com/ssooking/p/5811284.html
Copyright © 2020-2023  润新知