第四周博客作业

一、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来

步骤一:查看/etc/passwd文件内容

[root@Centos8 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin

步骤二:统计非/sbin/nologin的用户个数,使用grep -v取反

[root@Centos8 ~]# grep -v /sbin/nologin /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
yk:x:1000:1000:yk:/home/yk:/bin/bash
user1:x:1001:1001::/home/user1:/bin/bash
[root@Centos8 ~]# grep -v /sbin/nologin /etc/passwd | wc -l
6
[root@Centos8 ~]#

步骤三:统计非/sbin/nologin的用户个数,将用户显示出来(是用cut)

[root@Centos8 ~]# grep -v /sbin/nologin /etc/passwd | cut -d: -f1
root
sync
shutdown
halt
yk
user1
[root@Centos8 ~]#

二、查出用户UID最大值的用户名、UID及shell类型

sort文本排序命令

作用:将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入

**PS:**默认按照字母表顺序排序,数字在字母前面

格式:sort [options] file(s)

参数

  • -r 执行反方向(由上至下)整理
  • -R 随机排序
  • -n 执行按数字大小整理
  • -f 选项忽略(fold)字符串中的字符大小写
  • -u 选项(独特,unique),合并重复项,即去重
  • -t char 选项使用char做为字段界定符
  • -k # 选项按照使用c字符分隔的 # 列来整理能够使用多次(取第几列)
[root@Centos8 ~]# sort -t: -k3 -nr /etc/passwd | head -1 | cut -d: -f1,3,7
nobody:65534:/sbin/nologin
[root@Centos8 ~]#

三、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序

[root@Centos8 ~]# w
 10:02:35 up  2:02,  4 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.2.121    12Jan21 54days  0.42s  0.42s -bash
root     tty2     -                23Feb21 12days  0.31s  0.31s -bash
root     pts/1    192.168.2.121    20Feb21 15days  0.33s  0.03s vim profile
root     pts/2    192.168.2.59     09:51    0.00s  0.10s  0.01s w
[root@Centos8 ~]#  w | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | sort -nr  |uniq -c
      1 192.168.2.59
      2 192.168.2.121
[root@Centos8 ~]#

四、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值

[root@Centos8 ~]# cat disk.sh 
#!/bin/bash
BEGIN="\e[1;35m"
END="\e[0m"
echo -e "${BEGIN}`df | grep /dev/sda | grep -o '[0-9]\+%'`${END}"
[root@Centos8 ~]# sh disk.sh 
24%
[root@Centos8 ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             361M     0  361M   0% /dev
tmpfs                391M     0  391M   0% /dev/shm
tmpfs                391M   11M  380M   3% /run
tmpfs                391M     0  391M   0% /sys/fs/cgroup
/dev/mapper/cl-root   45G  4.6G   41G  11% /
/dev/mapper/cl-data   45G  354M   45G   1% /data
/dev/sda1           1014M  240M  775M  24% /boot
[root@Centos8 ~]#

五、编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小

[root@Centos8 ~]# cat systeminfo.sh 
echo "-------------------system info--------------------------"

echo "当前主机名是:            `hostname`"

echo "当前的主机IP地址是:      `ifconfig | grep inet | egrep -o '[0-9]{1,3}(\.[0-9]+){1,3}[0-9]{1,3}' | head -1`"

echo "当前的操作系统版本是:    `cat /etc/redhat-release`"

echo "当前的内核版本是:        `uname -r`"

echo "当前的cpu型号是:         `lscpu | grep Model | cut -d: -f2 | tail -1 | tr -s ' '`"

echo "当前的系统的总内存是:     `free -h | grep Mem | tr -s ' ' : | cut -d: -f2`"

echo "当前的硬盘的大小是:       `lsblk | grep disk | tr -s ' ' : | cut -d: -f5 `"

echo "--------------------------------------------------------"

[root@Centos8 ~]# sh systeminfo.sh 
-------------------system info--------------------------
当前主机名是:            Centos8
当前的主机IP地址是:      192.168
当前的操作系统版本是:    CentOS Linux release 8.3.2011
当前的内核版本是:        4.18.0-240.el8.x86_64
当前的cpu型号是:          Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
当前的系统的总内存是:     780Mi
当前的硬盘的大小是:       100G
--------------------------------------------------------
[root@Centos8 ~]#
本项目是一个基于SSM(Spring+SpringMVC+MyBatis)框架和Vue.js前端技术的大学生第二课堂系统,旨在为大学生提供一个便捷、高效的学习和实践平台。项目包含了完整的数据库设计、后端Java代码实现以及前端Vue.js页面展示,适合计算机相关专业的毕设学生和需要进行项目实战练习的Java学习者。 在功能方面,系统主要实现了以下几个模块:用户管理、课程管理、活动管理、成绩管理和通知公告。用户管理模块支持学生和教师的注册、登录及权限管理;课程管理模块允许教师上传课程资料、设置课程时间,并由学生进行选课;活动管理模块提供了活动发布、报名和签到功能,鼓励学生参与课外实践活动;成绩管理模块则用于记录和查询学生的课程成绩和活动参与情况;通知公告模块则实时发布学校或班级的最新通知和公告。 技术实现上,后端采用SSM框架进行开发,Spring负责业务逻辑层,SpringMVC处理Web请求,MyBatis进行数据库操作,确保了系统的稳定性和扩展性。前端则使用Vue.js框架,结合Axios进行数据请求,实现了前后端分离,提升了用户体验和开发效率。 该项目不仅提供了完整的源代码和相关文档,还包括了详细的数据库设计文档和项目部署指南,为学习和实践提供了便利。对于基础较好的学习者,可以根据自己的需求在此基础上进行功能扩展和优化,进一步提升自己的技术水平和项目实战能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值