linux
linux相关
子非龙
这个作者很懒,什么都没留下…
展开
-
筛选csv文件第n列到n+1列
shell日常脚本原创 2023-02-25 10:13:54 · 187 阅读 · 0 评论 -
linux 读取cpu温度记录到csv文件
111原创 2022-10-24 14:52:51 · 515 阅读 · 0 评论 -
UDP 客户端接收数据测试用例
udp测试用例原创 2022-09-28 16:00:20 · 487 阅读 · 0 评论 -
linux串口读写程序
#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <termios.h>#include <unistd.h>#include <stdio.h>#include <string.h>#include <stdio.h>#include <stdlib.h>#include <stri..原创 2022-05-21 12:47:02 · 2150 阅读 · 0 评论 -
摄像头jpeg拍照通用控制程序
/* * V4L2 video capture example * * This program can be used and distributed without restrictions. * * This program is provided with the V4L2 API * see https://linuxtv.org/docs.php for more information */#include <stdio.h>#include &.原创 2021-09-16 21:53:57 · 586 阅读 · 0 评论 -
ubuntu 根目录扩容
https://blog.csdn.net/weixin_41607151/article/details/82785998转载 2021-06-22 21:35:19 · 268 阅读 · 0 评论 -
linux 共享网络给其它设备
https://medium.com/@TarunChinmai/sharing-internet-connection-from-a-linux-machine-over-ethernet-a5cbbd775a4f转载 2021-06-17 19:15:41 · 394 阅读 · 0 评论 -
TCP粘包,拆包及解决方法
粘包拆包问题是处于网络比较底层的问题,在数据链路层、网络层以及传输层都有可能发生。我们日常的网络应用开发大都在传输层进行,由于UDP有消息保护边界,不会发生粘包拆包问题,因此粘包拆包问题只发生在TCP协议中。什么是粘包、拆包?假设客户端向服务端连续发送了两个数据包,用packet1和packet2来表示,那么服务端收到的数据可以分为三种,现列举如下:第一种情况,接收端正常收到两个数据包,即没有发生拆包和粘包的现象,此种情况不在本文的讨论范围内。第二种情况,接收端只收到一个数据包,..转载 2021-02-06 17:48:39 · 329 阅读 · 0 评论 -
linux 内核地址空间
一、内核镜像在3GB~(3GB+896MB)这段直接/线性映射区域,包含了内核初始化页表swapper_pg_dir,内核镜像等。内核也是由一个elf文件(比如vmlinux)加载启动的,加载后也有text段,data段,bss段等。二、内存分配kmalloc和vmalloc在虚拟内存空间的normal memory区域,内核使用kmalloc()来分配内存,kmalloc()返回的也是虚拟地址,但是分到的内存在物理地址上是连续的(因为是直接映射,在虚拟地址上自然也是连续的...转载 2020-11-02 13:41:46 · 553 阅读 · 0 评论 -
linux进程空间地址划分
一、数据段存放程序中已初始化且初值不为0的全局变量和静态局部变量。数据段属于静态内存分配(静态存储区),可读可写。二、BSS段包括:未初始化的全局变量和静态局部变量 初始值为0的全局变量和静态局部变量(依赖于编译器实现) 未定义且初值不为0的符号(该初值即common block的大小)三、堆堆用于存放进程运行时动态分配的内存段,可动态扩张或缩减。 堆中内容是匿名的,不能按名字直接访问,只能通过指针间接访问。当进程调用malloc(C)/new(C++)等函数分配内...转载 2020-11-02 11:31:04 · 445 阅读 · 0 评论 -
linux shell脚本基础知识
参考:linux shell脚本基础知识Table of Contents1、用户自定义变量1.1变量赋值:1.2, 将一个命令的执行结果赋给变量1.3变量叠加1.4、列出所有的变量:1.5、删除变量:2、环境变量3、位置参数变量3.1、shift指令:3.2、shell中$* 和$@的区别4、预定义变量5、read命令6、运算符7、$()与${}的区别8、条件测试8.1、内置test命令8.2、字符串测试:8.3、整数测试:8转载 2020-06-16 15:43:22 · 595 阅读 · 0 评论 -
Linux下Shell的for循环语句
参考:Linux下Shell的for循环语句转载 2020-06-16 12:01:12 · 451 阅读 · 0 评论 -
Linux seq命令详解
参考 Linux seq命令详解seq: squeue 是一个序列的缩写,主要用来输出序列化的东西seq常见命令参数 1 2 3 4 5 6 7 8 9 10 用法:seq[选项]... 尾数 或:seq[选项]... 首数 尾数 或:seq[选项]... 首数 增量 尾数 以指定增量从首数开始打印数字到尾数。 -f, --format=...转载 2020-06-16 11:37:57 · 382 阅读 · 0 评论 -
uboot Makefile $(var:str1=str2) 例如$(@:_config=)
格式为$(var:str1=str2)或者${var:str1=str2}是指,将变量 var 中的所有以 str1 结尾的字符用 str2替换。 str1 必须是结尾字符(若 var 中有多个变量构成,且变量之间用空格连接,空格前的变量若也是 str1 结尾也符合条件)。举个例子 var:=file1.c file2.c file3.c, 则$(var:.c=.o)的值为 file1.o f...原创 2020-02-07 17:41:52 · 194 阅读 · 0 评论 -
链接脚本之SECTIONS
SECTIONS基本的命令语法SECTIONS{ ... secname start BLOCK(align) (NOLOAD) : AT ( ldadr ) { contents } >region :phdr =fill ...}这么多参数中,只有secname 和 contents 是必须...转载 2020-02-07 09:13:26 · 1047 阅读 · 0 评论 -
linux dd命令(sd卡 u盘等块设备操作)
1、参数说明:if=文件名:输入文件名,默认为标准输入。即指定源文件。 of=文件名:输出文件名,默认为标准输出。即指定目的文件。 ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。 obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。bs=bytes:同时设置读入/输出的块大小为bytes个字节。 cbs=bytes:一次...转载 2020-02-05 18:31:57 · 1445 阅读 · 0 评论 -
gcc 选项参数用法
Table of Contents1、无选项编译链接2、选项 -o3、选项 -E4、选项 -S5、选项 -c6、选项 -O7、选项-I8、多源文件的编译方法8.1、多个文件一起编译8.2、分别编译各个源文件,之后对编译后输出的目标文件链接。1、无选项编译链接gcc test.c将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输...原创 2020-02-05 12:40:26 · 464 阅读 · 0 评论 -
Makefile中常用函数使用
Table of Contents一、函数调用的语法二、文件名操作函数 1、 $(dir )取目录函数 2、$(notdir )取文件函数 3、$(suffix )取后缀函数 4、 $(basename )取前缀函数 5、 $(addsuffix ,)加后缀函数 6、$(addprefix ,)加前缀函数 ...转载 2020-03-14 17:15:32 · 913 阅读 · 0 评论 -
Makefile 中:= ?= += =的区别
从上面的结果中我们可以清楚的看到他们的区别了= 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值之前一直纠结makefile中“=”和“:=”的区别到底有什么区别,因为给变量赋值时,两个符号都在使用。网上搜了一下,有人给出了解答,但是本人愚钝,看不懂什么意思。几寻无果之下,也就放下了。今天看一篇博客,无意中发现作者对于这个问题做了很好的...转载 2019-08-13 10:54:47 · 80 阅读 · 0 评论 -
跟我一起写makefile入门笔记
Table of Contents一、makefile是如何工作的(依赖关系)二、文件搜寻 VPATH三、makefile函数的使用:1、$(patsubst%.c,%.o,x.c.c bar.c) 把.c字符串换成.o的字符串2、files:=$(foreach n,$(names),$(n).o) 把name文件名中含有.o 名字文件提取出来给files ...原创 2019-06-12 12:05:09 · 178 阅读 · 0 评论 -
makefile学习笔记
shell变量的使用 使用变量时在其前面加上($)符号 变量的赋值(=)与变量还有值之间都不能有空格,否则不是自己想要的结果shell怎么调用linux命令 命令前加反引号(就是esc下面的键) 例如 PWD=pwd echo $PWD 效果和执行命令pwd一样if then else结构if [表达式]; then #表达式和括号要有...原创 2018-08-04 11:47:32 · 261 阅读 · 0 评论 -
操作系统文件学习笔记
目录和文件的区别目录:也叫目录文件,只不过里面放的是目录项信息…文件: 文件里存放的是数据,比如.txt文件里面放的是文本信息目录项是目录文件的内容,目录项描述的是目录下面的子目录或者子文件信息…每一个子目录或子文件都对应一个目录项目录项分解法查找文件就是遍历目录项的过程,最好的情况就是第一个目录项就是查找的信息,最坏的情况就是最后一个目录项才是要找的信息(1+2)...原创 2019-03-19 21:54:52 · 344 阅读 · 0 评论 -
操作系统原理之内存管理:
逻辑地址:页式分配方案:页表:地址转换:段式管理方案:段页式管理内存扩充技术:交换技术问题:答案:数据和栈增长方向:1、数据和堆同向:2、相对向增长:虚拟存储技术:可以有多大例如:32位计算机 那就是2的32次方页表及页表项的设计:...原创 2019-03-17 17:34:30 · 494 阅读 · 0 评论 -
操作系统原理学习笔记
操作系统之页面置换算法:https://www.cnblogs.com/fkissx/p/4712959.html操作系统原理读书笔记之文件系统: https://blog.csdn.net/ray0354315/article/details/72511126《计算机操作系统》总结五(死锁):https://blog.csdn.net/yongchaocsdn/article/details...原创 2019-03-17 16:53:40 · 675 阅读 · 0 评论 -
linux 文件打开(open)原理,非父子进程,父子进程打开文件关系
1、文件描述符fd和文件描述符表概述在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引(fd),其是一个非负整数(通常是小整数),文件描述符fd和文件file指针是文件描述符表的重要内容,用于指代被打开的文件,所有执行I/O操作的系统调用都通过文件描述符。程序刚刚...转载 2020-03-04 19:10:18 · 2903 阅读 · 0 评论 -
linux内核中的IS_ERR()、PTR_ERR()
https://blog.csdn.net/ljk0922/article/details/47911203转载 2019-11-18 22:01:38 · 467 阅读 · 0 评论 -
kmalloc kzalloc vmalloc 的区别
https://www.cnblogs.com/sky-heaven/p/7390370.html转载 2019-11-18 22:00:15 · 143 阅读 · 0 评论 -
linux used
# define __used __attribute__((__unused__))attribute((used)) 其作用是告诉编译器避免被链接器因为未用过而被优化掉。原创 2019-11-18 11:42:32 · 403 阅读 · 0 评论 -
shell awk 命令 NF $NF的含义
NF 代表一行有多少个域 (也就是一行有多少个单词)$NF代表最后一个域 (也就是最后一个单词)原创 2019-08-15 09:59:11 · 10170 阅读 · 1 评论 -
Ubuntu 18.04安装arm-linux-gcc交叉编译器
安装这个交叉编译器的基本上都是嵌入式行业的兄dei吧。。。目前网上搜索发现,最多人安装的是...转载 2019-08-13 20:33:37 · 3004 阅读 · 0 评论 -
linux 挂载磁盘命令
把一个磁盘/dev/sda挂载到某个目录下makdir /mnt/long //创建一个空的挂载节点mount -t ext4 /dev/sda /mnt/long原创 2019-08-05 10:06:24 · 7613 阅读 · 0 评论 -
嵌入式英文
如果说你英语不咋的,那很大可能说明你的IT水平也就那样,看看这些我们经常能碰到的熟悉的朋友(单词)吧,或许,你会想到更多。嵌入式开发常用英语单词...转载 2019-07-31 09:23:16 · 2948 阅读 · 0 评论 -
linux设备驱动之——总线模块驱动编写步骤
目录:总线设备驱动模型设备 总线 驱动 分离思想文件系统sysfs实验1:完成mybus的构建实验步骤实验1代码:实验运行结果:驱动实验总结:总线设备驱动模型设备 总线 驱动 分离思想文件系统sysfs总线bus下面很多总线,包括要学习的平台设备:platform...原创 2019-03-25 21:47:43 · 861 阅读 · 0 评论 -
Linux驱动之配置内核
Linux在嵌入式系统中大受欢迎的一个重要因素就是开源,开源的特性决定了Linux内核可以根据个人的需求进行裁剪,裁剪内核就是根据你的硬件资源,将一些不需要的驱动裁剪掉,再把一些原本没有的驱动添加到内核,那么配置好的内核就适用于你特定的硬件平台。配置内核时,make zImage make menuconfig,还有 .config K...转载 2019-08-24 12:05:47 · 865 阅读 · 0 评论 -
dnw驱动更新,支持全系统(xp,win7,win8/win10)
本文用于解决win7以上系统使用dnw难装驱动问题,使用新驱动: zadig-2.3.exe,支持xp,win7/win8/win10系统,安装方便、高效,欢迎试用。对于裸板开发,我们一般使用JTAG工具,比如OpenJTAG、EasyOpenJTAG烧写裸机程序。JTAG工具速度慢,但是一般的裸机程序都比较小,所以这种方法很方便。开始玩Linux时,一个内核就有2M以上,用JTAG工具烧写要花...转载 2019-08-20 21:50:56 · 491 阅读 · 0 评论 -
Shell脚本之sed的使用
1.sed命令;主要作用是查找;新增 删除 和修改替换。user.txt daokr#cat user.txtID Name Sex Age1 zhang M 192 wang G 203 cheng M 104 huahua M 100查找命令:-n 和 p(print)在u...转载 2019-08-13 09:39:48 · 566 阅读 · 0 评论 -
Linux uname命令
Linux uname命令用于显示系统信息。uname可显示电脑以及操作系统的相关信息。语法uname [-amnrsv][--help][--version]参数说明:-a或--all 显示全部的信息。-m或--machine 显示电脑类型。-n或-nodename 显示在网络上的主机名称。-r或--release 显示操作系统的发行编号。-s或--sysname 显...转载 2019-08-13 09:49:06 · 206 阅读 · 0 评论 -
tr命令
tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。语法tr(选项)(参数)选项-c或——complerment:取代所有不属于第一字符集的字符;-d或——delete:删除所有属于第一字符集的字符;-s或–squeeze-repeats:把连续重复的字符以单独一个字符表示;-t或–truncate-set1:...转载 2019-08-13 09:54:47 · 264 阅读 · 0 评论 -
shell 中的$0 $1 $* $@ $# $$ $? $() $(())
$0: 脚本本身文件名称$1: 命令行第一个参数,$2为第二个,以此类推$*: 所有参数列表$@: 所有参数列表$#: 参数个数$$: 脚本运行时的PID$?: 脚本退出码∗与@的区别当命令行为test.sh 1 2 3"$*“表示"1 2 3”"$@“表示"1” “2” “3”二者没有被引号括起来时是一样的都为"1 2 3",只有当被引号括起来后才表现出差异$(...转载 2019-08-13 10:08:18 · 714 阅读 · 0 评论 -
shell-if表达式(-f,-d,-s,-r,-w,-x,-eq,-ne,-ge,-gt,-le,-lt )
文件表达式if [ -f file ] 如果文件存在if [ -d … ] 如果目录存在if [ -s file ] 如果文件存在且非空if [ -r file ] 如果文件存在且可读if [ -w file ] 如果文件存在且可写if [ -x file ] 如果文件存在且可执行整数变量表达式if [ int1 -eq int2 ] 如果int1等于int2if [ int1 ...转载 2019-08-13 10:10:46 · 550 阅读 · 0 评论