
Linux
文章平均质量分 72
高咩咩在人间
嵌入式软件开发/研发项目经理,系统分析师,PMP,蓝牙,wifi,移动模块,NB-IOT应用。若粉丝有问题需要解决,可以留言博主,博主会尽快根据问题输出博文供大家参考学习。
展开
-
Linux网络编程常见错误码及分析
#define EPERM 1 /* Operation not permitted */ 操作不允许#define ENOENT 2 /* No such file or directory */ 文件或路径不存在#define ESRCH 3 /* No such process */ 进程不存在#define EINTR 4 /* Interrupted system call */ 中断原创 2021-07-25 09:51:20 · 2597 阅读 · 1 评论 -
linux命令dpkg安装deb文件和卸载应用
deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.debdpkg 是Debian Package的简写,是为Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux发行版都使用dpkg,例如Ubuntu、Knoppix 等。以下是一些 Dpkg 的普通用法:1、dpkg -i <package.deb>安装一个 Debian 软件包,如你手动下载的文件。2、dpkg -c原创 2021-05-18 09:25:52 · 2414 阅读 · 0 评论 -
Linux中常用的命令操作
查看ls 查看当前目录下的内容ll 查看当前目录下的内容详情cat xxx 查看文本内容解压缩原创 2021-02-08 11:13:42 · 202 阅读 · 0 评论 -
linux应用程序判断网络是否连通
int Net_is_Ok(char *ip){ int i, status; pid_t pid; printf(">>>>>>>>>>>>> ping_status\n "); // 不同则循环检测多次 for (i = 0; i < 3; ++i) { // 新建一个进程来执行ping命令 if ((pid = vfork()) <原创 2020-12-28 15:35:06 · 749 阅读 · 0 评论 -
Websocket基础知识篇
WebSocket介绍websocket是HTML5的一种新协议,允许服务器向客户端传递信息,实现浏览器和客户端双工通信。先简单介绍下WebSocket。 我们都知道Http是处于应用层的一个通信协议,但是只支持单向主动通信,做不到服务器主动向客户端推送消息。而且Http是无状态的,即每次通信都没有关联性,导致跟服务器关系不紧密。为了解决和服务器长时间通信的痛点呢,HTML5规范引出了WebSocket协议(知道这名字咋来的吧,人家HTML5规范引出的,随爸姓),是一种建立在TCP协议基础上的全双工通信原创 2020-12-01 16:08:18 · 926 阅读 · 0 评论 -
Ubuntu输入正确密码后无法登陆桌面仍然跳转输入登陆界面的解决方法
由于安装软件改错了环境变量,导致桌面循环登录,而且ctrl+Alt+F1进入控制台后输入任何命令都无效解决办法:一. 控制台输入命令:echo $PATH查看path是否含有:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin二. 如果没有,先用临时环境变量(重启后消失)控制台输入:export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr原创 2020-11-27 09:41:57 · 1896 阅读 · 5 评论 -
进程间的五种通信方式
进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。以Linux中的C语言编程为例。一、管道管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。1、特点:(1)它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。(2)它只能用于具有亲缘关系的进原创 2020-11-26 19:20:20 · 375 阅读 · 0 评论 -
网络编程socket
socket端口号范围1~65535。其中0不使用,1-1023为系统端口,也叫BSD保留端口。0-1023: BSD保留端口,也叫系统端口,这些端口只有系统特许的进程才能使用;1024~65535为用户端口,又分为:BSD临时端口(1024-5000)和BSD服务器(非特权)端口(5001-65535)。其中:1024-5000: BSD临时端口,一般的应用程序使用1024到4999来进行通讯;5001-65535:BSD服务器(非特权)端口,用来给用户自定义端口。Socket根据数据传输原创 2020-11-25 18:50:25 · 170 阅读 · 0 评论 -
cjson安装及libcjson.so: cannot open shared object file: No such file or directory解决方法
一、JSON简介JSON是一种轻量级的数据交换格式,可读性强、编写简单。键值对组合编写规则,键名使用双引号包裹,冒号:分隔符后面紧跟着数值,有两种常用的数据类型是对象和数组。对象:使用花括号{}包裹起来的内容,数据结构{“key1”: “value1”, “key2”:“value2” …},key为对象的属性,value为对象的值。数值:使用中括号[]包裹起来的内容,数据结构{“key”: [“value1”, “value2”, “value3” …]}。1. {"name": "JSON"}原创 2020-11-17 17:14:22 · 3791 阅读 · 1 评论 -
linux使用popen、system函数执行shell命令无反应的解决方法
1.开发环境硬件:MT7688系统:openwrt(linux)2、解决方法将popen("ls","w");改为popen("ls > /dev/console","w");重点是/dev/console原创 2020-11-10 20:59:47 · 1506 阅读 · 0 评论 -
Ubuntu无法切换中文输入法的解决方法
1.安装搜狗输入法百度搜索:搜狗输入法linux,根据自己的系统位数和系统版本进行安装2.设置(1)选择系统设置(2)选择语言支持(3)选择键盘输入法系统为:fcitx3.重启系统原创 2020-10-29 10:25:27 · 11905 阅读 · 0 评论 -
Linux串口应用编程
1.串口相关操作在Linux下,除了网络设备,其余的都是文件的形式,串口设备也一样在/dev下。打开串口:示例:fd = open("/dev/ttyUSB0",O_RDWR|O_NOCTTY|O_NDELAY);在打开串口时,除了需要用到 O_RDWR (可读写)选项标志外,O_NOCTTY:告诉 Linux “本程序不作为串口的‘控制终端’”。如果不使用该选项,会有一些输入字符影响进程运行(如一些产生中断信号的键盘输入字符等)。O_NDELAY:标志则是告诉Linux,这个程序并不关心DCD原创 2020-08-03 09:35:32 · 875 阅读 · 0 评论 -
如何查看Ubuntu系统当前版本
一、系统位数在控制台输入:sudo uname --m如果显示i686,则表示安装了32位操作系统如果显示 x86_64,则表示安装了64位操作系统sudo uname --s 显示内核名字sudo uname --r 显示内核版本sudo uname --n 显示网络主机名sudo uname --p 显示cpu二、查看操作系统的版本号cat /etc/issue比如输出:Ubuntu 14.04.4 LTS \n \llsb_release -a三、查看系统类型,其中lsb表示原创 2020-07-28 09:42:05 · 1159 阅读 · 0 评论 -
如何手动升级更新ubuntu系统到最新版
首先安装更新(1)打开终端:Alt+Ctrl+T(2)更新资源sudo apt-get update(3)对软件升级sudo apt-get upgrade(4)接着安装系统更新,如果不希望升级系统版本,完成这步就可以了。sudo apt-get dist-upgrade 升级系统版本(1)安装上面的更新后重新启动一次系统sudo reboot (2)检测是否有ubuntu新版本sudo apt-get update sudo update-manager -原创 2020-07-27 14:18:28 · 30259 阅读 · 3 评论 -
Ubuntu/linux调用md5加密数据/文件
安装库sudo apt-get install opensslsudo apt-get install libssl-dev编写程序//gcc -g str_md5_demo.c -o str_md5_demo -lcrypto//#include <string.h>#include <stdio.h>#include <openssl/md5.h> int main(int argc, char* argv[]){ MD5_CTX ct原创 2020-06-29 14:45:06 · 788 阅读 · 0 评论 -
openwrt遇到clock_gettime问题解决
开发环境(1)Ubuntu12.04(2)openwrt 最新master解决方法找到/build_dir/host/bison-3.5.1/lib文件夹下的config.h和config.in.h注释掉/* Define to 1 if you have the `clock_gettime’ function. *///#undef HAVE_CLOCK_GETTIME/* Define to 1 if you have the `clock_settime’ function. */原创 2020-05-25 10:42:17 · 661 阅读 · 0 评论 -
Ubuntu12.04升级make的方法
官网下载makehttps://ftp.gnu.org/gnu/make/make-4.2.tar.gz解压tar -zxvf make4.2.tar.gz安装cd make4.2./configuresudo makesudo make install删除已安装的make:sudo apt-get remove make替换make文件:sudo cp make /usr/bin/make验证make -v...原创 2020-05-22 13:58:02 · 558 阅读 · 0 评论 -
Ubuntu12.04升级gcc的方法
1、添加软件源sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get update2、安装gcc高版本(以gcc4.8为例)sudo apt-get upgradesudo apt-get install gcc-4.8 g++-4.83、完成之后,可以查看一下此时的版本号。gcc -v如果版本未更改,那么需要更新下连接。gcc4.8更新链接update-alternatives --install /usr/原创 2020-05-22 13:54:38 · 601 阅读 · 0 评论 -
openwrt编译出现libaprutil-1.so: undefined reference to `iconv‘
一、硬件平台1.1 控制器:MT7688二、软件平台2.1、开发环境:Ubuntu12.04 2.2、软件版本:openwrt-hiwooya-stable三、问题描述openwrt下载的lib库里面是apr、aprutil和iconv,而没有apriconv,在编译的时候会出现报错liba...原创 2020-04-29 17:27:44 · 617 阅读 · 0 评论 -
Openwrt如何添加SD_Card?看这里
一、硬件平台1.1 控制器:MT7688二、软件平台2.1、开发环境:Ubuntu12.04 2.2、软件版本:openwrt-hiwooya-stable三、功能说明本文章所选择的目标芯片为MT7688,profile 选择的为“LINKIT7688.dts”。对于openwrt增加对于s...原创 2020-04-14 15:49:29 · 3244 阅读 · 0 评论 -
Ubuntu安装OSS C SDK出现make install错误的解决方法
环境:Ubuntu安装准备:安装CMake和第三方库OSS C SDK安装时,需要安装编译工具CMake和第三方库curl、apr、apr-util、minixml。安装环境时所需参数如下:名称 描述 版本要求CMake 编译安装工具。 2.6.0及以上版本curl 主要解决网络方面的问题。 7.32.0 及以上版本apr-util 解决内存管理以及跨平台问题。 1.5.2 及以上...原创 2020-04-09 10:26:17 · 614 阅读 · 0 评论 -
OpenWrt操作系统移植SIM7600CE驱动及调试
1、开发环境操作系统:OpenWrt客户机:MT7688拨号方式:NDIS------>wwan02、配置文件及参数(1)USB Serial 的内核配置支持在 linux 内核配置中,请确保CONFIG_USB_SERIAL=yCONFIG_USB_SERIAL_WWAN=yCONFIG_USB_SERIAL_OPTION=yCONFIG_USBNET=y(2) 修改...原创 2020-04-07 15:34:57 · 3247 阅读 · 0 评论 -
Linux移植E20模块驱动步骤解析
以openwrt-hiwooya-stable 源码为例, 对应的内核为 linux-3.18.45。 当然, 如果您是其他版本的 Linux 系统, 也可参考本章内容进行修改, 大同小异。(1)添加VIDD和PIDFile: [KERNEL]/drivers/usb/serial/option.cstatic const struct usb_device_id option_ids[]...原创 2020-03-18 11:46:08 · 891 阅读 · 0 评论 -
ubuntu如何安装openjdk8
执行更新$ sudo apt-get update安装sudo ap[t-get install openjdk-8-jdk配置openJDK环境变量sudo vi /etc/environment加入下面值JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"JRE_HOME=${JAVA_HOME}/jreCLASSPATH=.:JA...原创 2020-03-17 10:24:33 · 427 阅读 · 0 评论