Thanks for the gift

最近收到了 莓莓班主任寄过来的纪念版羽毛笔,很是精致。

自从加入了马哥 架构师微职位之后,跟 51CTO 的班级互动一直没有断过,先是 ,后是 私有云平台。51CTO 也给我送过许多大大小小的礼物,不过都是些钥匙扣和 U盘 什么的,唯独这件,着实让我惊喜了一回。感谢 51CTO,感谢班班,感谢大家的支持。

Continue reading “Thanks for the gift”

Thanks for the gift

magedu pro 第七周作业

1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;

脚本内容如下:

#!/usr/bin/env 

loginshell=$( /etc/|cut -d: -f7);

loginct=0;
nologinct=0;

for i in $loginshell;do
  if [[ "$i" == "/sbin/nologin" ]]; then
    let nologinct+=1;
  else
    let loginct+=1;
  fi
done

 "可登录的用户数为:$loginct";
 "不可登录的用户数为:$nologinct";

执行结果如下:

[hzz@ ~]$ bash test.sh 
可登录的用户数为:5
不可登录的用户数为:20
[hzz@ ~]$

Continue reading “magedu pro 第七周作业”

magedu pro 第七周作业

magedu pro 第六周作业

1、请详细描述 系统的启动流程(详细到每个过程系统做了哪些事情)。

由于篇幅过长,已单独写成一篇博客,详见:《CentOS 系统启动流程

2、为运行于虚拟机上的 CentOS 6 添加一块新硬件,提供两个主分区。

  • (1)为硬盘新建两个主分区;并为其安装
  • (2)为硬盘的第一个主分区提供内核和 ramdisk 文件;为第二个分区提供 rootfs 。
  • (3)为 rootfs 提供 、 ls 、 程序及所依赖的库文件。
  • (4)为 grub 提供配置文件。
  • (5)将新的硬盘设置为第一启动项并能够正常启动目标主机。

Continue reading “magedu pro 第六周作业”

magedu pro 第六周作业

magedu pro 第五周作业

1. 请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。

网桥

连接不同子网,使其透明通信,它们工作在链路层。它们处理的是链路层数据,一般来说就是以太
网帧格式的数据,缺点是无法避免“广播风暴”,交换机就是网桥的集合。

集线器

集线器的基本功能是信息分发,它把一个端口接收的所有信号向所有端口分发出去。一些集线器
在分发之前将弱信号重新生成,一些集线器整理信号的时序以提供所有端口间的同步数据通信,
工作在物理层,集线器只是把各个终端互相连接起来而已,处理的是信号。

Continue reading “magedu pro 第五周作业”

magedu pro 第五周作业

magedu pro 第四周作业

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

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

# 创建分区

[hzz@ ~]$ sudo  /dev/sdb
欢迎使用  (util- 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x9cfbcaa9 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-31457279,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-31457279,默认为 31457279):+10G
分区 1 已设置为  类型,大小设为 10 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re- partition table.
正在同步磁盘。
[hzz@magedu ~]$

# 格式化分区并按要求创建 ext4 文件系统

