N25-第七周作业

1、创建一个10G分区,并格式为ext4文件系统;
~]#fdisk -l #查看已有分区
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 8194047 4096000 83 Linux
/dev/sda2 8194048 24578047 8192000 82 Linux swap / Solaris
~]# fdisk /dev/sda #由于空间不够大,故只创建了2G
~]# cat /proc/partitions #查看分区情况,可以看到还没有
major minor #blocks name
8 0 20971520 sda
8 1 4096000 sda1
8 2 8192000 sda2
11 0 7587840 sr0
~]# partx -a /dev/sda #多输入两遍,重新加载磁盘分区
~]# cat /proc/partitions #有了,sda5就是我们创建的一个新分区
major minor #blocks name
8 0 20971520 sda
8 1 4096000 sda1
8 2 8192000 sda2
8 3 1 sda3
8 5 2096128 sda5
11 0 7587840 sr0
(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;
~]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sda5
(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;
~]# mkdir /data/mydata -pv
~]# mount -o noexec,noatime,acl /dev/sda5 /data/mydata
2、创建一个大小为1G的swap分区,并创建好文件系统,并启用之;
fdisk /dev/sda #创建一个swap分区
mkswap /dev/sda* #创建swap文件系统
swapon /dev/sda* #启用swap
swapon -s 查看
3、写一个脚本
(1)、获取并列出当前系统上的所有磁盘设备; (2)、显示每个磁盘设备上每个分区相关的空间使用信息;

!/bin/bash

#
fdisk -l
echo “please write the one you want to look ”
if [ -e “$1” ];then
df -h $1
else
echo “$1 is not exit”
exit 2
fi
4、总结RAID的各个级别及其组合方式和性能的不同;
博客总结过。第五题,第六题没有练过,不会。马哥说理解每种raid的就组成和性能,实际生产中用不到配软raid,我就没配过。
7、写一个脚本
(1) 接受一个以上文件路径作为参数; (2) 显示每个文件拥有的行数;(3) 总结说明本次共为几个文件统计了其行数;

!/bin/bash

