linux小命令备忘录

最近对有道云笔记上记录的linux小命令做了整理,列出了针对一些常见问题,对应linux命令的用法,有助于提升工作效率或者排查问题。

  • linux 用dd命令创建指定大小的文件/测试磁盘写速度
dd if=/dev/zero of=/home/gerrard/hello.txt bs=1024M count=1
  • 查看*.a, *.so符号表
objdump -tT libName.so | grep symbel symbolName
nm -D libName.so | grep symbel symbolName 
  • 查找僵尸进程
ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
-A 参数列出所有进程
-o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数
因为状态为 z或者Z的进程为僵尸进程
  • netstat 查看端口占用
netstat查看端口占用
netstat -ano命令可以查看本机目前所有端口使用情况。并且按端口号从小到大排列。 结合grep可以查看指定端口
  • lsof 产看端口占用
lsof -i:$port
  • netstat 统计连接数
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
  • 统计子目录大小
du -h --max-depth=1
  • 合并两个文件
paste -d " " file1 file2 >outfile
  • 提取文件前m行
head -n $m file 
  • 提取文件后m行
tail -n $m file
  • 提取文件中间m-n行
sed -n '$m,$np' file
  • 手动释放cache的内存
echo 3 > /proc/sys/vm/drop_caches
  • tcpdump抓包
tcpdump -i p4p1 port 8080 -vvv -w 1.cap
    host xxx ip是xxx
    src xxx 源地址是xxx
    dst xxx 目的地址是xxx
  • goreplay抓取http报文
./goreplay --input-raw :8080 --output-file=1.log --input-raw-track-response
  • goreplay http流量转发
./goreplay --input-raw :80 --output-http="http://$host:$port"
  • 无法scp时传输文件
 python -m SimpleHTTPServer
 wget http://$ip:8080/$file
  • 追加方式看 docker logs (可以使用grep)
tail -f `docker inspect --format='{{.LogPath}}' 16c98d125879`
  • watch 容器内进程内存和docker stats输出的脚本
while true
do 
    date "+%Y-%m-%d %H:%M:%S"
    docker top $1 | grep "worker process" | awk '{print $2}' | while read i; do cat /proc/$i/status; done;
    docker stats $1 --no-stream
    sleep $2
done
  • sox查看wav音频信息
sox -V hello.wav -n
  • sox修改采样率
sox  hello.wav -r 16000 -c 1 -b 16 xxx.wav

wechat
微信扫一扫,订阅我的博客动态^_^