1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
[root@centos8 ~]#cat /etc/passwd|grep -v "/sbin/nologin"|wc -l
12
2、查出用户UID最大值的用户名、UID及shell类型
[root@centos8 ~]#cat /etc/passwd|cut -d ':' -f3|sort -n|tail -1
65534
3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
[root@centos8 ~]#netstat -tn|grep *[0-9]*|tr -s ' ' ':'|cut -d':' -f6|sort|uniq -c|sort -r
2 10.0.0.1
4、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值
#!/bin/bash
maxspace=`df -h|grep -E ^/dev/sd|grep -o [0-9]%|sort -r|head -1`
echo "当前最大的空间利用率为:$maxspace"
5、编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小
#!/bin/bash
##主机名
HOST_NAME=`hostname`
##IPv4地址
IPV4_IP=`ifconfig |grep -i mask|grep -Eo "([0-9]{1,3}.){3}[0-9]{1,3}"|head -1`
##操作系统版本
OS_VERSION=`cat /etc/redhat-release`
#内核版本
REL_VERSION=`uname -a`
##CPU型号
CPU_INFO=`lscpu`
##内存大小
MEM_INFO=`free -h`
##硬盘大小
HARD_INFO=`df -h`
COLOR="\E[31m"
END="\E[0m"
echo -e "$COLOR主机名:$END\n$HOST_NAME"
echo -e "$COLORIPv4地址:$END\n$IPV4_IP"
echo -e "$COLOR操作系统版本:$END\n$OS_VERSION"
echo -e "$COLOR内核版本:$END\n$REL_VERSION"
echo -e "$COLORCPU型号:$END\n$CPU_INFO"
echo -e "$COLOR内存大小:$END\n$MEM_INFO"
echo -e "$COLOR硬盘大小:$END\n$HARD_INFO"
6、20分钟内通关vimtutor
命令模式:vim [OPTION]... FILE...
常用选项为:
+# 打开文件后,让光标处于第#行的行首,+默认行尾
+/PATTERN 让光标处于第一个被PATTERN匹配到的行行首
-b file 二进制方式打开文件
-d file1 file2… 比较多个文件,相当于 vimdiff
-m file 只读打开文件
-e file 直接进入ex模式,相当于执行ex file
-y file Easy mode (like "evim", modeless),直接可以操作文件,ctrl+o:wq|q!
三种命令模式:命令或普通(Normal)模式、插入(Insert)或编辑模式、扩展命令(extended command )或命令(末)行模式。
模式之间转换:
(1)、命令模式进入插入模式
i insert, 在光标所在处输入
I 在当前光标所在行的行首输入
a append, 在光标所在处后面输入
A 在当前光标所在行的行尾输入
o 在当前光标所在行的下方打开一个新行
O 在当前光标所在行的上方打开一个新行
(2)、插入模式 — ESC-----> 命令模式
(3)、命令模式 ---- : ----> 扩展命令模式
(4)、扩展命令模式 ----ESC,enter----> 命令模式
扩展模式:
扩展命令模式基本命令
w 写(存)磁盘文件
wq 写入并退出
x 写入并退出
X 加密
q 退出
q! 不存盘退出,即使更改都将丢失
r filename 读文件内容到当前文件中
w filename 将当前文件内容写入另一个文件
! command 执行命令
r!command 读入命令的输出命令
命令模式:
字符间跳转:
h: 左
L: 右
j: 下
k: 上
单词间跳转:
w:下一个单词的词首
e:当前或下一单词的词尾
b:当前或前一个单词的词首
#COMMAND:由#指定一次跳转的单词数
当前页跳转:
H:页首
M:页中间行
L:页底
zt:将光标所在当前行移到屏幕顶端
zz:将光标所在当前行移到屏幕中间
zb:将光标所在当前行移到屏幕底端
行首行尾跳转:
^ 跳转至行首的第一个非空白字符
0 跳转至行首
$ 跳转至行尾
行间移动:
#G 或者扩展命令模式下
:# 跳转至由第#行
G 最后一行
1G, gg 第一行
命令模式翻屏操作:
Ctrl+f 向文件尾部翻一屏,相当于Pagedown
Ctrl+b 向文件首部翻一屏,相当于Pageup
Ctrl+d 向文件尾部翻半屏
Ctrl+u 向文件首部翻半屏
字符编辑:
x 剪切光标处的字符
#x 剪切光标处起始的#个字符
xp 交换光标所在处的字符及其后面字符的位置
~ 转换大小写
J 删除当前行后的换行符
删除命令(delete):
d 删除命令,可结合光标跳转字符,实现范围删除
d$ 删除到行尾
d^ 删除到非空行首
d0 删除到行首
dw
de
db
#COMMAND
dd: 剪切光标所在的行
#dd 多行删除
D:从当前光标位置一直删除到行尾,等同于d$
复制命令(yank):
y 复制,行为相似于d命令
y$
y0
y^
ye
yw
yb
#COMMAND
yy:复制行
#yy 复制多行
Y:复制整行
粘贴命令(paste);
p 缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
P 缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面
改变命令(change):
c$
c^
c0
cb
ce
cw
#COMMAND
cc #删除当前行并输入新内容,相当于S
#cc
C #删除当前光标到行尾,并切换成插入模式,相当于c$
参考:https://yyqing.me/post/2017/2017-02-22-vimtutor-chinese-summary)