linux小命令备忘录

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

  • linux 用dd命令创建指定大小的文件/测试磁盘写速度
    1
    dd if=/dev/zero of=/home/gerrard/hello.txt bs=1024M count=1
  • 查看.a, .so符号表

    1
    2
    objdump -tT libName.so | grep symbel symbolName
    nm -D libName.so | grep symbel symbolName
  • 查找僵尸进程

    1
    2
    3
    4
    ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
    -A 参数列出所有进程
    -o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数
    因为状态为 z或者Z的进程为僵尸进程
  • netstat 查看端口占用

    1
    2
    netstat查看端口占用
    netstat -ano命令可以查看本机目前所有端口使用情况。并且按端口号从小到大排列。 结合grep可以查看指定端口
  • lsof 产看端口占用

    1
    lsof -i:$port
  • netstat 统计连接数

    1
    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
  • 统计子目录大小

    1
    du -h --max-depth=1
  • 合并两个文件

    1
    paste -d " " file1 file2 >outfile
  • 提取文件前m行

    1
    head -n $m file
  • 提取文件后m行

    1
    tail -n $m file
  • 提取文件中间m-n行

    1
    sed -n '$m,$np' file
  • 手动释放cache的内存

    1
    echo 3 > /proc/sys/vm/drop_caches
  • tcpdump抓包

    1
    2
    3
    4
    tcpdump -i p4p1 port 8080 -vvv -w 1.cap
    host xxx ip是xxx
    src xxx 源地址是xxx
    dst xxx 目的地址是xxx
  • goreplay抓取http报文

    1
    ./goreplay --input-raw :8080 --output-file=1.log --input-raw-track-response
  • goreplay http流量转发

    1
    ./goreplay --input-raw :80 --output-http="http://$host:$port"
  • 无法scp时传输文件

    1
    2
    python -m SimpleHTTPServer
    wget http://$ip:8080/$file
  • 追加方式看 docker logs (可以使用grep)

    1
    tail -f `docker inspect --format='{{.LogPath}}' 16c98d125879`
  • watch 容器内进程内存和docker stats输出的脚本

    1
    2
    3
    4
    5
    6
    7
    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音频信息

    1
    sox -V hello.wav -n
  • sox修改采样率

    1
    sox  hello.wav -r 16000 -c 1 -b 16 xxx.wav
gerrard wechat
微信扫一扫,订阅我的博客动态^_^
您的支持将鼓励我继续创作!