N25-第七周作业

第七周

1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;

[root@zf ~]# fdisk  /dev/sdb  

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1307-2610, default 1307): 
Using default value 1307
Last cylinder, +cylinders or +size{K,M,G} (1307-2610, default 2610): +1024M

Command (m for help): w
The partition table has been altered!

[root@zf ~]# mkfs -t ext4 -b 2048 -L MYDATA -m2 /dev/sdb1
    mke2fs 1.41.12 (17-May-2010)
    文件系统标签=MYDATA
    操作系统:Linux
    块大小=2048 (log=1)
    分块大小=2048 (log=1)
    Stride=0 blocks, Stripe width=0 blocks
    655360 inodes, 5241190 blocks
    104823 blocks (2.00%) reserved for the super user
    ...

[root@zf ~]# tune2fs -o acl /dev/sdb1   
[root@zf ~]# tune2fs -l /dev/sdb1    
    tune2fs 1.41.12 (17-May-2010)
    Filesystem volume name:   MYDATA
    Last mounted on:          <not available>
    Filesystem UUID:          87fcd186-1115-4f84-8dad-b171e380771f
    Filesystem magic number:  0xEF53
    Filesystem revision #:    1 (dynamic)
    Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
    Filesystem flags:         signed_directory_hash 
    Default mount options:    acl   
    ...

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

    [root@zf ~]# mount -o noexec,noatime /dev/sdb1 /data/mydata/
    [root@zf ~]# mount
    /dev/sda2 on / type ext4 (rw)
    ...
    /dev/sdb1 on /data/mydata type ext4 (rw,noexec,noatime)

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

[root@zf ~]# fdisk  /dev/sdb  

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1307-2610, default 1307): 
Using default value 1307
Last cylinder, +cylinders or +size{K,M,G} (1307-2610, default 2610): +1024M

Command (m for help): p
...

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1306    10490413+  83  Linux
/dev/sdb2            1307        1438     1060290   83  Linux

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap / Solaris)

Command (m for help): p
...

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1306    10490413+  83  Linux
/dev/sdb2            1307        1438     1060290   82  Linux swap / Solaris

Command (m for help): w
The partition table has been altered!

[root@zf ~]# partx -a /dev/sdb
[root@zf ~]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 1060284 KiB
no label, UUID=3ca73dc3-92f9-4fcf-8098-76d21f5e81c3

