1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
#统计非/sbin/nologin的用户个数
[root@centos8 ~]# cat /etc/passwd |grep -Ev '/sbin/nologin$'|wc -l 5
#grep显示用户
[root@centos8 ~]# cat /etc/passwd |grep -Ev '/sbin/nologin$'|cut -d: -f1 root sync shutdown halt newlion
#sed显示用户
[root@centos8 ~]# cat /etc/passwd |sed -En '/\/sbin\/nologin$/!p'|cut -d: -f1 root sync shutdown halt newlion
#awk显示用户
[root@centos8 ~]# cat /etc/passwd |grep -Ev '/sbin/nologin$'|awk -F':' '{print $1}' root sync shutdown halt newlion
2、查出用户UID最大值的用户名、UID及shell类型
[root@centos8 ~]# cat /etc/passwd |awk -F':' '{print $3,$1,$7}'|sort -nr|head -n1
65534 nobody /sbin/nologin
3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
[root@centos8 ~]# ss -nt|grep '^ESTAB'|tr -s ' ' :|cut -d: -f6|sort |uniq -c|sort -nr 4 10.0.0.1
[root@centos8 ~]# ss -nt |grep "^ESTAB" | awk -F"[[:space:]]+|:" '{print $(NF-2)}'|sort |uniq -c |sort -nr 4 10.0.0.1
4、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值
[root@centos8 data]# cat disk.sh #!/bin/bash # #******************************************************************** #Author: newlion #Date: 2021-07-20 #FileName: disk.sh #Description: The test script #Copyright (C): 2021 All rights reserved #******************************************************************** SPACE_USED=`df|grep '^/dev/sd'|tr -s ' ' %|awk -F% '{print $1,$5}'|sort -k2 -nr|head -1` echo $SPACE_USED [root@centos8 data]# ./disk.sh /dev/sda1 19
5、编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小
[root@centos8 data]# cat systeminfo.sh #!/bin/bash # #******************************************************************** #Author: newlion #Date: 2021-07-20 #FileName: systeminfo.sh #Description: The test script #Copyright (C): 2021 All rights reserved #******************************************************************** RED="\E[1;31m" GREEN="\E[1;32m" END="\E[0m" echo -e "$GREEN----------------------Host systeminfo--------------------$END" echo -e "HOSTNAME: $RED`hostname`$END" echo -e "IPADDR: $RED` ifconfig eth0|grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' |head -n1`$END" echo -e "OSVERSION: $RED`cat /etc/redhat-release`$END" echo -e "KERNEL: $RED`uname -r`$END" echo -e "CPU: $RED`lscpu|grep 'Model name'|tr -s ' '|cut -d : -f2`$END" echo -e "MEMORY: $RED`free -h|grep Mem|tr -s ' ' : |cut -d : -f2`$END" echo -e "DISK: $RED`lsblk |grep '^sd' |tr -s ' ' |cut -d " " -f4`$END" echo -e "$GREEN---------------------------------------------------------$END" [root@centos8 data]# ./systeminfo.sh ----------------------Host systeminfo-------------------- HOSTNAME: centos8.3-small.com IPADDR: 10.0.0.9 OSVERSION: CentOS Linux release 8.3.2011 KERNEL: 4.18.0-240.el8.x86_64 CPU: AMD Ryzen 7 4800H with Radeon Graphics MEMORY: 1.7Gi DISK: 200G ---------------------------------------------------------
6、20分钟内通关vimtutor(可参考https://yyqing.me/post/2017/2017-02-22-vimtutor-chinese-summary)
第一课 摘要 1. 光标移动使用箭头或者hjkl四个字母 h (左) j (下) k (上) l (右) 2. 从shell开始启动vim的命令是:vim 文件名 <ENTER> 3. 退出VIM: 放弃所有更改退出: <ESC> :q! <ENTER> . 保存更改退出: <ESC> :wq <ENTER> . 4. 删除光标处的字符: x 5. 插入字符: 在光标之前插入字符: i 在行尾添加字符: A 注意:按<ESC>键可以让你回到正常模式或者取消你未完成的命令
第二课 摘要
1. 删除字符,从光标开始直到遇到下一个单词 dw 2. 删除字符,从光标开始直到当前行的末尾 d$ 3. 删除一整行 dd 4. 重复一个动作,可以在动作之前加一个数字: 2w 5. 一些操作的格式是: 操作符 [数字] 移动 操作符:要做什么,例如字母d是用于删除 数字: 你要重复的次数 移动: 你的操作要作用在多少文本内容上,例如w就是一个单词,$是到行尾 6. 把光标移动到行首: 0 7. 撤销之前的动作: u (小写u) 撤销这一行的所有改动: U (大写U) 撤销刚才的”撤销“: CTRL-R
第三课 摘要 1. 打印出你刚刚删除的内容: p 它会把内容打印在你光标的后面 2. 喜欢光标位置的字符:先输入r,然后输入新的字符 3. 改动类操作符可以让你改变从当前光标到”motion“的位置 例如, ce 可以改变从光标到单词的末尾 c$ 可以改变从光标都行末尾 4. 改动类操作的格式是: c [数字] 移动
第四课 摘要 1. CRTL-G 显示你的光标在文档中的位置信息 移动到文件末尾: G 移动到某一行: 行号 G 移动到第一行 gg 2. 前向搜索,输入 / 然后紧跟你要搜索的字符串, 后向搜索,输入 ? 输入 n 来找到下一个出现的地方 输入 N 来找到上一个出现的地方 CTRL-O可以回到之前的编辑的位置 CTRL-I可以跳到新的位置 3. 输入 % 来跳转到与之匹配的括号,当光标在 ( ) [ ] { } 4. 替换改行的第一个old单词为new :s/old/new 替换改行的所有old单词为new :s/old/new/g 替换两个#之间的单词 :#,#s/old/new/g 替换文件中所有的单词 :%s/old/new/g 每一个替换之前都需要确认的话,在命令末尾加一个 c :%s/old/new/gc
第五课 摘要 1. :!命令 会执行一个外部命令 一些例子如下: (MS-DOS) (Unix) :!dir :!ls 列出目录 :!del FILE :!rm FILE 删除文件 2. :w 文件名 把当前vim文件另存为某个文件名 3. v motion :w FILENAME 把选中的内容另存为到文件 4. :r FILENAME 从某个文件中取出内容添加到当前的位置 5. :r !dir 把列出目录命令的结果添加到光标的位置
第六课 摘要
1. 小写字母 o 在当前行的下方插入一个空白行,并进入编辑模式 大写字母 O 在当前行的上方插入一个空白行,并进入编辑模式 2. 小写字母 a 要在光标的后面插入字符. 大写字母 A 要在该行的末尾添加字符 3. e 移动到单词的末尾 4. y操作符 用来拷贝文本, p 用来粘贴 5. 大写字母 R 进入 替换模式,直到按下<ESC>键 6. ":set xxx"来设置选项 "xxx", 举例选项如下: 'ic' 'ignorecase' 搜索的时候忽略大写小写 'is' 'incsearch' 在输入搜索目标字符串的时候实时匹配并显示 'hls' 'hlsearch' 高亮匹配项 这些选项,可以用缩写也可以用简写 7. 在选项前面加一个”no“来关闭该选项 :set noic
第七课 摘要 1. 输入 :help 或者 按下<F1>or<HELP> 来打开帮助窗口 2. 输入 :help cmd 来打开命令cmd的帮助文档 . 3. 输入 CTRL-W CTRL-W 来跳转到另外的窗口 4. 输入 :q 来关闭帮助窗口 5. 创建一个vimrc文件来保存你自己喜欢的设置 6. 当输入一个 : 时, 按下 CTRL-D 来看有哪些命令来补全. 按下 <TAB> 来补全.