
linux应用开发
linux应用开发技巧
锅锅是锅锅
这个作者很懒,什么都没留下…
展开
-
linux下can调试工具canutils编译安装
canutils地址:https://public.pengutronix.de/software/socket-can/canutils/v4.0/canutils-4.0.6.tar.bz2 #4.0.6版本。libsocketcan地址:https://public.pengutronix.de/software/libsocketcan/libsocketcan-0.0.11.tar.bz2 #0.0.11版本。二、先编译libsocketcan。三、编译canutils。五、软连接进文件系统。原创 2024-01-12 17:03:18 · 2139 阅读 · 0 评论 -
ubuntu设置程序或者命令运行时间,到时间自动退出--timeout
对于无法退出的程序做很好的超时。这里使用timeout命令。timeout的单位。原创 2023-06-07 10:15:02 · 965 阅读 · 0 评论 -
windows共享文件夹给ubuntu
windows共享文件夹,虚拟机ubuntu访问原创 2023-04-10 18:05:27 · 1224 阅读 · 0 评论 -
ubuntu20修改网卡静态ip或者动态ip
ubuntu20修改网卡信息,静态ip动态ip原创 2023-03-06 12:00:10 · 2340 阅读 · 0 评论 -
linux修改root用户密码
linux修改root账户密码原创 2023-03-06 11:38:39 · 269 阅读 · 0 评论 -
ubuntu安装使用putty
ubuntu安装使用putty原创 2023-03-05 22:28:49 · 1727 阅读 · 0 评论 -
opcua开源代码OPEN62541的交叉编译
OPEN62541是opcua的一个开源代码,支持server 和client,免费,在交叉编译的时候还是有一些坑,这里介绍在嵌入式设备中交叉编译open62541。生成源文件open62541.c open62541.h 在当前build目录,以及静态库在bin/lib。修改“hints.ai_family = AF_UNSPEC;为“hints.ai_family = AF_INET;2、修改open62541.c。执行.sh build.sh。2)新建build目录。3)进入build目录。原创 2022-11-01 17:49:02 · 1870 阅读 · 0 评论 -
linux项目条件编译
条件编译原创 2022-10-20 10:34:51 · 330 阅读 · 0 评论 -
linux网络tcp检测网络断开
linux检测tcp断开原创 2022-10-13 18:11:16 · 2974 阅读 · 1 评论 -
ubuntu安装telnet
ubuntu安装telnet原创 2022-08-27 21:53:10 · 1272 阅读 · 0 评论 -
ubuntu安装samba文件共享
samba文件夹共享原创 2022-08-27 20:40:22 · 589 阅读 · 0 评论 -
vscode批量删除
代码】vscode批量删除。原创 2022-07-26 10:52:21 · 3235 阅读 · 0 评论 -
linux应用参数保存与配置
实际项目参数需要保存;有些配置信息需要存放于文件,这里给出demo示例二、原理原创 2022-07-03 22:55:15 · 1318 阅读 · 0 评论 -
树莓派设置静态ip
树莓派静态ip设置原创 2022-07-03 11:02:59 · 298 阅读 · 0 评论 -
树莓派设置wifi自动连接
树莓派自动连接wifi原创 2022-07-03 10:56:32 · 5008 阅读 · 0 评论 -
交叉编译工具查看支持c或者c++标准
在移植代码的时候,有些代码使用的是高版本的语言标准,但是编译器不一定支持,这里给出查看方法查看原创 2022-05-31 21:35:52 · 4137 阅读 · 0 评论 -
linux inittab
一、介绍inittab是linux下系统启动的一个配置;可以配置随系统启动的应用程序;并且可以配置监控应用程序运行,一旦运行程序宕机,则会被系统立即拉起。在内核起来后,会加载initab的配置一般文件存放位置/etc/initab,根据实际发行版会有不同二、配置说明1、格式:id:rstate:action:process<行标识符>:<状态标识符>:<动作标识符>:<可执行文件/shell命令>inittab文件中每一记录都从新的一行开始,每原创 2022-05-29 20:31:20 · 1637 阅读 · 0 评论 -
嵌入式linux 交叉编译nginx
一、源码准备百度云链接:添加链接描述这里源码由网友提供,也可自行网上下载二、环境搭建1、修改交叉编译工具gedit /etc/bash.bashrc2、添加交叉编译工具路径export PATH=/home/z/Desktop/nginx/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-1.0.14_eabi/bin:$PATHexport CC=arm-openwrt-linux-uclibcgnueabi-gccexport CXX=a原创 2022-05-21 22:15:34 · 1107 阅读 · 1 评论 -
openwrt开机自启动脚本编写
一、编写脚本在/etc/init.d编写脚本模板#!/bin/sh /etc/rc.common指定了执行该脚本的方式(必须)START=95 代表该脚本的启动顺序为95(注意,不是第95个执行的脚本,而是一个级别)。(数字越小,启动的越早)test#!/bin/sh /etc/rc.common# Copyright (C) 2006 OpenWrt.org START=95boot() { # process user commands }start_servi原创 2022-05-21 20:11:42 · 8212 阅读 · 0 评论 -
嵌入式linux debian安装配置使用telnet
1、安装apt-get install xinetdapt-get install telnetdapt-get install telnet2、修改配置1)nano /etc/xinetd.d/telnet填入以下内容service telnet{ disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnet原创 2022-05-09 20:54:00 · 1885 阅读 · 0 评论 -
嵌入式linux debian 守护进程
一、介绍守护进程专门负责管理app程序是否启动,没有启动就重启,可以设置重启次数时间间隔等二、示例1、安装supervisorapt-get install supervisor2、创建监控脚本cd /etc/supervisor/conf.dnano restapp.conf[program:restapp]user=rootcommand=/usr/bin/php /www/sites/task/restapp.php# 要确认该目录已经存在directory=/etc/loc原创 2022-05-04 12:49:47 · 1703 阅读 · 0 评论 -
嵌入式linux debian开机启动脚本编写
一、介绍debian和其他linux开机启动有所区别,这里给出开机启动的编写方法二、示例示例模板#!/bin/sh### BEGIN INIT INFO# Provides: test# Required-Start: $local_fs $remote_fs# Required-Stop: $local_fs $remote_fs# Should-Start: $network# Should-Stop: $network# Default-Start:原创 2022-05-04 12:03:36 · 2201 阅读 · 0 评论 -
嵌入式linux nginx的安装及测试
一、介绍二、安装示例1、debianapt-get install nginx查看版本nginx -v启动测试2、原生linuxcd /usr/localmkdir nginxcd nginxwget http://nginx.org/download/nginx-1.20.2.tar.gztar -xvf nginx-1.20.2.tar.gz# 编译nginx# 进入nginx目录/usr/local/nginx/nginx-1.20.2# 执行命令./conf原创 2022-05-03 08:58:26 · 1593 阅读 · 0 评论 -
openwrt、linux定时任务crond
一、介绍crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,任务可以是命令也可以是脚本,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务二、使用方法1、编写定时执行的程序或者脚本2、修改crond文件,这个文件是执行crondtab -e自动生成和修改的,不需要手动添加,系统根据/etc/crondtabs目录下的crond文件执行周期任务3、crond文件的格式minute原创 2022-04-19 10:22:44 · 1721 阅读 · 0 评论 -
linux中makefile高级用法--makefile调用makefile
一、介绍在大型项目中,makefile调用makefile很常见,也很方便,这里给出调用方法二、实例1、代码树app_top下,有顶层makefile和编译工具的设置文件Rules.make,负责整个应用的编译common_modules下,有makefile,负责common_modules这个文件夹的编译libmqtt下,有makefile,负责mqtt代码的编译2、编译过程在编译整个项目的时候,顶层makefile调用common_modules下makefilecommon_mo原创 2022-03-24 10:05:08 · 4517 阅读 · 0 评论 -
arp表老化时间及其修改
ARP表包含ip地址、mac地址的映射关系老化:arp表和mac表,当达到配置的表项老化时间后,根据探测次数每隔5s发送一个探测报文,如果一直没有收到应答消息则表项被删除。默认ARP表项的老化超时时间:缺省值是1200秒;MAC表的老化超时时间:缺省值是300秒 ;修改命令arp expire-time命令用来设置动态ARP表项的老化超时时间。mac-address aging-time命令用来设置动态MAC地址表项的老化时间arp detect-times命令修改arp探测次数。默认探测次原创 2022-03-01 14:43:23 · 19097 阅读 · 0 评论 -
拨号设备获取公网ip
curl -L ip.tool.lu原创 2022-02-25 17:45:09 · 2650 阅读 · 0 评论 -
树莓派添加开机自启动
一共三种方式1、/etc/rc.local2、/etc/profile3、守护进程1、/etc/rc.local把要启动的程序执行命令放到这个文件例如:sudo vi /etc/rc.local/home/pi/hello缺点:不能使用 &后台启动,也就是有阻塞的程序启动的话不执行后面的2、/etc/profile把要启动的程序执行命令放到这个文件例如:sudo vi /etc/profile/home/pi/hello如果程序带阻塞,则使用后台启动/home/pi/原创 2022-02-20 10:23:29 · 1398 阅读 · 0 评论 -
策略路由实现(基于ip rule、iproute、 iptables)
一个局域网上网电脑两张网卡:10.0.1.12320.0.1.123需求:局域网192.168.1.100以内走10.0.1.123局域网192.168.1.100以上走20.0.1.123设置网关上:1、添加默认路由(默认数据包走20.0.1.123)ip route default gw 20.0.1.1232、添加路由表(10.0.1.123添加到路由表)ip route add fwmark 3 table 3 via 10.0.1.1233、添加ip rule(打标记的数据原创 2022-02-18 16:15:10 · 2112 阅读 · 0 评论 -
source insight添加shell支持
1、下载支持https://www.sourceinsight.com/pub/languages/3.0下载clf文件3.5和4.0下载xclf文件2、添加插件到sorceinsight这里以4.0为例至此,sourceinsight就能支持shell的关键字和跳转了原创 2022-02-11 10:28:13 · 1257 阅读 · 0 评论 -
linux scp文件传输
scp是linux自带的一个命令工具,一般默认都有安装,windows上面是winscplinux与linux互传文件直接scp命令linux与windows互传文件winscp工具二、命令语法scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file][-l limit] [-o ssh_option] [-P port] [-S program][[user@]host1:]file1 [...] [[user@]ho原创 2022-02-09 18:14:21 · 2179 阅读 · 0 评论 -
linux防火墙iptables总结
一、介绍首先iptables是一个大的过滤系统,除了这个,现在新的过滤系统一nftables,功能大同小异iptables命令1、iptables ipv42、ip6tables ipv63、arptables arp过滤4、ebtables 以太网桥过滤iptables有5张内置表:1、filter表,过滤使用;内核模块:iptables_filter2、nat表,网络地址转换功能;内核模块:iptable_na3、mangle表,拆解报文,做出修改,并重新封装 的功能;iptable原创 2022-01-27 13:50:19 · 1665 阅读 · 0 评论 -
linux防火墙拓展ipset
一、介绍当设置ip过滤的时候,如果ip较多,经常修改,修改防火墙规则比较麻烦,可以使用ipset,ipset是一个集合,防火墙可以添加集合,只需要一条防火墙规则就可以实现整个集合里面ip的过滤iptables -I INPUT -m set --match-set banip src -p tcp --destination-port 80 -j DROPTYPENAME := method:datatype[,datatype[,datatype]]可以使用的method:bitmap, ha原创 2022-01-27 11:41:24 · 2126 阅读 · 0 评论 -
openwrt实现url过滤
一、介绍url过滤有多种方式1、iptables的拓展模块string模块效率不高,会影响通信速率2、iptables的拓展模块webstr模块只对http有效,https不行3、dns拦截,修改/etc/dnsmasq.conf,将指定的url设置固定的ip效率还行,就是不好实现白名单4、dnsmasq+ipset+iptables效率可以,黑白名单都能实现二、实现这里重点将第4种方式1、配置dnsmasq.conf修改/etc/dnsmasq.confconf-dir=/et原创 2022-01-27 11:11:23 · 8886 阅读 · 0 评论 -
openwrt开启dnsmasq-full替换默认dnsmasq
因为要用到dnsmasq的ipset功能,所以需要安装dnsmasq-full方法如下:1、进入openwrt目录,配置make meconfig在base system里面2、’取消原来的dnsmasq,选中dnsmasq-full3、编译生成镜像export FORCE_UNSAFE_CONFIGURE=1./mk_ap.sh -t evb6890v1_64_cpe_nand -f fibocom -m eau_00 -j 12...原创 2022-01-25 15:18:48 · 8226 阅读 · 1 评论 -
linux切换svn账户
方法一:删掉账户保存目录~/.subversion/auth/ 下的所有文件然后svn co url,会提示输入用户名和密码方法二:临时变更,加上 --username xxx --password xxx下载:svn co URL --username xxx --password xxx上传:svn c -m “xxx” --username xxx --password xxx...原创 2022-01-21 14:52:47 · 2429 阅读 · 0 评论 -
linux查看网络连接
netstat(新版本用ss命令替代) -n 不将IP、端口等解析为名称 -a 拉取所有socket(包括tcp、udp、unix sock等) -p 显示连接关联的进程信息(可能需要root权限) -t 只显示tcp连接 -u 只显示udp连接 -x 只显示unix sock连接 -l 只显示系统监听端口信息# 查看系统中所有tcp链接netstat -natp查看系统中监听的tcp端口,且将进程信息也一并打印netstat -ntpl原创 2022-01-19 14:19:03 · 6955 阅读 · 0 评论 -
Linux网络文件传输tftp
Windows端安装tftpd32硬件连接 网线Windows要传输的文件放tftpd32的设置目录Linux上输入tftp 电脑ip -g -r filename原创 2022-01-14 17:02:42 · 480 阅读 · 0 评论 -
openwrt开启upnp
一、介绍UPnP全名是Universal Plug and Play,UPnP 最大的愿景就是希望任何设备只要一接上网络,所有在网络上的设备马上就能知道有新设备加入,这些设备彼此之间能互相沟通,更能直接使用或控制它,一切都不需要设定,完全的Plug and Play作用1、UPNP开启后能方便智能监控设备直接透传到因特网,无需做烦琐的映射端口设置。2、UPNP开启后能方便智能网络存储设备与因特网进行数据传输,节省手动设置时间。3、UPNP开启后能方便在因特网使用ERP、CRM、第三方远程桌面等软件原创 2021-12-29 14:38:07 · 39955 阅读 · 1 评论 -
linux c检测文件函数
access函数功能描述:检查调用进程是否可以对指定的文件执行某种操作。用法:#include <unistd.h>#include <fcntl.h>int access(const char *pathname, int mode);参数:pathname: 需要测试的文件路径名。mode: 需要测试的操作模式,可能值是一个或多个R_OK(可读?), W_OK(可写?), X_OK(可执行?) 或 F_OK(文件存在?)组合体。返回说明:成功执行时,返回0。原创 2021-12-16 19:08:47 · 204 阅读 · 0 评论