[root@zf ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           980        412        568          0         18        100
-/+ buffers/cache:        293        687
Swap:         2047          0       2047

[root@zf ~]# swapon /dev/sdb2
[root@zf ~]# free -m         
             total       used       free     shared    buffers     cached
Mem:           980        413        567          0         18        100
-/+ buffers/cache:        294        686
Swap:         3083          0       3083

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

#!/bin/bash
    #
    fdisk -l /dev/[sh]d[a-z]

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

RAID-0:至少两块硬盘,每个文件分成N块,分别放在每块硬盘上,没有冗错功能;总容量和读写速度都为所有硬盘之和;
   RIAD-1:至少两块硬盘,每块硬盘内容相同,总容量为单块硬盘容量最小的容量,读写为单块硬盘的性能;
   RAID-5:至少3块硬盘,总容量为最小硬盘容量N倍减1,有一块硬盘的容量用来做校验;读性能较好,写性能(要写入校验)稍差;
   RAID-10:至少需要4块硬盘,总容量为最小硬盘的N/2倍,先两个硬盘之间做RAID1,在这个基础上再做RAID0;读写性能较好为N/2;

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

[root@zf ~]# fdisk /dev/sdb
[root@zf ~]# fdisk /dev/sdc
[root@zf ~]# fdisk /dev/sdd
依次创建大小为10G的sdb1、sdc1、sdd1分区(更改分区类型为Linux raid autodetect)

[root@zf ~]# mdadm -C /dev/md0 -n 2 -l 1 -a yes -c 128K -x 1 /dev/sd{b,c,d}1
-C是创建,-a 自动回答yes -n 用2块磁盘创建,-x 用一块磁盘做空闲, -l 是级别RAID-1 , -c 指定chunk 为128k

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

[root@zf ~]# fdisk /dev/sdb
[root@zf ~]# fdisk /dev/sdc
[root@zf ~]# fdisk /dev/sdd
依次创建大小为1G的sdb2,3、sdc2,3、sdd2分区(更改分区类型为Linux raid autodetect)

[root@zf ~]# mdadm -C /dev/md1 -n 5 -l 5 -a yes -c 256K /dev/sd{b,c,d}2 /dev/sd{b,c}3
-C是创建,-a 自动回答yes -n 用5块磁盘创建,-x 用一块磁盘做空闲, -l 是级别RAID-5 , -c 指定chunk 为256k

[root@zf ~]# mke2fs -t ext4 /dev/md1 -L MYDATA2 
[root@zf ~]# vi /etc/fstab 
...
LABEL=MYDATA2           /backup                 ext4    noatime,acl     0 0

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

#!/bin/bash
#

sum=0

if [ $# -lt 1 ]; then
        echo "please iput /PATH/TO/SOMEFILE."
        exit 2
fi

for file in $*; do
        if [ -d $file ]; then
                echo "$file is directory."
                exit 3
        else
                lines=$(wc -l $file | cut -d' ' -f1)
                echo "$file has $lines."
                let sum++
        fi
done
        echo "count $sum files."

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

#!/bin/bash
#

sum=0

if [ $# -lt 1 ]; then
        echo "please input username1 username2."
        exit 2
fi

for i in $*; do
        if id $i &> /dev/null; then
                echo "user existed."
        else
                useradd $i
                echo "$i" | passwd --stdin $i &> /dev/null
                echo "useradd $i finished."
                let sum++
        fi
done
        echo "create $sum users."

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

#!/bin/bash
#

for n in {1..20}; do  
        if grep "^visitor$n\>" /etc/passwd &> /dev/null; then
                echo "user existed."
                exit 2
        else
                useradd visitor$n
        fi
done

sum=0
uid=$(grep "^visitor" /etc/passwd | cut -d: -f3)

for i in $uid; do
    let sum+=$i
    let i++ 
done
    echo $sum

原创文章,作者:N25-深圳-寻觅,如若转载,请注明出处:http://www.178linux.com/69942

(0)
N25-深圳-寻觅N25-深圳-寻觅
上一篇 2017-02-24
下一篇 2017-02-24

相关推荐

  • N22第六周作业

    VIM编辑器介绍 什么是VIM? Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是纯粹的自由软件。 Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。 VIM的使用 &nbsp…

    Linux干货 2016-10-24
  • 文本处理工具

    1.cat 主要三大功能: 1.一次显示整个文件:cat filename 2.从键盘创建一个文件:cat > filename << EOF ….>EOF (只能创建新文件,不能编辑已有文件);cat向已经存在的文件追加内容:cat >> file <<EOF…>EOF 3.将几…

    2017-07-29
  • 马哥教育网络班第21期+第六周课程作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的1、以至少一个空白字符开头的行的行首加#; :%s@^[[:space:]]\+@#@   2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; :%s@^[[:space…

    Linux干货 2016-08-22
  • bash脚本基础认知

    编程基础:程序:指令+数据                过程式:以指令为中心,数据服务于指令              &nbs…

    Linux干货 2017-03-02
  • 网络管理总结

      在学习Linux的快两个月时间的这个阶段,我们学习到了网络的相关知识,哇,原来我们上网是需要这么多步骤的,玩了这么久的电脑,打开过无数网站还只是停留在以为打开网站只需要点点鼠标的层面,惭愧惭愧。学习了一周,终于了解了一些网络的基层结构和一些网络协议,下面是对这一周所学知识的一些总结,加强记忆和理解。还停留在以为打开一个网站只是动动鼠标…

    2017-09-02
  • 计算机编程简史图

       这个图片太经典了,本来想翻译的,后来觉得这么经典的图片可能早已被人翻译了,简单的Google一下,果然有人翻译了。那我就把英文版和中文版都转过来吧。我们可以看到,其中很大一部分人都和Unix有着不解之缘(参见《Unix传奇上篇,Unix传奇下篇》) 英文原版 中文翻译版 什么也不说了,直接上图(图片比较大,单击图片看大图) 计算机编…

    Linux干货 2015-04-02

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-15 01:19

    赞~~写的比较认真,继续加油~