第七周小练习

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
下一篇 2017-01-05

相关推荐

  • shell 脚本之数组 和 yum 【下】

    shell 脚本之数组 和 yum 【下】 数组   变量:存储单个元素的内存空间   数组:存储多个元素的连续的内存空间,相当于多个变量的 集合。   数组名和索引        索引:编号从0开始,属于数值索引        注意:索引可支…

    Linux干货 2016-08-24
  • haproxy 动静分离负载均衡、​stats页面实现​。

    实验环境:一台主机提供haproxy、nfs、mariadb,后端2台apache部署wordpress。 实验目的:haproxy使得动静分离、以及开启stats页面。 haproxy简单介绍 负载均衡的解决方案,支持4、7层,特点是单进程模型(可配置为多进程模型)单进程能支持非常大的并发链接数量(相比较其他软件)。 到今天,马哥课程中的负载均衡方案(lv…

    Linux干货 2017-02-18
  • 马哥教育网络班21期+第五周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; ~]# egrep ^[[:space:]] /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; ~]# egrep …

    Linux干货 2016-08-08
  • 对文件数据操作命令

    对文件数据操作命令   很多时候,我们都会去计算一次数据里头的的相同类型的数据总数或者查看特性的一些信息,在这个时候我们就需要排序与计算之类的命令来辅助,下面就是几个好用的操作文件数据命令。 文件查看命令:cat, tac cat [OPTION]… [FILE]…     -E: 显…

    Linux干货 2016-08-08
  • 笔记–8.4 文本处理工具,正则表达式

    cat 查看文本文件 命令功能: cat主要有三大功能: 1.一次显示整个文件:cat filename 2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件. 3.将几个文件合并为一个文件:cat file1 file2 > fil…

    Linux干货 2016-08-07

评论列表(1条)

  • luoweiro
    luoweiro 2017-02-23 07:52

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