N25-第七周作业

第七周作业

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

fdisk /dev/sda
n
p
2
enter
+10G
w
partx -a /dev/sda
(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;
mke2fs -t ext4 -b 2018 -m 2 -L "MYDATA" /dev/sda2
(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;
mkdir -p /data/mydata
mount -o noexec,noatime /dev/sda2 /data/mydata

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

fdisk /dev/sda
n
p
3
enter
+1G
t
3
82
w
mkswap /dev/sda3
swapon /dev/sda3

3、写一个脚本

(1)、获取并列出当前系统上的所有磁盘设备;
(2)、显示每个磁盘设备上每个分区相关的空间使用信息;
#!/bin/bash
fdisk -l | grep "^Disk /dev/[sh]d[a-z]"
fdisk -l | grep "^/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
#显示每个文件拥有的行数,总结说明本次共为几个文件统计了其行数;

daclare -i sum=0

if [ $# -lt 1 ];then
  echo "At least enteh one file path."
   exit 1
fi

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

echo "Total $sum files."

8、写一个脚本

(1) 传递两个以上字符串当作用户名;
(2) 创建这些用户;且密码同用户名;
(3) 总结说明共创建了几个用户;
#!/bin/bash
#脚本传递两个以上的字符串当做用户,创建这些用户,且密码和用户名相同,总结说明共创建了几个用户;

sum=0

if [ $# -lt 3 ];then
   echo "Enter three username,please."
   exit 1
fi

for username in $*;do
   if id $username &> /dev/null;then
      echo "User existed."
  else
      useradd $username
      echo "$username" | passwd --stdin $username &> /dev/null
      echo "User: $username add finished."
      let sum++
  fi
done

echo "Total $sum users add."

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

#!/bin/bash
#写一个脚本,新建20个用户,vistor1-vistor20;计算他们的ID之和;

for un in {1..20};do
   if id visitor$un &> /dev/null;then
       echo "User visitor$un is had."
       exit 2
    else
       useradd visitor$un;then
       idu=$(id -u visitor$un)
       echo "User visitor$un is added."
       let sum=$sum+$idu
   fi
done

echo "sum id is $sum ."

原创文章,作者:Eason,如若转载,请注明出处:http://www.178linux.com/70018

(0)
EasonEason
上一篇 2017-02-25 13:19
下一篇 2017-02-25 14:50

相关推荐

  • 第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;  (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@localhost ~]# fdisk /dev/sdb #创建10G分区 Welcome to fdisk (util-linux 2.23.2). Changes wi…

    Linux干货 2017-02-19
  • 磁盘分区及lvm管理

    1. 硬盘类型 /dev/sda VS /dev/hda /dev/sda     /dev/sda1     /dev/sda2     /dev/sda3 而又的安装时硬盘驱动设备名为 /dev/hda    /dev/hda1 &nb…

    Linux干货 2016-09-19
  • 【26期】Linux第一周学习小总结

        知识不在长短,而在于其中的精炼程度,字典每个字没有一页的篇幅,却被大面积推广,之所以没有再把学到的全部搬运到博客上来,就是为了给大家一点可看的东西,也许我自己认为的精炼是有点简短了,那我就再更新一下,再复习一下,学到的whatis 和 man命令。     第一周匆匆而过,学过的知识,过遍脑…

    2017-07-14
  • 关于文件 atime mtime gtime 专题–2016-07-27

    Linux文件组成部分:元数据(metadata)和数据(date) 元数据的查看方式:使用stat命令; 数据的查看方式:文本格式使用 cat nano查看及修改即可; stat命令: 功能说明:显示文件或文件系统的状态 语法: stat  [OPTION] …  FILE… 参数:   举例: [ro…

    Linux干货 2016-08-04
  • 9月9日,系统启动文件恢复与内核编译

    1、破解root口令,并为grub设置保护功能 进入grub界面,输入a键,在输入1,进入单用户界面,进入系统后修改密码。 2、破坏本机grub stage1,而后在救援模式下修复之 3、删除vmlinuz和initramfs文件,无法启动,恢复之 (1)安装kernel内核 (2)光盘寻找内核,在复制到/boot目录下,在修改成对应的,系统会重启两次 (3…

    Linux干货 2016-09-13
  • SHELL流程控制之循环

    当进行脚本编程时,语句执行的流程控制通常有三种: l  顺序执行 l  选择执行 l  循环执行   条件选择if: if语句可以进行嵌套 if 判断条件;then          条件为真的分支代码 elif  判断条件;th…

    Linux干货 2016-08-18