Linux常用命令大杂烩

编辑相关

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

多行行首插入:

  1. ctrl + v进入列编辑模式
  2. 向下或向上移动光标,把需要注释的行的开头标记起来
  3. 按大写的I,插入指定字符,比如“#”
  4. 再按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
  • Mac系统
    Mac系统中对使用率排序与Linux不一样,需要先输入o,然后输入列名即可(不止是CPU和内存)。如:
    • 按CPU使用率降序排序
      输入o,然后输入cpu
    • 按内存使用率降序排序
      输入o,然后输入mem

网络相关

发送UDP包

可以使用nc命令发送udp包,用于简单的调试场景。

echo  "hello world\n" | nc -uv 192.168.10.1 2333

tcpdump抓包

tcpdump -i {interface} port {port}

正则表达式

  1. 匹配prefix不包含某些字符串的数据
    ^(?!(i-0)|(Running)|(m5.large)).*$ // 匹配出prefix不是i-0或者Running或者m5.large的数据

你可能感兴趣的:(Linux常用命令大杂烩)