編輯相關
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
的數據