- awk
awk 'BEGIN{} {} END{} ' 文件名
#统计文本的第一列
awk '{print $1}' new.txt
#统计文件里面第一列各个元素出现的次数
awk ‘{res[$1]++} END{for (r in res) print r" "res[r]}’ 文件名
- sed
#文本替换
sed ‘s/要被替换的文本/替换的文本/g’ 文件名
#打印文本里面包含特定字符的行
sed -n '/zhao/p' 文件名
- netstat
netstat
-a :all,表示列出所有的连接,服务监听,Socket资料
-t :tcp,列出tcp协议的服务
-u :udp,列出udp协议的服务
-n :port number, 用端口号来显示
-l :listening,列出当前监听服务
-p :program,列出服务程序的PID
-
top and htop
相当于linux下面的任务管理器 -
ps
ps -aux
#vsz virtual memory size 虚拟内存的大小
#RSS 驻留集的大小

- grep
#我经常将grep和管道连在一起使用
netstat -antupl | grep nginx
#查找一个目录下面(这个目录下面可能有很多文件)包含字符串“zhao”的文件
grep -rn "zhao"

grep查找日志
# 查看xxx.log.* 文件里面的error
grep error xxx.log.*
# 查看日志,但是不看到timeout的错误
grep error xxx.log.* | grep -iv "timeout"
# 匹配多个关键字的一个
grep -E "key1|key2|key3" xxx.log
vim 匹配多个关键字
/key1\|key2
- find命令
#find 命令好像是一个很神奇and强大的命令
#我经常使用的是
find 搜索的路径 -name 文件名
#如何搜索当前目录下面的cpp文件
find ./ -name *.cpp
- 如何将一个进程进入后台运行?
- commond 后面加一个 &
python xxx.py &
- 使用supervisor 工具
这个一般让一个程序自动的启动。
-
iostat
查看磁盘的io情况 -
df
查看磁盘的使用情况
dudu -h --max-depth=1
-
ssh命令
ssh 用户名@ip
比如 ssh zhaozheng@192.168.3.21
#如果我在图书馆想登陆实验室的服务器(不在一个网段下面)
#实验室路由器的wan ip是 100.64.210.151
#在实验室的路由器上面配置端口映射 将20000端口映射到 服务器的ip:22端口上面
ssh zz@100.64.210.151 -p 20000
- curl 和 ncat
这两个很适合在网络编程和web开发里面使用。
- hexdump
查看一个文件的十六进制表示
hexdump -C dump.rdb
00000000 52 45 44 49 53 30 30 30 36 fe 00 0d 03 73 74 75 |REDIS0006....stu|
00000010 1f 1f 00 00 00 1b 00 00 00 04 00 00 04 6e 61 6d |.............nam|
00000020 65 06 04 7a 68 61 6f 06 03 61 67 65 05 fe 19 ff |e..zhao..age....|
00000030 00 04 6e 61 6d 65 04 7a 68 61 6f ff 8d 39 29 8d |..name.zhao..9).|
00000040 4b ee 5b b1 |K.[.|
00000044
# 在这个输出是十六进制表示,比如52(是十六进制的52,对应的ASC是R,两个十六进制的符号 表示一个字节)
# 最左侧的是文件的长度 00000000 表示相对的起始地址
# 00000010 是十六进制表示,10(十六进制)表示的是 16,也就是第十六个字节
-
curl
curl命令是一个很好用的命令,curl可以发出网络请求,然后得到服务器返回的数据。显示在桌面上面。#显示服务器返回的html curl 127.0.0.1
#显示头部的信息 curl -i 127.0.0.1
输出的结果:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 796 100 796 0 0 796 0 0:00:01 --:--:-- 0:00:01 49750 HTTP/1.1 200 OK Server: nginx/1.11.3 Date: Sat, 23 Sep 2017 07:02:27 GMT Content-Type: text/html Content-Length: 796 Last-Modified: Thu, 21 Sep 2017 12:49:40 GMT Connection: keep-alive ETag: "59c3b564-31c" Accept-Ranges: bytes <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> ....
#显示完整的通信的过程 curl -v 127.0.0.1
#模拟get 和post 请求 curl 127.0.0.1?id=3 #post curl -d "id=3&name=zz" 127.0.0.1
-
关于cookie
#可以保存服务器返回的cookie到文件 curl -c cookies http://example.com #可以使用这个文件作为cookie信息,进行后续的请求。 curl -b cookies http://example.com #使用`--cookie`参数,可以让curl发送cookie curl --cookie "name=xxx" www.example.com
网友评论