第七周小练习

1.创建一个10G分区,并格式为ext4文件系统

(1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl 
(2)挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳

fdisk /dev/sdb
n
p
1
+10G
w
mke2fs -t ext4 -b 2048 -L MYDATA -m 2 /dev/sdb1
tune2fs -o acl /dev/sdb1
mkdir -p /data/mydata
mount -o noexec noatime /data/mydata /dev/sdb1

2.创建一个大小为1G的swap分区,并创建好文件系统,并启用之

fdis /dev/sdb
n
p
2
+1G
t
82
w
mkswap /dev/sdb2
swapon /dev/sdb2

3.写一个脚本

(1)获取并列出当前系统上的所有磁盘设备 
(2)显示所有磁盘设备上每个分区相关的空间使用信息

#!/bin/bash
#
mtdlist=`blkid|cut -d: -f1`
for name in $mtdlist
do        
    df -h $name
done

4.总结RAID的各级别及其组合方式和性能的不同

RAID0又叫做Stripe,即条带卷,是所有RAID级别中性能最好的阵列类型。RAID0之所以具有很高的性能,是因为RAID0实现了带区组,它将连续的数据分散地存储到多个磁盘驱动器中 
RAID1又称为镜像卷,使用RAID1至少需要2块以上的磁盘,当数据写入时,会在两块盘中写入完全相同的数据,形成镜像结构,当一组盘出现问题时,可以使用镜像盘,以此提高存储的容错能力 
RAID5是带有分布式奇偶校验位的块级别条带卷,需要3块及以上个磁盘,RAID5具有很高的读性能,但是写性能则一般,因为在数据写入的过程中要进行奇偶校验运算并将校验码写到磁盘中 
RAID6即带有双份分布式奇偶校验信息的块级别条带卷。它与RAID5很相似,但是比RAID5多设了一个校验位,也就是存储了两份的校验信息。所以RAID6阵列最少需要4块磁盘

5.创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128K

mdadm -C /dev/md0  -c 128 -n 3 -l 1 /dev/sdb{5,6,7}

6.创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;

mdadm -C /dev/md0 -c 256 -n 3 -l 5 /dev/sdb{5,6,7}
mke2fs -t ext4 /dev/md0
mkdir /backup
echo "/dev/md0 /backup ext4 defaults,noatime,acl 0 0" >>/etc/fstab

7.写一个脚本

(1)接收一个以上文件路径参数 
(2)显示每个文件拥有的行数 
(3)总结说明本次共为几个文件统计了几行

#!/bin/bash
#
[ $# -lt 1 ] && exit
for filename in $@;do
        [ -f $filename ] && cat $filename|wc -l && let sum++
done
echo $sum

8.写一个脚本

(1)传递两个以上字符串当作用户名 
(2)创建这些用户,且密码同用户名相同 
(3)总结说明共创建了几个用户

#!/bin/bash
#
[ $# -lt 1 ] && exit
for username in $@;do
        id $username &> /dev/null && continue
        useradd $username
        echo "$name" | passwd --stdin "$name"        
        let sum++
 done
 echo "add user num : $sum"

9.写一个脚本,新建20个用户,visitorl-visitor20;计算他们的ID之和;

#!/bin/bash
#
for i in {1..20};do    
    id visitor$i &> /dev/null && continue    
    useradd visitor$i    
    let sum+=`id -u visitor$i`
done
echo "id sum :$sum"

10.写一个脚本,分别统计/etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions和/etc/fstab 文件中以#号开头的函数之和,以及总的空白行数;

#!/bin/bash
#
for file in /etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions /etc/fstab;do    
    line=`grep "^#" $file|wc -l`    
    echo "$file lines num : $line"    
    line=`grep "^$" $file|wc -l`    
    echo "$file null lines :$line"
done

11.写一个脚本,显示当前系统上所有默认shell为bash的用户的用户名,UID以及此类所有用户的UID之和;

#!/bin/bash
#
uid=`grep "\<bash$" /etc/passwd|cut -d: -f3`
for num in uid;do
   let sum+=$num
done
echo "UID sum :$sum"

12.写一个脚本,显示当前系统上所有,拥有附加组的用户的用户名,并说明共有多少个此类用户;

#!/bin/bash
#
for name in `cat /etc/passwd|cut -d: -f1`;do
    groupsnum=`id -G $name|wc -w`    
    [ $groupsnum -ge 2 ] && username=$username\ $name && let num++
done
echo "username: $username num: $num"

13.创建一个至少两个物理卷组成的大小为20g的卷组;要求,PE大小为8M;而在卷组中创建一个大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录,支持acl

pvcreate /dev/sdb1
pvcreate /dev/sdb2
vgcreate -s 8M myvg /dev/sdb1 /dev/sdb2
lvcreate -L 5G -n mylvm myvg
mke2fs -t ext4 /dev/myvg/mylvm
echo "/dev/myvg/mylvm  /users ext4 defaults,acl 0 0" >> /etc/fstab

14.新建用户magedu,其家目录为/users/magedu,而后su切换至此用户,复制多个文件至家目录;

usetadd magedu -d /users/magedu 
cp /etc/skel/* /user/magedu
su - magedu

15.扩展mylv1至9g,确保扩展完成后原有数据完全可用

lvextend -L 9G /dev/myvg/mylvm
resize2fs /dev/myvg/mylvm

16.缩减mylv1至7g,确保缩减完成后原有数据完全可用

lvreduce -L 7G /dev/myvg/mylvm
resize2fs /dev/myvg/mylvm 7G

17.对mylv1创建快照,并通过备份数据;要求保留原有的属主属组等信息

lvcreate -L 512M -p r -s -n my_snapshot /dev/myvg/mylvm
mount /dev/myvg/my_snapshot /mnt

原创文章,作者:N24-超,如若转载,请注明出处:http://www.178linux.com/65884

(0)
N24-超N24-超
上一篇 2017-01-04 23:56
下一篇 2017-01-05 01:01

相关推荐

  • 3.用户和组管理

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who root     tty1         2016-12-…

    Linux干货 2017-07-16
  • 马哥教育21期网络班—第15周课程+练习—-sed 总结

    sed:编辑器 流编辑器,文本流编辑 ed: Stream EDitor, 行编辑器; 介绍:sed是 一个非交换性文本流编辑器,它编辑文件或标准输入导出的文本拷贝。标准输入可能来自键盘、文件重定向、字符串或变量,或者管道的文本。 sed可以干什么? 别忘了vi也是一个文本编辑器。sed可以随意编辑小或大的文件,有许多…

    Linux干货 2016-11-14
  • Apache运行机制剖析

    1. B/S交互过程 浏览器(Browser)和服务器(Web Server)的交互过程:   1、  浏览器向服务器发出HTTP请求(Request)。 2、  服务器收到浏览器的请求数据,经过分析处理,向浏览器输出响应数据(Response)。 3、  浏览器收到服务器的响应数据,经过分析处理,将最终结果显示在浏览…

    Linux干货 2015-04-10
  • history

    history命令详解

    Linux干货 2018-02-28
  • Linux_创建文件系统及挂载文件系统流程详解

    Linux 创建文件系统及挂载文件系统流程详解 摘要:本文对新增硬盘,切割硬盘,创建硬盘分区,为硬盘分区创建文件系统,以及加载文件系统的流程做总结性论述;主要是为初学者弄清楚这一操作过程;本文涉及fdisk、mkfs、mount … … 等工具;对/etc/fstab 进行了解说;还有磁盘扫描工具fsck 等介绍; +++++++++…

    Linux干货 2016-01-18
  • GRUB加密、修复和破解密码实战指南

    GRUB加密、修复和破解密码实战指南 GRUB(Boot Loader) 从系统启动流程可以得知,在BIOS读取相关信息之后,接下来是去第一个可以启动的设备当中的MBR中读取Boot Loader信息,Boot Loader提供具有菜单功能、直接加载内核信息,以及相关的控制权转交功能。所以说系统启动必须要有Boot Loader,然后才能去加载内核。 Boo…

    Linux干货 2016-09-19

评论列表(1条)

  • luoweiro
    luoweiro 2017-02-23 07:52

    步骤详细,能准确描述整个过程。