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

相关推荐

  • 网卡别名与bonding配置

    我们知道,一般来说,一个硬件地址对应与一个IP地址。但在一些情况下,我们可以通过一些方法打破硬件地址与IP地址的一一对应关系。下面就来说一下网卡别名与bonding配置。 网卡别名就是将多个IP地址绑定到一个网络接口上,其命名方式为IFACE:num,如eth0:1等。需要注意的是,网卡别名仅对虚拟主机有效。创建网卡别名有两种方式: 1、ifconfig命令…

    Linux干货 2016-09-05
  • 10个必需的iOS开发工具和资源

       界面总不是一件很容易事,尤其是iPhone/iPad的界面,做过iOS开发的程序员,一定会感到开发iPhone/iPad的界面是一件多么不容易的事。下面的文章来自10 Essential iOS Developer Tools & Resources,这个文章介绍了十个iOS开发的基础性工具和资源,其一定会很有效地帮你做iO…

    Linux干货 2015-04-01
  • 马哥教育网络班21期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; [root@localhost test]# ./exercise3.sh  be eable to login us…

    Linux干货 2016-08-05
  • 马哥教育网络班19期+第三周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。   whoami 只显示已经登录的用户     who | cut -d' ' -f1 | sort&nbs…

    Linux干货 2016-06-19
  • 第十五周作业

    温故知新 1、总结sed和awk的详细用法 sed [OPTION]… ‘script’ [input-file] …script:地址定界编辑命令 常用选项:-n:不输出模式空间中的内容至屏幕;-e script, –expression=script:多点编辑;-f /PATH/TO/SED_S…

    Linux干货 2017-12-04
  • 第一天,学习

    好好学习,天天向上

    Linux干货 2016-08-08

评论列表(1条)

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

    再接再励。