Linux脚本基础练习

马哥教育网络班+ 第7周课堂练习

Linux脚本基础练习

练习:

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

(1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl

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

第一步,在虚拟机中挂载一块20G的新硬盘

blob.png 
第二步,在这个硬盘上创建新的分区,分区大小是10G,并格式化为ext4文件系统 
blob.png

blob.png 

blob.png

blob.png

第三步 挂载至/data/mydata 目录

blob.png

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

先创建好分区:

blob.png 
分区为/dev/sdb2 
然后挂载分区

blob.png 
然后可以用free -m 查看

blob.png 
然后大家最好记住分区过后让内核重新识别分区的命令,首先是查看

cat /proc/partitions
让内核重读分区表信息:
CentOS 5 : partprobe [device]
CentOS 6 ,7 : partx kpartx
partx -a [device]
kpartx -af [device]

3、写一个脚本,

(1)获取并列出当前系统上所有的磁盘设备

(2)显示每个磁盘设备上每个分区相关的空间使用信息

blob.png

运行效果如下:

blob.png

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

RAID-0:提供了IO 性能的扩展能力 
读、写性能提升 
可用空间 N*min(S1,S2,…) 比如说第一块硬盘10G 第二块硬盘20G 第三块硬盘30G 我们真正能组成RAID 0 是 10G 10G 10G 一共30G 
无容错能力 一块硬盘出现问题,其他的硬盘都会受影响,因为数据在RAID 控制器中是平均给每块硬盘分配的, 
最少磁盘数 2,2+ 
RAID-1: 
读性能提升 写性能略有下降 
可用空间 : 1*min(S1,S2,…) 就是最小的那块硬盘的可硬空间,比如第一块分10G 第二块分20G 那么占用的可用空间按照最小的为标准,也就是10G 
有冗余能力 
最少磁盘数 2,2+ 
RAID-4: 
比如第一块硬盘存的chuk 是1101 第二块硬盘存的chuk 是0110 那么第三块硬盘中存储的是第一块硬盘上的数据和第二块硬盘上的数据按位去 异或的结果 
例: 1101 0110 => 1011 
如果说第2块硬盘坏了 ,那么通过第三块硬盘上的校验码可以找回第二块硬盘的数据 也就是 让1011 异或 1101 => 0110 
但是不能2块硬盘同时坏掉,如果同时坏掉,那么就不能恢复了 
RAID-5: 
模式其实是RAID 0与RAID 1的结合,比RAID 4好的地方就是把校验的 chuk 循环安置,每个硬盘都有chuk 
读、写性能提升 
可用空间: (N-1)*min(S1,S2,S3…) 
有冗余能力 1块磁盘 
最少磁盘数3,3+ 
RAID-6: 
读、写性能提升 
可用空间:(N-2)*min(S1,S2,S3…) 
有容错能力:2块硬盘 
最少磁盘数 4,4+ 
混合类型 
RAID-10: 
说白了 就是先把数据切割,然后把切割的chuk 先做成RAID 0,就是给每个组(group两两一组)平均分配下去,然后再把这个chuk 在组里分成RAID 1 也就是把chuk 做了一个镜像放到组里另一个设备上 
读、写性能都有提升 
可用空间:N*min(S1,S2,…)/2 
有容错能力 每组镜像最多只能坏一块 
最少磁盘数:4

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

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

7、写一个脚本

(1)接收一个以上文件路径作为参数;

(2)显示每个文件拥有的行数

(3)总结说明本次共为几个文件统计了其行数

blob.png 
测试的结果:

blob.png

8、写一个脚本

(1)传递两个以上字符串当作用户名

(2)创建这些用户 且密码同用户名

(3)总结说明共创建了几个用户

blob.png

测试结果如下:

blob.png

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

blob.png

测试结果如下:

blob.png

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

blob.png

测试结果:

blob.png

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

blob.png

测试结果:

blob.png

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

blob.png

测试结果:

blob.png

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

第一步,创建分区,或者修改分区类型为lvm

blob.png 
从图中可以发现,有2个物理卷设备 /dev/sdb3 和/dev/sdc1 一个为8G 一个为12G 类型都是LVM

第二步,创建PV

blob.png

第三步,创建VG 并且指定pe 大小 
注意 只有在创建VG的时候,才能更改PE大小

blob.png

第四步 创建LV

blob.png

第五步 格式化为ext4 文件系统 开机挂载至/users 目录 支持acl

blob.png

如果想要开机自动挂载,那么需要修改/etc/fstab

blob.png

最后保存退出即可

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

blob.png

15、扩展mylv1 至9G 确保扩展完成后原有的数据完全可用

blob.png

验证数据是否可用

blob.png

16、缩减mylv1 至7G确保缩减完成后原有数据完全可用

第一步,先卸载/dev/myvg/mylv1 这个逻辑卷

blob.png

卸载完毕之后,第二步 检查这个逻辑卷是否有错误

blob.png

第三步,定义缩减mylv1 的大小

blob.png

第四步,重新定义mylv1 大小生效

blob.png

第五步,重新挂载分区,查看源文件

blob.png

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

第一步,创建好快照卷:

blob.png 
第二步挂载这个快照卷

blob.png 
第三步 验证快照卷是否起作用 
这个是快照卷的内容

blob.png

下面我们把/users中的fstab删除,看看快照卷中是否还有

blob.png

然后切换到快照卷中,查看fstab文件

blob.png

我们发现fstab文件还是存在的 
我们可以ll 查看下fstab 的原有属主和属组的信息:

blob.png 
我们会发现属主和属组都没有改变

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

(0)
luobo3692003luobo3692003
上一篇 2016-11-09 15:06
下一篇 2016-11-09 22:14

相关推荐

  • 硬链接与软链接

    1、关于硬链接和软链接是什么   硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称 inode),而索引节点对象是 Linux 虚拟文件系统 (VFS) 的四个基本概念之一。通过剖析硬链接与软链接的联系与区别,我们可更好的了解 Linux 中 VFS 这一通用文件模型。 (1…

    Linux干货 2016-10-20
  • CentOS7中nmcli网络管理及使用详解

    一、网络接口配置工具    在CentOS7系统中,强烈推荐使用nmcli管理网卡。下面记录的是nmcli的使用详解。    网络接口配置工具NetworkManager(简称为nmcli),该命令的作用是:可以查询网络连接的状态,也可以用来管理网络(设置系统每个网卡的特性)。该命令如何使用呢,其实可以用"n…

    Linux干货 2016-09-11
  • 何为正则表达式?

    何为正则表达式?   UNIX/Linux上有许多文本处理工具,其中最主要最重要要属grep、sed、和awk三种了,被称为文本处理三剑客。但是要完全认识他们的各种功能,则必须现在正则表达式及其元字符的使用上打好基础。 什么是正则表达式呢?正则表达式(regular expression,RE)是一种字符模式,用于在查找过程中匹配指定的字符。正则表…

    Linux干货 2016-08-16
  • 走进linux的世界

    1、描述计算机的组成及其功能。  所谓的计算机就是一种计算器,而计算器其实是:接受用户输入指令与数据,经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的信息。 计算机系统由硬件系统和软件系统两个部分组成。 硬件系统由运算器、控制器、存储器、输入设备、输出设备组成。 运算器 是计算机中进行算术运算和逻辑运算的主要部件是计算机的主体。 控…

    Linux干货 2017-01-14
  • N26第三周

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。        who -i或-u 显示闲置时间, 若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串   &n…

    Linux干货 2017-01-16
  • LAMP分离环境的搭建(最新版本的mysql+php+http源码编译安装)

    实验者:FrankStar      实验日期:20150628 任务:主要是实现在Linux环境下配置LAMP环境,利用VMware+centos6.4实现,将LAMP分离为多台主机; 附注:由于大家的环境不一样,可能有些人已经安装了这个包或者那个软件,所以调试的环境结果也不一样,为了尽量能模拟到 可能出现的所有问题,在编译会…

    Linux干货 2015-06-30