N26-博客作业-week7

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

     (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;

    ~]# fdisk /dev/sda
    Welcome to fdisk (util-linux 2.23.2).

    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.


    Command (m for help): n
    All primary partitions are in use
    Adding logical partition 5
    First sector (83888128-146800639, default 83888128): 
    Using default value 83888128
    Last sector, +sectors or +size{K,M,G} (83888128-146800639, default 146800639): +10G 
    Partition 5 of type Linux and of size 10 GiB is set

    Command (m for help): w
    The partition table has been altered!
    
    ~]# mke2fs -t ext4 -b 2048 -L 'MYDATA' -m 2 /dev/sda5
    ~]# tune2fs -o acl /dev/sda5

    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳

    ~]# mkdir -p /data/mydata
    ~]# mount -o noatime,noexec /dev/sda5 /data/mydata

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

    ~]# fdisk /dev/sda
    n
    默认起始值
    +1G
    t
    82
    w
    
    ~]# partx -a /dev/sda
    ~]# mkswap /dev/sda6
    ~]# swapon /dev/sda6

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

   #!/bin/bash
    #
    hd_num=$(fdisk -l | grep -E "^[/]" | cut -d" " -f1)
    echo -e "The disks on this system are:\n$hd_num"

    for i in $hd_num; do
        echo -e "The information about $i is:\n$(df -h $i)\n"
    done

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

        RAID(Redundant Arrays of Independent Disks):独立磁盘冗余阵列

        RAID的常见级别:
            RAID-0,RAID-1,RAID-5,RAID-10

        RAID-0:
            至少需要磁盘数量为2,通过连续以位或字节为单位分割数据,并行读/写于多个磁盘上,提高数据读写性能,但没有容错能力

        RAID-1:
            至少需要磁盘数量为2,通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能,且拥有容错能力

        RAID-5:
            至少需要磁盘数量为3,不单独指定奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息,读/写指针可同时对阵列设备进行操作,提供了更高的读写性能及拥有容错能力

        RAID-10:
            至少需要磁盘数量为4,RAID 10是先镜像再分区数据,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作,提高了读写性能且拥有容错能力

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

 分别创建/dev/sda5 /dev/sda6 /dev/sda7 并修改system id为fd
    ~]# fdisk /dev/sda
    n
    默认起始值
    +10G
    t
    fd
    w
    
    ~]# mdadm -C /dev/md0 -l 1 -c 128 -n 2 -x 1 /dev/sda{5,6,7}

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

   分别创建/dev/sda5 /dev/sda6 /dev/sda7 并修改system id为fd
    ~]# fdisk /dev/sda
    n
    默认起始值
    +4G
    t
    fd
    w
    
    ~]# mdadm -C /dev/md0 -l 5 -c 256 -n 3 /dev/sda{5,6,7}
    ~]# mke2fs -t ext4 /dev/md0
    ~]# vim /etc/fstab
    /dev/md0    /backup     ext4    defaults,noatime,acl    0   0

7、写一个脚本
   (1) 接受一个以上文件路径作为参数;
   (2) 显示每个文件拥有的行数;
   (3) 总结说明本次共为几个文件统计了其行数;

 #!/bin/bash
    #
    declare -i TEXT=0
    
    if [ $# -lt 1 ]; then
        echo "At least one directory!"
        exit 1
    fi
    
    for i in $*;do
        if  [ ! -f $i ]; then
            echo "${i} is not a ASCII text";
        else
            echo "${i} have "$(wc -l ${i})" lines"
            let TEXT++
        fi
    done
    
    echo "The file numbers:$TEXT"

8、写一个脚本
   (1) 传递两个以上字符串当作用户名;
   (2) 创建这些用户;且密码同用户名;
   (3) 总结说明共创建了几个用户;

   #!/bin/bash
    #
    declare -i user_sum=0
    
    if [ $# -lt 2 ];then
        echo "at least two strings"
        exit 1
    fi  
    
    for user_name in $@;do
        useradd $user_name && echo "$user_name" | passwd --stdin $user_name &> /dev/null
        let user_sum++
    done
    
    echo "The total number of created user is:$user_sum"

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

 #!/bin/bash
    #  
    declare -i idSum=0
    
    for i in $(seq 20);do
        if ! grep "^visitor${i}\>" /etc/passwd &> /dev/null;then
            useradd visitor$i
        fi
        idSum=$($idSum+$(id -u visitor${i}))
    done
    
    echo $idSum


原创文章,作者:浙江-咲,如若转载,请注明出处:http://www.178linux.com/71362

(0)
浙江-咲浙江-咲
上一篇 2017-03-19 14:59
下一篇 2017-03-19 16:44

相关推荐

  • shell脚本之 select 循环菜单及 函数

    select 循环与菜单 select variable in list    do      循环体命令   done select 循环主要用于创建菜单,按数字顺序排列的菜单项将显示在标准错误上,并显示PS3 提示符,等待用户输入 用户输入菜单列表中的某个数字,执行相应的命令…

    Linux干货 2016-08-22
  • linux系统的路由功能

    1、概要    大家应该都明白,不同网段的报文包传播,是需要路由的转发转发功能的,那么,一个linux操作系统能不能充当路由器呢?下面不妨来验证一下。 2、网络拓扑 3、实现过程    <1>俩个centos6分别充当Router1和Router2。并添加足够的网卡。    <2&…

    Linux干货 2016-09-06
  • 一起学DHCP系列(五)指派、获取

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/163168     本节将主要讲述DHCP客户端获取IP的过程,也是此系列中非常重要的一节。   &…

    Linux干货 2015-03-25
  • Linux发展与应用

                                                      &nbsp…

    2017-04-05
  • 运维工程师技能需求排行

    这是我今天在拉勾网搜索运维,翻完了4四页也招聘信息之后得到的,我的目的是想要看看之后的学习,哪个更应该成为重点,有些在我意料之中,有些还真的没想到,算是努力了一个小时的收获吧,分享给大家。
    注意:其中的看法仅代表个人观点,很多都是依靠我自己的学习经验和工作经验累积的

    Linux干货 2017-12-12
  • ipvsadm配置命令

    Ipvsadm配置   ipvsadm/ipvs: 集群和集群之上的各RS是分开管理的; 集群定义 RS定义 ipvs:内核基本都自动编译上了 ~]# grep -i -C 10 “ipvs” /boot/config-VERSION-RELEASE.x86_64     支持的协议:…

    Linux干货 2017-05-17

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-30 14:24

    再接再励。