#
if [ $# -lt 1 ];then
echo “at least one file path ”
exit 2
fi
for i in $*;do
line=$(wc -l $i)
echo “the line of file $i is $line”
done
echo “the total is $# ”
8、写一个脚本:
(1) 传递两个以上字符串当作用户名; (2) 创建这些用户;且密码同用户名;(3) 总结说明共创建了几个用户;

!/bin/bash

#
if [ $# -lt 2 ];then
echo “at least two string ”
exit 2
fi
if grep “^$#\>” /etc/passwd &> /dev/null ;then
echo “User $# exits”
else
useradd $#
echo $# | passwd –stdin $# &> /dev/null
echo “add finished”
fi
echo “the total is $#”
9、写一个脚本,新建20个用户,visitor1-visitor20;计算他们的ID之和;

!/bin/bash

#
sum=0
for i in {1..20};do
if id visitor$i &> /dev/nulil;then
echo “visitor$i已存在” && exit 0
else
useradd visitor$i && echo “visitor$i创建成功”
fi
done
for i in {1..20};do
id=$(grep -E “visitor$i” /etc/passwd | cut -d: -f3)
let sum+=$id
done
echo $sum
10、写一脚本,分别统计/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中以#号开头的行数之和,以及总的空白行数;
以#开头的行数之和:grep -E “^#” /etc/rc.d/init.d/functions |wc -l
总空白行:cat /etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions /etc/fstab |egrep “^$” |wc -l
11、写一个脚本,显示当前系统上所有默认shell为bash的用户的用户名、UID以及此类所有用户的UID之和;

!/bin/bash

#
awk -F: ‘$NF==”/bin/bash”{print $1,$3}’ /etc/passwd
for i in $(awk -F: ‘$NF==”/bin/bash”{print $3}’ /etc/passwd);do
let sum+=$i
done
echo $sum
12、写一个脚本,显示当前系统上所有,拥有附加组的用户的用户名;并说明共有多少个此类用户;

!/bin/bash

#
cat /etc/group | cut -d: -f1,4 | grep -E “.:[^[:space:]]”
num=$(cat /etc/group | cut -d: -f1,4 | grep -E “.
:[^[:space:]]” | wc -l)
echo “$num”
13、创建一个由至少两个物理卷组成的大小为20G的卷组;要求,PE大小为8M;而在卷组中创建一个大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录,支持acl;
创建两个8e分区
/dev/sda6 29366272 50337791 10485760 8e Linux LVM
/dev/sda7 50339840 71311359 10485760 8e Linux LVM

pvcreate /dev/sda6 /dev/sda7

vgcreate -s 8m myvg /dev/sda6 /dev/sda7

Volume group “myvg” successfully created

lvcreate -L 5G -n mylv1 myvg

Logical volume “mylv1” created.

mke2fs -t ext4 /dev/mapper/myvg-mylv1

echo “/dev/mapper/myvg-mylv1 /users ext4 acl 0 0” >> /etc/fstab

14、新建用户magedu;其家目录为/users/magedu,而后su切换至此用户,复制多个文件至家目录;
root@bogon[18:26:57]:~
$ useradd -d /users/magedu magedu
root@bogon[18:29:26]:~
$ su – magedu
magedu@localhost[18:29:36]:~
$ cp -r /etc/httpd/conf/* ~
magedu@localhost[18:32:54]:~
$ ll ~
总用量 28
-rw-r–r–. 1 magedu magedu 11772 12月 12 18:32 httpd.conf
-rw-r–r–. 1 magedu magedu 13077 12月 12 18:32 magic
15、扩展mylv1至9G,确保扩展完成后原有数据完全可用;
lvextend -L +4G /dev/mapper/myvg-mylv1
resize2fs /dev/mapper/myvg-mylv1
16、缩减mylv1至7G,确保缩减完成后原有数据完全可用;

umount /dev/myvg/mylv1

e2fsck -f /dev/myvg/mylv1

resize2fs /dev/myvg/mylv1 7G

lvreduce -L 7G /dev/myvg/mylv1

mount /dev/myvg/mylv1 /users/

17、对mylv1创建快照,并通过备份数据;要求保留原有的属主属组等信息;”
$ lvcreate -s -L 512M -n mylv-snap -p r /dev/myvg/mylv1
Logical volume “mylv-snap” created.

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

(0)
VersionVersion
上一篇 2017-02-24
下一篇 2017-02-24

相关推荐

  • 系统时间与硬件时间

    1. “系统时间”与“硬件时间”    系统时间: 一般说来就是我们执行 date 命令看到的时间,linux系统下所有的时间调用(除了直接访问硬件时间的命令)都是使用的这个时间。    硬件时间: 主板上BIOS中的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根…

    Linux干货 2016-08-05
  • 软件包管理利器之一&RPM

      概述:我们知道使用源代码进行软件编译可以具有定制化的设置,但对于Linux distribution的发行商来说,则有软件管理不易的问题,毕竟不是每个人对于操作系统都非常的熟悉,不是每个人都会进行源代码编译的,因此如果能够将软件现在相同的硬件与操作系统上编译好才发行的话,如果再加上简易的安装/删除/管理等机制,则对于软件管理会简单的多…

    Linux干货 2016-08-24
  • 数据分析≠Hadoop+NoSQL,不妨先看完善现有技术的10条捷径

    让业务搭乘大数据技术确实是件非常有吸引力的事情,而Apache Hadoop让这个诱惑来的更加的猛烈。Hadoop是个大规模可扩展数据存储平台,构成了大多数大数据项目基础。Hadoop是强大的,然而却需要公司投入大量的学习精力及其它的资源。 如果得到正确的应用,Hadoop确实能从根本上提升你公司的业务,然而这条Hadoop的应用之路却充满了荆棘。另一个方面…

    Linux干货 2015-02-25
  • Linux bash中命令执行状态返回值

    Linux bash中命令执行状态返回值 在操作系统中,命令的执行后输出的内容为命令执行结果输出,而这个命令本身是否执行成功,它是通过命令执行状态返回值来标识的。 常用的值: 0 表示命令执行成功非0 表示命令执行失败 bash中获取命令执行状态返回值的方法 在刚执行完一条指令后,使用echo $?取得上一条指令的命令执行状态返回值,示例如下:  …

    Linux干货 2016-11-06
  • N28_第二周

    linux文件管理命令

    Linux干货 2017-12-10
  • 关于大型网站技术演进的思考(三):存储的瓶颈(3)

    原文出处: 夏天的森林    存储的瓶颈写到现在就要进入到深水区了,如果我们所做的网站已经到了做数据库垂直拆分和水平拆分的阶段,那么此时我们所面临的技术难度的挑战也会大大增强。 这里我们先回顾下数据库的垂直拆分和水平拆分的定义: 垂直拆分:把一个数据库中不同业务单元的数据分到不同的数据库里。 水平拆分:是根据一定的规则把同一业务…

    Linux干货 2015-03-03

评论列表(1条)

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

    赞~总结的比较详细~能注意下排版会更好一点~继续加油!