my_learn
rz -e 强制下载
sz
cut
-b 以字节未单位进行分割 cut -b 3
-f 显示指定字段的内容 cut -f1,2
-d 指定字段的分割符 默认为tab
awk
awk 'BEGIN{ commands } pattern{ commands } END{ commands }'
awk ‘{i=$1;count[i]++}END{for(i in count)print(i,count[i])}’ /var/log/httpd/access_log
cat access_log | grep '12/Aug/2009' | grep '/images/index/e1.gif' | wc | awk '{print $1}
tcpdump
tcpdump [options] [not ] proto dir type
options :-D 列出能监控的端口 加到 -i后面
-i 指定接口
-XX 输出包头数据
-vvv 显示详细输出
-nn 不解析未域名 不解析端口
-c 制定抓包的个数
proto :协议 udp/tcp/icmp/arp/ip/ether
dir : 制定方向 dst src src and dst src or dst
type: port host net portrange
telnet 通过用户名和密码远程端口
perf
https://www.cnblogs.com/arnoldlu/p/6241297.html
perf record -a -g ./fork
perf report --call-graph none
strace 内核调用跟踪
syscall手册:http://man7.org/linux/man-pages/man2/syscalls.2.html
strace -tt -f ./some_server ../conf/some_server.conf
文件和设备访问类 比如open/close/read/write/chmod等 进程管理类 fork/clone/execve/exit/getpid等 信号类 signal/sigaction/kill 等 内存管理 brk/mmap/mlock等 进程间通信IPC shmget/semget * 信号量,共享内存,消息队列等 网络通信 socket/connect/sendto/sendmsg 等 其他
strace -p 17553 跟踪正在运行的程序
-tt 在每行输出的前面,显示毫秒级别的时间
-T 显示每次系统调用所花费的时间
-v 对于某些相关调用,把完整的环境变量,文件stat结构等打出来。
-f 跟踪目标进程,以及目标进程创建的所有子进程
-e 控制要跟踪的事件和跟踪行为,比如指定要跟踪的系统调用名称
-o 把strace的输出单独写到指定的文件
-s 当系统调用的某个参数是字符串时,最多输出指定长度的内容,默认是32个字节
-p 指定要跟踪的进程pid, 要同时跟踪多个pid, 重复多次-p选项即可。
-e trace=file 跟踪和文件访问相关的调用(参数中有文件名)
-e trace=process 和进程管理相关的调用,比如fork/exec/exit_group
-e trace=network 和网络通信相关的调用,比如socket/sendto/connect
-e trace=signal 信号发送和处理相关,比如kill/sigaction
-e trace=desc 和文件描述符相关,比如write/read/select/epoll等
-e trace=ipc 进程见同学相关,比如shmget等
-c 统计徐通调用情况和其所花的时间
当目标进程卡死再用户态时,starce就没有输出
grep
-i 忽略大小学
-n 显示行号
-c 统计个数
-o 只匹配关键字
-B 相当于before 打印之前的几行
-A 相当于after 打印之后的几行
-C -A和-B的结合 打印前后几行
-v 取反
-e 匹配多个目标
-q 静默模式
-E 支持扩展正则 相当于egrep
fgrep 只匹配写死的字符串 但数据奇快 效率高
sed
sed [option]... 'script' inputfile
选项
-n 不输出模式空间内容到屏幕,即不自动打印
-e 多点编辑
-f /PATH/SCRIPT_FILE: 从指定文件中读取编辑脚本
-r 支持使用扩展正则表达式
-i 直接编辑文件
-i.bak 备份文件并原处编辑
script 地址定界
不给地址:对全文进行处理
单地址:
#: 指定的行,$:最后一行
/pattern/:被此处模式所能够匹配到的每一行
地址范围:
#,#
#,+#
/pat1/,/pat2/
`#,/pat1/
~:步进
1~2 奇数行
2~2 偶数行
编辑命令:
d 删除模式空间匹配的行,并立即启用下一轮循环
p 打印当前模式空间内容,追加到默认输出之后
a [\]text1 在指定行后面追加文本,支持使用\n实现多行追加
i [\]text 在行前面插入文本
c [\]text 替换行为单行或多行文本
w /path/somefile 保存模式匹配的行至指定文件
r /path/somefile 读取指定文件的文本至模式空间中匹配到的行后
= 为模式空间中的行打印行号
! 模式空间中匹配行取反处理
s///:查找替换,支持使用其它分隔符,s@@@,s###
替换标记:
g 行内全局替换
p 显示替换成功的行
w /PATH/TO/SOMEFILE 将替换成功的行保存至文件中
uniq 删除文本文件中重复出现的行列
-c 行首显示出现重复的次数
-d 仅显示出现重复的行列
sort 排序
-t 指定分割符
-r 倒序
-n 以数字排序
-k 以第几个字段排序 可以多个k