编辑相关
vim
基础操作(注意大小写)
h 光标左移
l 光标右移
A 移动光标到当前行尾,并进入 insert 状态
0 移动光标到当前行首
i 在当前位置进入 insert 状态
a 在当前位置后进入 insert 状态
dd 删除当前行
D 删除光标之后的内容
p 粘贴刚删除的文本
u 撤销历史操作
ctrl+r 搜索历史命令
!! 执行上条命令
w 移动光标到下一个单词开头
b 移动光标到上一个单词开头
编辑
删除光标位置到行尾:d$
删除光标位置到行首:d0
删除从光标开始到单词结尾:dw
删除从光标后的2个单词:d2w
删除整个单词:【daw】 ——不考虑光标的停留位置,只要在该单词上,则会自动删除整个单词
删除光标停留的那整行:【dd】
从光标处往前删除单词:【db】
删除光标位置到本行开头:【d0】
删除所有行(先用G转到文件尾):
:1,.d
删除光标处的字符: 【x】
删除光标前的字符: 【X】
替换
替换一个: :s /old/new
替换最后一个: :s /.*\zs/old/new
PS:想要替换下一个时,除了重新输入一遍命令外,还可以直接输入&
重新执行上一条命令。
替换所有::s /old/new/g
多行行首插入:
- ctrl + v进入列编辑模式
- 向下或向上移动光标,把需要注释的行的开头标记起来
- 按大写的I,插入指定字符,比如“#”
- 再按Esc,就会在指定行首插入“#”
每行行首/行尾插入
每行的行首都添加一个字符串:%s/^/要插入的字符串
每行的行尾都添加一个字符串:%s/$/要插入的字符串
解释:
% 代表针对被编辑文件的每一行进行后续操作
$ 代表一行的结尾处
^ 代表一行的开头处
跳转
往前翻页:ctrl + f
往后翻页:ctrl + b
往前翻半页:ctrl + u
往后翻半夜:ctrl + d
dns相关
手动指定dns服务器进行域名解析
使用nslookup手动指定待测试的dns服务器地址的用法:
$ nslookup www.baidu.com 114.114.114.114
Server: 114.114.114.114
Address: 114.114.114.114#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 180.101.49.12
Name: www.a.shifen.com
Address: 180.101.49.11
手动指定待测试的dns服务器地址,不使用系统默认的/etc/resolve.conf,例如
$ dig @114.114.114.114 www.baidu.com
; <<>> DiG 9.10.6 <<>> @114.114.114.114 www.baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25424
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 118 IN CNAME www.a.shifen.com.
www.a.shifen.com. 37 IN A 180.101.49.12
www.a.shifen.com. 37 IN A 180.101.49.11
;; Query time: 11 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Thu Aug 26 10:25:53 CST 2021
;; MSG SIZE rcvd: 101
查看系统信息
查看cpu、内存占用
top
命令常用于监控Linux的系统状况,如CPU、内存的使用率。但是如何对top命令展示的资源使用率进行排序则需要区分系统:
- Linux系统
- 按CPU使用率降序排序
输入大写字母P
- 按内存使用率降序排序
输入大写字母M
- 按CPU使用率降序排序
- Mac系统
Mac系统中对使用率排序与Linux不一样,需要先输入o
,然后输入列名即可(不止是CPU和内存)。如:- 按CPU使用率降序排序
输入o
,然后输入cpu
- 按内存使用率降序排序
输入o
,然后输入mem
- 按CPU使用率降序排序
网络相关
发送UDP包
可以使用nc命令发送udp包,用于简单的调试场景。
echo "hello world\n" | nc -uv 192.168.10.1 2333
tcpdump抓包
tcpdump -i {interface} port {port}
正则表达式
- 匹配prefix不包含某些字符串的数据
^(?!(i-0)|(Running)|(m5.large)).*$
// 匹配出prefix不是i-0
或者Running
或者m5.large
的数据