Linux
linux的操作喝Linux的底层驱动方面
fuluoce
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
go语言的函数、方法、接口
方法和函数长得差不多,区别是方法定义时func关键字后面紧跟的是括号,括号里面是调用者形参及调用者类型,之后才是func_name,再之后是括号,括号里面是入参形参及入参类型(没有入参的情况下括号不可以省略),最后是出参类型,如果有多个出参,则出参类型要用括号括住。· Go中没有类,但是可以为结构体定义方法,方法就是一类带有特殊的接收者参数的函数。3、建议将相同的行为放在同一个接口内,例如下方的Eat接口,通过绑定到不同的对象上实现多态。方法和函数的最大区别是方法有接收者(从属),即方法都是有主人的。原创 2022-09-15 16:40:45 · 504 阅读 · 0 评论 -
VMwarePro16安装Ubuntu16.04图文教程
VMwarePro16安装Ubuntu16.04图文教程转载 2022-08-27 15:59:49 · 217 阅读 · 0 评论 -
ubuntu 交叉编译mosquitto-auth-plug-0.1.3
下载编译源文件mosquitto-auth-plug-0.1.3.tar.gztar解压,进入目录,修改config.mk文件内容如下# Select your backends from this listBACKEND_CDB ?= noBACKEND_MYSQL ?= noBACKEND_SQLITE ?= noBACKEND_REDIS ?= yesBACKEND_POSTGRES ?= noBACKEND_LDAP ?= noBACKEND_HTTP ?= noBAC原创 2022-05-13 14:40:54 · 392 阅读 · 0 评论 -
ubuntu 交叉编译hiredis-1.0.2
下载文件hiredis-1.0.2.tar.gz解压tar -xvf hiredis-1.0.2.tar.gz修改makefile 里面的prefix= //make install 的时候 安装路径或者在 make后面带这个参数进入目录hiredis-1.0.2make MALLOC=libc CC=aarch64-linux-gnu-gcc –cross-compile-prefix=/home/forlinx/work/edgeOS/build/toolchain/原创 2022-05-13 13:36:25 · 850 阅读 · 0 评论 -
Ubuntu18.04安装不同版本的GCC
安装你需要的版本如下:sudo apt-get install gcc-8sudo apt-get install g++-8添加软链接sudo rm /usr/bin/cpp /usr/bin/gcc /usr/bin/g++sudo ln -s /usr/bin/cpp-8 /usr/bin/cppsudo ln -s /usr/bin/gcc-8 /usr/bin/gccsudo ln -s /usr/bin/g++-8 /usr/bin/g++查看版本gcc -v原创 2022-05-07 14:12:36 · 2392 阅读 · 0 评论 -
nodejs操作redis总结
本文总结常见的使用node操作redis服务,redis的key是唯一的,如果一个key所对应的存储类型是string,则不能再次覆盖式设置key为hash;1、链接Redisnode 链接Redisvar RDS_PORT = 5472;var RDS_HOST = '127.0.0.1';var RDS_PWD = '123456';const opts = { auth_pass: RDS_PWD, }const redis = require('redis'原创 2022-04-26 11:13:41 · 609 阅读 · 0 评论 -
在imx6ull上,移远EC20模块的GPS信息获取和解析
1、接上模块通过USB连接,需要插上SIM卡,查看设备如下root@ATK-IMX6U:~# ls /dev/ttyUSB*/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB32、使能GPS信息输出echo -e "AT+QGPS=1\n\r" > /dev/ttyUSB2通过命令查看信息root@ATK-IMX6U:~# cat /dev/ttyUSB1没定位到的情况$GPVTG,,T,,M,,N,,..原创 2021-09-23 17:12:23 · 3168 阅读 · 0 评论 -
ANS.1笔记:语法规则与类型概述
一、简介 ASN.1(Abstract Syntax Notation dotone),抽象语法标记1。是定义抽象数据类型形式的标准,是用于描述数据表示、表示、传输、编码的记法。ASN.1只包含信息结构,不处理具体业务数据,它不是一个编程语言。ASN.1没有限定编码方法,各种ASN.1编码规则提供了由ASN.1描述其抽象句法的数据的值的传送语法(具体表达),常见的编码规则有: 1、基本编码规则(BER),规范编码规则(CER,Cano...原创 2021-09-14 17:45:21 · 1362 阅读 · 0 评论 -
ubuntu18.04 交叉编译curl-7.65.3
下载源文件:curl downloads解压sudo tar -xvzf ocurl-7.65.3.tar.gz配置环境变量env LDFLAGS=-R/home/book/work/tool/openssl/build_openssl/lib ./configure --prefix=/home/book/work/tool/curl/build_curl CC=arm-linux-gcc --host=arm-linux --with-ssl=/home/book/work原创 2021-07-19 17:31:01 · 501 阅读 · 1 评论 -
HTTP请求详解 POST GET
HTTP请求报文的格式请求头与请求正文中间有一行空行,是告诉服务器请求头到此结束了接下来是请求正文请求方法:get,post,head,delete等等,告诉服务器你的具体操作是什么URL:可以从互联网上得到资源的位置和访问方法的一种简洁标识。URL结构:协议://域名 or IP地址:端口号/目录/文件名.文件名后缀?参数=值协议版本:目前几乎用的都是http1.1版本,增加了一个很重要的特性它支持长连接,其他具体细微差别不做讲述。请求头:请求头部为请求报文添加了一些附加信息,由“名/原创 2021-05-08 13:58:34 · 262 阅读 · 0 评论 -
ubuntu 18.04 系统 ip地址设置
1、ubuntu 18.04 系统修改为静态ip地址vi /etc/network/interfaces改并为如下内容,保存并退出,执行/etc/init.d/S40network restart 重启网络服务auto loiface lo inet loopbackauto eth0iface eth0 inet static address 192.168.5.11 netmask 255.255.255.0 gateway 192.168.5.1...原创 2021-03-16 23:21:01 · 1247 阅读 · 0 评论 -
Linux zlog日志打印
1、zlog使用手册http://hardysimpson.github.io/zlog/UsersGuide-CN.html参考文章https://blog.youkuaiyun.com/fangye945a/article/details/859559062、zlog配置文件 大部分的zlog的行为都取决于配置文件,比如把日志打到哪里去,用什么格式,怎么转档,都由配置文件来决定。# comments[global]strict init = truebuffer min ...原创 2021-01-25 16:28:18 · 1085 阅读 · 0 评论 -
linux进程间的通信(C): 消息队列
一、消息队列(message queue)消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。Linux用宏MSGMAX和MSGMNB来限制一条消息的最大长度和一个队列的最大长度。二、函数定义#include <sys/msg.h>int msgctl(int ms...原创 2020-12-23 17:23:13 · 534 阅读 · 0 评论 -
Linux 基于openssl库的paho.mqtt.c交叉编译出libpaho-mqtt3as.so
下载文件:git clone https://github.com/eclipse/paho.mqtt.c.git普通ubuntu编译cd paho.mqtt.cmakesudo make installmake出错安装opensslsudo apt-get install opensslsudo apt-get install libssl-dev交叉编译修改文件CMakeLists.txt,添加如下set(CMAKE_SYSTEM_NAME Linux)se原创 2020-12-10 19:07:49 · 2406 阅读 · 4 评论 -
ubuntu16.04 交叉编译openssl-1.1.1i
去官网下载安装包:https://www.openssl.org/source/解压sudo tar xvzf openssl-1.1.1.tar.gz配置文件如下:sudo ./config no-async no-asm no-sse2 no-ssl3 no-zlib no-bf no-camellia no-cast no-cms no-comp no-dso no-idea no-md2 no-mdc2 no-rc2 no-rc5 no-ripemd no-seed --p原创 2020-12-10 13:50:19 · 1017 阅读 · 0 评论 -
Linux环境下执行脚本时报错:/bin/bash^M: 坏的解释器: 没有那个文件或目录
1、现象我在Windows 10 系统下编辑了一个发送消息到企业微信的shell脚本文件,然后copy到了远程的Linux服务器,当运行的时候报错了2、原因这个文件在Windows 下编辑过,在Windows下每一行结尾是\n\r,而Linux下则是\n,所以才会有 多出来的\r。3、解决方法使用指令sed -i 's/\r$//' xxxxxxx.sh,上面的指令会把xxxxxxx.sh中的\r 替换成空白!参考:https://blog.youkuaiyun.com/ou...原创 2020-12-08 13:55:15 · 237 阅读 · 0 评论 -
ubuntu 16.04 安装的一些命令记录
获取 root 权限#sudo passwd root更新源#sudo apt-get update安装 32 位兼容包#sduo apt-get install lib32stdc++6 libc6:i386安装 g++#apt-get install g++ 安装 libncurses5-dev 支持包#apt-get install libncurses5-dev安装sshsudo apt-get install openssh-server原创 2020-12-05 14:24:16 · 172 阅读 · 0 评论 -
Linux 获取阿里云的微消息队列mqtt
下载代码 wget clone https://github.com/eclipse/paho.mqtt.c.git或者git clone https://github.com/eclipse/paho.mqtt.c.git进入cd paho.mqtt.c编译make如果提示出错,安装opensshsudo apt-get install opensslsudo apt-get install libssl-dev安装库sudo make ins原创 2020-12-05 14:09:25 · 285 阅读 · 0 评论 -
Linux Ubuntu 16.04 安装ssh
刚安装好的ubuntu16.04是没有ssh服务的,我们需要自己安装安装openssh-server,也就是ssh服务#sudo apt-get install openssh-server测试是否安装成功#sudo ps -e |grep ssh开启ssh服务#sudo service ssh start原创 2020-12-05 09:29:23 · 484 阅读 · 0 评论 -
Linux C函数获取MAC地址
#include <sys/socket.h>#include <sys/ioctl.h>#include <netinet/if_ether.h>#include <net/if.h>#include <linux/sockios.h>void getmac(){ #define MAXINTERFACES 16 int fd, interface; struct ifreq buf[MAXINTERFA.原创 2020-12-04 10:28:06 · 814 阅读 · 0 评论 -
Linux printf 宏 调试技巧
1.前言printf调试是嵌入式调试的基本手段,而且是非常重要的手段,我认为相比单步调试更加有用有效,特别是单片机之后跑系统,单步调试效率更加低下了,我们在工作遇到bug的时候,我们第一时间就想知道那些该死的日志有没有保存下来,这样好让我们程序员装逼一波把问题解决。printf宏定义调试非常重要,有些日志在开发的时候才需要打开,发布的时候需要关闭,但是在代码上又需要保留下次调试,所以我们在调试的时候才打开调试宏定义,而且printf会占用空间,很多芯片的空间非常有限,更应该关闭调试宏。下面就直接原创 2020-11-26 10:01:27 · 598 阅读 · 0 评论 -
Linux 下sha1加密
#include <openssl/aes.h>#include <openssl/md5.h>#include <openssl/sha.h>/*功能:进行sha1加密,返回hex转成的字符串输入参数:str:字符指针 len:字符长度 out_data:加密之后的字符指针,长度必须是SHA_DIGEST_LENGTH =40*/int SHA1_encrypt( unsigned char *str,int l.原创 2020-11-19 17:23:37 · 1254 阅读 · 0 评论 -
linux 下MD5加密
一.安装OpenSSL库把下面的东西一股脑儿的装上,以免编译时出现链接错误apt-get install openssl libssl-dev libssl-doc libcurl4-openssl-dev二.实现MD5加密函数接受一个字符串,加密成常规32位小写MD5值/*功能:进行MD5加密,返回hex转成的字符串输入参数:str:字符指针 len:字符长度 out_data:加密之后的字符指针,长度必须是32.*/int md5原创 2020-11-19 17:20:47 · 964 阅读 · 0 评论 -
Linux 下查找进程,并结束进程
1、查看进程ps -ef | grep mq查看 *mq*名字的进程,结果如下book 5155 2573 0 15:10 pts/0 00:00:00 ./mqtt_p2pbook 6417 6320 0 15:22 pts/2 00:00:00 grep --color=auto mq2、结束进程killall -9 mqtt_p2p或者kill -9 5155结果book 6449 632原创 2020-11-19 15:29:57 · 846 阅读 · 0 评论 -
Linux AES加密
一、AES ECB 256 加密函数/*功能:进行AES加密,返回hex转成的字符串输入参数:Plaintext:明文 长度是16的倍数 Ciphertext:密文 长度是明文长度的两倍 key:密钥.*/int AES256_encrypt( unsigned char *Plaintext,unsigned char *Ciphertext,signed char *userkey){ //unsigned char md[16]; char原创 2020-11-19 11:28:43 · 2774 阅读 · 2 评论 -
Linux 获取UUID
一、UUID 生成(源代码编译)根据定义,UUID(Universally Unique IDentifier,也称GUID)在时间和空间都是唯一的。为保证空间的唯一性,每个UUID使用了一个48位的值来记录,一般是计算机的网卡地址。为保证时间上的唯一性,每个UUID具有一个60位的时间戳(timestamp)。这个时间戳表示自公元1582年(绝对不是1852,这是《COM技术内幕》,1999年3月第1版第89页中的一个错误)10月15号00:00:00:00以来的时间,是以100纳秒为单位的时间间隔原创 2020-11-17 11:36:40 · 1213 阅读 · 0 评论 -
cJSON Linux 使用详解
由于c语言中,没有直接的字典,字符串数组等数据结构,所以要借助结构体定义,处理json。如果有对应的数据结构就方便一些, 如python中用json.loads(json)就把json字符串转变为内建的数据结构处理起来比较方便一、概念:在cjson中,json对象可以是json,可以是字符串,可以是数字。。。cjson数据结构定义:#define cJSON_False 0#define cJSON_True 1#define cJSON_NULL 2#defi...原创 2020-11-17 11:38:06 · 412 阅读 · 0 评论 -
Linux的信号量sem
线程同步的方式和机制临界区、互斥量、事件、信号量四种方式临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程进入后,其他试图访问公共资源的线程将被挂起,并一直等到进入临界区的线程离开,临界区在被释放后,其他线程才可以抢占。2、互斥量:采用互斥对象机制。原创 2020-11-17 11:37:42 · 464 阅读 · 0 评论 -
Ubuntu 安装 NFS 服务
1、安装 NFS 服务:sudo apt-get install nfs-kernel-server2、修改 NFS 配置文件sudo vi /etc/exports添加/home/book/fu/linux_nuc980/nfs *(rw,sync,no_root_squash,no_subtree_check)注解:/home/book/fu/linux_nuc980/nfs :nfs服务器共享的目录,需要在Ubuntu系统中新建这个目录。* :代表允许所有...原创 2020-11-03 16:21:39 · 533 阅读 · 0 评论 -
Authentication failure解决办法
我是在切换root账户时遇到的这个问题我输入密码时,输入的当前账户的密码而不是root账户的密码。我之前从来没有登陆过root账户,不知道密码。因此解决办法如下:输入命令行1.sudo passwd root2.输入当前账户密码3.输root账户密码4.重复输入root账户密码参考文献:https://blog.youkuaiyun.com/qq_40511918/article/details/83650536...转载 2020-11-03 11:46:06 · 6782 阅读 · 0 评论 -
linux下的vi vim编辑器常用指令
参考文献:https://www.runoob.com/linux/linux-vim.html常用指令:原创 2020-11-02 14:19:45 · 129 阅读 · 0 评论 -
Ubuntu Linux 下tar unzip解压压缩文件
Ubuntu Linux 下解tar unzip压压缩文件1、tar解压语法: tar -xvf etc.tar -C /date/解释: tar -xvf etc.tar -C /date/ 是把etc.tar压缩文件加-C后可以解压到指定路径中去。2、tar压缩语法:tar -cvf jpg.tar *.jpg解释:tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg3、unzip解压语法:unzip ad...原创 2020-10-26 17:25:26 · 6904 阅读 · 0 评论
分享