[hzz@magedu ~]$ sudo mkfs.ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=MYDATA
OS type: Linux
块大小=2048 (log=1)
分块大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 5242880 blocks
104857 blocks (2.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=273678336
320 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
        16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 
        2048000, 3981312

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成   

[hzz@magedu ~]$ 

# 确认默认挂载属性(Default mount options)

[hzz@magedu ~]$ sudo tune2fs -l /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name:   MYDATA
Last mounted on:          <not available>
Filesystem UUID:          d857478c-911f-4888-a4ee-2fbbf22671a1
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_ dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
 count:              655360
Block count:              5242880
Reserved block count:     104857
Free blocks:              5121266
Free inodes:              655349
First block:              0
Block size:               2048
Fragment size:            2048
Group descriptor size:    64
Reserved GDT blocks:      512
Blocks per group:         16384
Fragments per group:      16384
Inodes per group:         2048
 blocks per group:   256
Flex block group size:    16
Filesystem created:       Thu Jul 27 20:49:22 2017
Last mount time:          n/a
Last write time:          Thu Jul 27 20:49:22 2017
Mount count:              0
Maximum mount count:      -1
Last checked:             Thu Jul 27 20:49:22 2017
Check interval:           0 (<none>)
Lifetime writes:          65 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First :              11
 size:               256
Required extra isize:     28
Desired extra isize:      28
Journal :            8
Default directory hash:   half_md4
Directory Hash Seed:      cb8604c6-6cfd-4aae-9734-0c775d88a2c1
Journal backup:            blocks
[hzz@magedu ~]$ 

# 如默认存在 acl ,则去掉另配(练习操作)

[hzz@magedu ~]$ sudo tune2fs -o ^acl /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
[hzz@magedu ~]$ sudo tune2fs -l /dev/sdb1     
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name:   MYDATA
Last mounted on:          <not available>
Filesystem UUID:          d857478c-911f-4888-a4ee-2fbbf22671a1
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_ dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
 count:              655360
Block count:              5242880
Reserved block count:     104857
Free blocks:              5121266
Free inodes:              655349
First block:              0
Block size:               2048
Fragment size:            2048
Group descriptor size:    64
Reserved GDT blocks:      512
Blocks per group:         16384
Fragments per group:      16384
Inodes per group:         2048
 blocks per group:   256
Flex block group size:    16
Filesystem created:       Thu Jul 27 20:49:22 2017
Last mount time:          n/a
Last write time:          Thu Jul 27 20:53:33 2017
Mount count:              0
Maximum mount count:      -1
Last checked:             Thu Jul 27 20:49:22 2017
Check interval:           0 (<none>)
Lifetime writes:          65 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First :              11
 size:               256
Required extra isize:     28
Desired extra isize:      28
Journal :            8
Default directory hash:   half_md4
Directory Hash Seed:      cb8604c6-6cfd-4aae-9734-0c775d88a2c1
Journal backup:            blocks
[hzz@magedu ~]$ 

[hzz@magedu ~]$ sudo tune2fs -o acl /dev/sdb1 
tune2fs 1.42.9 (28-Dec-2013)
[hzz@magedu ~]$ sudo tune2fs -l /dev/sdb1    
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name:   MYDATA
Last mounted on:          <not available>
Filesystem UUID:          d857478c-911f-4888-a4ee-2fbbf22671a1
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_ dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
 count:              655360
Block count:              5242880
Reserved block count:     104857
Free blocks:              5121266
Free inodes:              655349
First block:              0
Block size:               2048
Fragment size:            2048
Group descriptor size:    64
Reserved GDT blocks:      512
Blocks per group:         16384
Fragments per group:      16384
Inodes per group:         2048
 blocks per group:   256
Flex block group size:    16
Filesystem created:       Thu Jul 27 20:49:22 2017
Last mount time:          n/a
Last write time:          Thu Jul 27 20:54:15 2017
Mount count:              0
Maximum mount count:      -1
Last checked:             Thu Jul 27 20:49:22 2017
Check interval:           0 (<none>)
Lifetime writes:          65 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First :              11
 size:               256
Required extra isize:     28
Desired extra isize:      28
Journal :            8
Default directory hash:   half_md4
Directory Hash Seed:      cb8604c6-6cfd-4aae-9734-0c775d88a2c1
Journal backup:            blocks
[hzz@magedu ~]$ 

# 按要求挂载分区

[hzz@magedu ~]$ sudo mkdir -p /data/mydata
[hzz@magedu ~]$ sudo mount -o noexec,noatime /dev/sdb1 /data/mydata   
[hzz@magedu ~]$ mount |  mydata
/dev/sdb1 on /data/mydata type ext4 (rw,noexec,noatime,seclabel,data=ordered)
[hzz@magedu ~]$

Continue reading “magedu pro 第四周作业”

magedu pro 第四周作业

【转载】我为什么鼓励工程师写blog

  • 工程师该怎样才能突破自己的能力瓶颈?写blog!
  • 工程师该怎样精进自己在职涯上所需要的能力?写blog!
  • 工程师该怎样才能保持学习与成长的动能?写blog!
  • 工程师该怎样才能证明自己的潜力与特质?写blog!
  • 工程师该怎样才能发挥与养成影响力?写blog!

Continue reading “【转载】我为什么鼓励工程师写blog”

【转载】我为什么鼓励工程师写blog

51cto 学院四周年的一些感想

自我介绍

大家好,我是 学院马哥架构班11组的学员黄中章。对的,就是你们所看到的,所听到的,传说中的章帅。嗯,确实不太帅是吧。

我之所以会在这儿吓你们呢是因为 51cto 学院四周年了,文慧希望我能跟大家分享一下这段时间在 51cto 的学习感想,以及对 51cto 学院的一些祝福。

Continue reading “51cto 学院四周年的一些感想”

51cto 学院四周年的一些感想

magedu pro 第三周作业

1、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

# 新建用于筛选的文件和目录
[hzz@huangzz6 ~]$ sudo touch /var/lkkk123kkk
[hzz@huangzz6 ~]$ sudo touch /var/lkkk123kkk123
[hzz@huangzz6 ~]$ sudo mkdir /var/lkkk123kkk123kkk
[hzz@huangzz6 ~]$ sudo mkdir /var/lkkk123kkk123kkk123
[hzz@huangzz6 ~]$

# 使用ls进行查找
[hzz@huangzz6 ~]$ sudo ls -d /var/l*[[:digit:]]*[[:lower:]]
/var/lkkk123kkk  /var/lkkk123kkk123kkk
[hzz@huangzz6 ~]$

# 使用find进行查找
[hzz@huangzz6 ~]$ sudo  /var -maxdepth 1 -name "l*[[:digit:]]*[[:lower:]]"
/var/lkkk123kkk
/var/lkkk123kkk123kkk
[hzz@huangzz6 ~]$

# 使用ls+egrep进行查找
[hzz@huangzz6 ~]$ sudo ls -A /var/|egrep "^l.*[[:digit:]].*[[:lower:]]$"
lkkk123kkk
lkkk123kkk123kkk
[hzz@huangzz6 ~]$ 

Continue reading “magedu pro 第三周作业”

magedu pro 第三周作业