第七周小练习

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

(1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl 
(2)挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳

fdisk /dev/sdb
n
p
1
+10G
w
mke2fs -t ext4 -b 2048 -L MYDATA -m 2 /dev/sdb1
tune2fs -o acl /dev/sdb1
mkdir -p /data/mydata
mount -o noexec noatime /data/mydata /dev/sdb1

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

fdis /dev/sdb
n
p
2
+1G
t
82
w
mkswap /dev/sdb2
swapon /dev/sdb2

3.写一个脚本

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

#!/bin/bash
#
mtdlist=`blkid|cut -d: -f1`
for name in $mtdlist
do        
    df -h $name
done

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

RAID0又叫做Stripe,即条带卷,是所有RAID级别中性能最好的阵列类型。RAID0之所以具有很高的性能,是因为RAID0实现了带区组,它将连续的数据分散地存储到多个磁盘驱动器中 
RAID1又称为镜像卷,使用RAID1至少需要2块以上的磁盘,当数据写入时,会在两块盘中写入完全相同的数据,形成镜像结构,当一组盘出现问题时,可以使用镜像盘,以此提高存储的容错能力 
RAID5是带有分布式奇偶校验位的块级别条带卷,需要3块及以上个磁盘,RAID5具有很高的读性能,但是写性能则一般,因为在数据写入的过程中要进行奇偶校验运算并将校验码写到磁盘中 
RAID6即带有双份分布式奇偶校验信息的块级别条带卷。它与RAID5很相似,但是比RAID5多设了一个校验位,也就是存储了两份的校验信息。所以RAID6阵列最少需要4块磁盘

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

mdadm -C /dev/md0  -c 128 -n 3 -l 1 /dev/sdb{5,6,7}

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

mdadm -C /dev/md0 -c 256 -n 3 -l 5 /dev/sdb{5,6,7}
mke2fs -t ext4 /dev/md0
mkdir /backup
echo "/dev/md0 /backup ext4 defaults,noatime,acl 0 0" >>/etc/fstab

7.写一个脚本

(1)接收一个以上文件路径参数 
(2)显示每个文件拥有的行数 
(3)总结说明本次共为几个文件统计了几行

#!/bin/bash
#
[ $# -lt 1 ] && exit
for filename in $@;do
        [ -f $filename ] && cat $filename|wc -l && let sum++
done
echo $sum

8.写一个脚本

(1)传递两个以上字符串当作用户名 
(2)创建这些用户,且密码同用户名相同 
(3)总结说明共创建了几个用户

#!/bin/bash
#
[ $# -lt 1 ] && exit
for username in $@;do
        id $username &> /dev/null && continue
        useradd $username
        echo "$name" | passwd --stdin "$name"        
        let sum++
 done
 echo "add user num : $sum"

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

#!/bin/bash
#
for i in {1..20};do    
    id visitor$i &> /dev/null && continue    
    useradd visitor$i    
    let sum+=`id -u visitor$i`
done
echo "id sum :$sum"

10.写一个脚本,分别统计/etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions和/etc/fstab 文件中以#号开头的函数之和,以及总的空白行数;

#!/bin/bash
#
for file in /etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions /etc/fstab;do    
    line=`grep "^#" $file|wc -l`    
    echo "$file lines num : $line"    
    line=`grep "^$" $file|wc -l`    
    echo "$file null lines :$line"
done

11.写一个脚本,显示当前系统上所有默认shell为bash的用户的用户名,UID以及此类所有用户的UID之和;

#!/bin/bash
#
uid=`grep "\<bash$" /etc/passwd|cut -d: -f3`
for num in uid;do
   let sum+=$num
done
echo "UID sum :$sum"

12.写一个脚本,显示当前系统上所有,拥有附加组的用户的用户名,并说明共有多少个此类用户;

#!/bin/bash
#
for name in `cat /etc/passwd|cut -d: -f1`;do
    groupsnum=`id -G $name|wc -w`    
    [ $groupsnum -ge 2 ] && username=$username\ $name && let num++
done
echo "username: $username num: $num"

13.创建一个至少两个物理卷组成的大小为20g的卷组;要求,PE大小为8M;而在卷组中创建一个大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录,支持acl

pvcreate /dev/sdb1
pvcreate /dev/sdb2
vgcreate -s 8M myvg /dev/sdb1 /dev/sdb2
lvcreate -L 5G -n mylvm myvg
mke2fs -t ext4 /dev/myvg/mylvm
echo "/dev/myvg/mylvm  /users ext4 defaults,acl 0 0" >> /etc/fstab

14.新建用户magedu,其家目录为/users/magedu,而后su切换至此用户,复制多个文件至家目录;

usetadd magedu -d /users/magedu 
cp /etc/skel/* /user/magedu
su - magedu

15.扩展mylv1至9g,确保扩展完成后原有数据完全可用

lvextend -L 9G /dev/myvg/mylvm
resize2fs /dev/myvg/mylvm

16.缩减mylv1至7g,确保缩减完成后原有数据完全可用

lvreduce -L 7G /dev/myvg/mylvm
resize2fs /dev/myvg/mylvm 7G

17.对mylv1创建快照,并通过备份数据;要求保留原有的属主属组等信息

lvcreate -L 512M -p r -s -n my_snapshot /dev/myvg/mylvm
mount /dev/myvg/my_snapshot /mnt

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

(0)
N24-超N24-超
上一篇 2017-01-04 23:56
下一篇 2017-01-05 01:01

相关推荐

  • 进入linux世界的初步认识

    1、 描述计算机的组成及其功能.
    2、 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别.
    3、 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述.
    4、 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述.
    5、 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的.
    6、 请罗列Linux发行版的基础目录名称命名法则及功用规定.

    Linux干货 2018-02-25
  • vsftp的使用(土著篇)

        这个vsftp本地用户登录模式(简称土著)配置方法论坛网站有一堆堆的,都是默认的东西,就那么多也写不出什么花来。     还是直接上酸菜好了,接着上回提到的vsftp的接着用,首先查看下你vsftp的配置情况。      这是上次匿名用户的配置,稍微得改一改。 配置本地用户登录的配…

    2017-07-30
  • sed工具

    sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来…

    2017-08-26
  • linux基础知识:计算机的组成及其功能

    摘要:
    1. 描述计算机的组成及其功能。
    2. 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3. 描述Linux的哲学思想,按照自己的理解对其解释性描述。
    4. 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、……等命令使用,配合相应实例阐述。
    5. 如何获取帮助信息,描述man文档章节划分。
    6. 罗列发行版基础目录名称命名法则及功用规定。

    2017-12-03
  • 由摩根定律引发的思考

    在Linux中,我们常常需要对一些条件进行判断,而对于多个条件的组合判断是基于摩根定律而进行的。所以理解摩根定律对于我们学习条件判断是很有必要的,下面我们就先介绍摩根定律进而引出其在一些具体场景上的应用。   一、摩根定律 在Linux中的条件判断中,摩根定律可以以下式来表示: !( A || B )=!A && !B !( A &…

    Linux干货 2016-08-16
  • 内键命令和外部命令

    命令的基本格式 COMMAND  [OPTIONS…]  [ARGUMENTS…]        命令 (COMMAND)       OPTIONS(选项):用于启用或关闭命令的某个或某些功能      …

    2017-05-23

评论列表(1条)

  • luoweiro
    luoweiro 2017-02-23 07:52

    步骤详细,能准确描述整个过程。