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脚本编程

    shell脚本基础 shell脚本是包含一些命令或声明,并符合一定格式的文本文件 一般格式要求: 1.首行shebang机制 #!/bin/bash #!/bin/python #!/usr/bin/perl 2.注释信息 以#开头,可写明脚本用途,作者,版本,时间等 3.脚本正文内容, 创建shell脚本 以bash为例 第一行定格#!/bin/bash …

    Linux干货 2016-08-15
  • Linux基础知识(五)

    本文主要讲述使用grep做模式匹配,具体示例包括: 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; 3、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行; 4、添加用户b…

    Linux干货 2016-10-23
  • 硬链接和软链接的区别

                        硬链接和软链接的区别     硬链接: 1.创建命令:ln或link 2.同一文…

    Linux干货 2016-12-05
  • Linus Torvalds 语录 Top 10

    下面是Linux的创始人Linus Torvalds的一些言论,这是我个人认为最有意思的10句。如果你想看更多的Linus Torvalds说过的话,你可以看看他在维基百科上的词条:Linux Torvalds。我们在下面给出中英文对照,希望你能喜欢。 “Really, I’m not out to dest…

    Linux干货 2015-04-03
  • N26-博客作业-week13

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)  1)共享名为shared,工作组为magedu;  2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;  3)添加samb…

    Linux干货 2017-06-15
  • 【26期】Linux第六周学习小总结

        时光匆匆,一周时光悠然而逝,带给我们的只有知识的充实,和每日强大的自信心,学习的日益深入,慢慢的然我们的思绪和状态带回高中时光,吃饭上课睡觉三点一线的生活,枯燥中透露出稍微的晨曦,让每个明天都充满着期待,那我们的本周的学习中磁盘管理算是占了很大的比重,毕竟关于磁盘的知识很是难理解,那我就把本周的知识回顾温习,同时分享给大家。 &n…

    2017-08-19

评论列表(1条)

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

    再接再励。