2021-1

一、网址参考

  1、 i2cdetect(8) - Linux man page

  2、linux内核之Kfifo环形队列

  3、C++中随机函数rand()和srand()的用法

  4、如何用shell脚本实现自动telnet

  5、expect命令使用

  6、telnet自动登录的脚本

  7、Linux下使用Shell脚本实现FTP自动上传和下载文件

  8、脚本自动登陆telnet并执行命令

  9、send() function in C how to handle if not all bytes are sent?

  10、wpa_supplicant之eloop_run分析

  11、libevent(一)定时器Demo

  12、深入理解Android:Wi-Fi、NFC和GPS卷(完整版)

  13、Libevent 的多线程操作

  14、使用grep搜索多个字符串

二、实战经验

  1、i2cdetect命令示例, 后面的4表示I2C总线,可以扫描总线下面的I2C设备:

i2cdetect -l 
i2cdetect -y -r 4

   2、通过shell脚本进行ftp传输文件和telnet操作

#!/bin/sh
PUTFILE=test
HOST_IP=192.168.22.76
(
    sleep 1
    echo cjb
    sleep 1
    echo 123456
    sleep 1
    echo "rm -rf /opt/$PUTFILE"
    sleep 1
) | telnet $HOST_IP

ftp -v -n $HOST_IP<<EOF
user root linux
binary
cd /opt
lcd .
prompt
put $PUTFILE
bye
#here document
EOF
echo "commit to ftp successfully"

(
sleep 1
echo cjb
sleep 1
echo 123456
sleep 1
echo "cd /opt"
sleep 1
echo "chmod +x $PUTFILE"
sleep 1
echo "sync"
sleep 1
echo "reboot"
sleep 3
) | telnet $HOST_IP

  注意:在reboot命令后,一定要加延时,否则重启命令无效

  3、send函数

    1)当需要发送一个很大的数据包,如50~60k,则最好分包发送,而每次send函数的len最大值设置为8192字节(比较实际需要发送字节数与8192,取最小值),网上说设置8192的效率高点;

    2)非阻塞方式发送时,需要判断返回值. 如EWOULDBLOCK, 可以延时一会儿,再发送

  4、grep使用

    同时查找两个字符串的命令: grep '1419B688007F8|1419B68F80505' res.log > res2.log

    注意字符串中间在管道符号前面的‘’转义符号,并且不要有空格

原文地址:https://www.cnblogs.com/shanyu20/p/14235258.html