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

相关推荐

  • 2016/08/11:初涉shell脚本编程

    感悟 :    经过对文本处理工具grep,sed等内容的,以及vim文本编辑器的学习,马不停蹄的又进行了对shell脚本的学习。对shell脚本的认识是可以保存在本地,用的时候只要执行相关脚本,简短的命令就可以完成操作,可以用来应对日常重复性工作,有效提高系统管理员的效率,避免在重复性工作上花费不必要的时间。 *************…

    Linux干货 2016-08-16
  • 第二周作业

    1. Linux上文件管理类命令总结及示例 文件管理命令主要由查看类命令和管理类命令组成 查看类命令 cat:显示文本 cat [OPTION]… [FILE].. tac:倒序查看文件内容 tac [OPTION]… [FILE].. head:显示文件前几行内容 head [OPTION]… [FILE].. -n#:指定获取前#行,也可直接使用-# -…

    Linux干货 2016-12-10
  • PHP安全模式详解(PHP5.4安全模式将消失)

    1. 安全模式      一直没有用过php的safe_mode安全模式,以此说明作为日后参考。      PHP 的安全模式是为了试图解决共享服务器(shared-server)安全问题而设立的。在结构上,试图在 PHP 层上解决这个问题是不合理的,但修改 web 服务器层和操作系统层显得非常不现…

    Linux干货 2015-06-02
  • 7月19号:计算机基础+在VMware12中安装CentOS6.8

        16号从正下暴雨的武汉来到帝都参加马哥培训班,从清河公寓亮哥开始,到宿舍另外五位室友,渐渐认识更多人,还算适应额不错。但走在北京的马路上,多少还是有些陌生,不过就如宿舍一样,来的时候脏兮兮,经过一番打扫后,干净了不少,我也会很快习惯在这边的生活,精力全放在linux上!   &nb…

    Linux干货 2016-08-05
  • 进程及任务管理

    进程概念 内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等 Process: 运行中的程序的一个副本,是被载入内存的一个指令集合     进程ID(Process ID,PID)号码被用来标记各个进程     UID、GID、和SELi…

    Linux干货 2016-09-09

评论列表(1条)

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

    再接再励。