第七周小练习

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

相关推荐

  • 马哥教育网络20期+第4周作业博客

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 答:cp -a /etc/ske1 /home/tuser1 && chown -R go-rwx /home/tuser1 2、编辑/etc/group文件,添加组hadoop。 答:echo "…

    Linux干货 2016-09-05
  • 第六周作业

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; %s@^[[:space:]]\+@#&@g 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的…

    Linux干货 2017-03-03
  • 人志建,则无敌—if、case练习

    马哥21期网络班-9周博客作业 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash for i in `cut -d: -f7 /etc/passwd`;&…

    Linux干货 2016-09-05
  • IO模型——进程工作的方式

    I/O模型 模型:阻塞型、非阻塞型、复用型、信号驱动型、异步 同步/异步: 关注消息通知机制      消息通知:          同步:等待对方返回消息       &nbsp…

    Linux干货 2016-10-25
  • 文本处理工具之grep

                    文本处理工具之grep 一、grep的简介 1、grep是一个文本过滤器的工具,它根据用户指定的模式(pattern)对目标文本进行匹配检查,并将匹配的行打印到标准输出或输出重定向。 2、模式:由文本字符或正则表达式组成 3、正则表达式分…

    2017-05-06
  • 马哥教育网络班21期-第六周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; 3、删除/tmp/rc.sysinit文件…

    Linux干货 2016-08-05

评论列表(1条)

  • luoweiro
    luoweiro 2017-02-23 07:52

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