Linux
文章平均质量分 75
Linux的一些基础知识汇总
嵌入式大杂烩
一位喜欢分享的嵌入式软件工程师
一位全网累计10万+粉丝的嵌入式博主
一位能源专业转做嵌入式的过来人
展开
-
工具 | 强大的Shell脚本静态分析工具
ShellCheck是一个广受欢迎的开源工具,专为Shell脚本开发者设计,旨在帮助发现并修正脚本中的错误。它能够静态分析bash、sh、ksh和dash等多种Shell脚本,通过提供详细的警告和建议,帮助开发者提高脚本的可靠性和可维护性。ShellCheck不仅检查语法错误,还能识别出潜在的逻辑错误、不规范的编码习惯以及安全漏洞,是Shell脚本开发过程中的得力助手。Github地址:https://github.com/koalaman/shellcheck。原创 2024-07-14 23:05:38 · 426 阅读 · 0 评论 -
Linux POSIX消息队列用于线程间通信
在应用开发中,生产者,消费者的模型非常常见,一方产生数据并把数据放入队列中,而另一方从队列中取数据,先进先出。Linux系统中提供的消息队列一般应用于进行间通信,但也可以用于线程间通信。其中,POSIX消息队列可移植性较强,使用较广。本文介绍POSIX消息队列应用于线程间通信。例子:线程1不断给线程2发送字符串数据。应用:线程间通信/进程间通信。原创 2023-06-10 09:54:43 · 603 阅读 · 0 评论 -
Linux C语言时间相关知识总结!
实际开发中,经常要获取各种时间。原创 2023-06-10 09:35:23 · 432 阅读 · 0 评论 -
Linux多线程编程知识汇总!
进程是指正在运行的程序,它拥有独立的内存空间和系统资源,不同进程之间的数据不共享。线程是进程内的执行单元,它与同一进程内的其他线程共享进程的内存空间和系统资源。原创 2023-06-08 09:28:57 · 502 阅读 · 0 评论 -
分享几个实用的代码片段(附代码例子)
大家好,我是杂烩君。本次来分享几个实用的代码小片段。原创 2022-07-11 21:30:12 · 2952 阅读 · 0 评论 -
分享一种修改配置文件的方法
平时,我们使用的配置文件可以是json、ini等这些标准格式,也可以是一些非标准格式。这些标准格式都有一些对应的库进行解析修改,比较方便。但是,有时候我们需要修改一些非标准格式的一些文件里的一些内容,可能就得自己想办法了。sed 工具是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除、替换、添加、移动等),最后输出所有行或者仅输出处理的某些行。在修改配置文件之前,需要重置一下,保证配置文件的格式正确。本次分享一种修改配置文件的方法,文章很短,但挺实用~原创 2022-08-01 23:11:18 · 1820 阅读 · 0 评论 -
分享一种你可能不知道的bug定位方法
在Linux下,一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。原创 2022-08-13 23:01:15 · 961 阅读 · 0 评论 -
如何监控各个线程的资源占用情况?
大家好,我是杂烩君。嵌入式Linux开发中,有时候为了定位问题,需要查看某个进程的各个线程的运行情况。原创 2022-09-07 21:44:21 · 1310 阅读 · 0 评论 -
如何检测设备的联网状态?
大家好,我是杂烩君。嵌入式Linux开发中,有时候我们程序需要检测设备的联网状态。这里分享两种方法:方法一:创建一个socket client尝试去链接一个服务器。方法二:通过检测sysfs下的对应文件。原创 2022-09-18 21:30:20 · 1708 阅读 · 0 评论 -
多进程编程知识汇总,附代码例子!
进程是指正在运行的程序,它拥有独立的内存空间和系统资源,不同进程之间的数据不共享。进程是资源分配的基本单位。线程是进程内的执行单元,它与同一进程内的其他线程共享进程的内存空间和系统资源。线程是调度的基本单位。操作系统根据不同的场景提供了不同的方式,消息队列、共享内存、UNIX域套接字、管道、信号量。内核中的一个优先级队列,多个进程通过访问同一个队列,在队列当中添加或者获取节点来实现进程间通信。原创 2023-06-05 22:03:59 · 350 阅读 · 0 评论 -
Linux | 两个使用小知识分享
之前为了方便测试部门保存一些测试数据,需要临时开发一个简单的nanomsg server,与板子端的client在局域网内进行通信,接收client数据并保存。关于nanomsg的简单使用介绍可查看往期文章:一个实用通信库的简单使用分享作为server端,需要绑定电脑的IP,不同的电脑IP是不一样的,所以使用不同的电脑时需要修改IP才能正常使用这个server程序。在不需要重新编译程序的情况下,有如下两种方法可以满足这个需求: 把IP写在配置文件里,比如ini格式的配置文件里,然后ser...原创 2021-10-04 21:30:00 · 920 阅读 · 0 评论 -
Linux | 浅析apt、deb背后的一些知识
一、什么是deb?deb是Debian派系Linux发行版软件包格式的文件扩展名。deb包在Linux操作系统中类似于windows中的软件包(exe),几乎不需要什么复杂的编译即可通过鼠标点击安装使用。常见的Linux派系如:其中,Fedora派系的的软件包是扩展名为rpm的软件包,这里我们不做展开。本篇笔记我们以Ubuntu为例介绍deb软件包。在Ubuntu桌面版下我们下载一些应用程序deb软件之后可以有两种安装方式,一种是可以直接双击安装deb软件包。另一种是通过命令的方式安装,如:sud原创 2021-05-18 23:28:13 · 3786 阅读 · 1 评论 -
Linux | 简单认识认识ELF文件
几种常见的ELF文件 在Linux下,我们经gcc编译之后生成的可执行文件属于ELF文件:ELF是一类文件类型,而不是...原创 2020-07-07 22:50:00 · 2220 阅读 · 0 评论 -
Linux | 如何同时输出调试信息到终端及文件?
在Linux下的开发中,printf打印调试信息默认输出到标准输出 stdout (即屏幕/终端)中。我们也可以使用输出重定...原创 2020-10-30 08:00:00 · 4907 阅读 · 0 评论 -
Linux | 如何查看Linux命令工具的源码?
上一篇分享了两个使用的小工具:《如何同时输出调试信息到终端及文件?》。有位小伙伴留言问道tee工具的代码在哪:这篇文章我们就来简单分享一下。首先,我们需要了解Linux下的命令分为大致分为两类:内置命令与非内置命令。查看内置命令源码内置命令是Shell自带的, shell自己进行管理。内部命令由shell程序识别并在shell程序内部完成运行。..原创 2020-10-31 12:28:51 · 2472 阅读 · 1 评论 -
Linux | 文本文件查看命令
我们要查看一些文本文件的内容时,要使用文本编辑器来查看。在Linux下,可以使用一些命令预览文本文件中的内容,而不必使用文本编辑器打开查看。这篇笔记分享几个常用的文本查看命令。分别是:cat:从第一行开始显示文本内容(适用于内容较少的)tac:从最后一行开始显示,是 cat 的逆顺序more:一页一页的显示文本内容(适用于内容较多的)less:与 more 类似,但是比 more 更好的是...原创 2019-05-05 23:38:46 · 74155 阅读 · 0 评论 -
Linux | Vi/Vim编辑器
1、什么是vi/vim?vi编辑器是Linux和Unix上最基本的文本编辑器(所有版本的 Linux 都带有 vi 编辑器),工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。Vim 是Vi improved的缩写,是 vi 的改进版。2、vi/vim的使用在Linu...原创 2019-05-08 23:00:16 · 866 阅读 · 0 评论 -
Linux | 文件的权限
Linux是多用户操作系统,不同的用户对于文件的操作拥有不同的权限。我们可以使用 ls -l 命令列出当前目录下的文件及目录的详细信息:我们重点看前10个字符,如 hello 文件详细信息中的前10个字符为 -rw-rw-rw- 。这10个字符的说明为:其中,第一个字符表示这个对象的类型,如:为 d 则是目录为 - 则是文件;为 l 则是链接文档(link file);为 b 则表...原创 2019-05-08 00:22:57 · 1289 阅读 · 0 评论 -
Linux笔记 | 系统目录结构
在 Linux 或 Unix 操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此反复就可以构成一个庞大的文件系统。在超级用户下,在根目录 / 下输入 ls 命令,输出如下(本文演示使用的Linux发型版为:红帽企业版6):以下是...原创 2019-05-08 00:45:58 · 759 阅读 · 0 评论 -
Linux | Windows与Linux文件互享
1、前言之前分享了Linux下vim编译器简单的使用方法:【Linux笔记】Vi/Vim编辑器。如果觉得不习惯的话,也可以不用vim进行编辑。我们可以使用Windows上的一些编辑器先编辑好代码,然后再传到Linux下进行编译即可。那么,怎么实现Windows与Linux的文件互传呢?可以使用samba,也可以使用一些工具。本篇笔记分享的是一个可以实现Windows与Linux文件互传的工具:W...原创 2019-07-30 19:37:59 · 744 阅读 · 0 评论 -
Linux | make工程管理工具(一)
1、如何编译具有多个源码(.c文件)的工程上一篇笔记写了如何使用gcc的编译命令编译:【Linux笔记】Linux下编译C程序。当源文件较少时,使用gcc编译命令编译就比较方便,在gcc编译命令中依次列出各个源文件就好,比如:gcc src1.c src2.c src3.c src4.c -o src把src1.c、src2.c、src3.c、src4.c编译生成可执行文件src 。在Li...原创 2019-07-30 19:44:16 · 1170 阅读 · 0 评论 -
Linux | make工程管理工具(二)
1、前言上一篇笔记分享了使用make工具编译C程序的方法(【Linux笔记】make工程管理工具(一)),但是还未分享make工具是什么,本篇笔记就来看一下make工具是什么吧。make和Makefile(或者makefile)文件提供了一种简单有效的工程管理方式。Makefile文件是一个决定着如何编译工程的文本,有一定的书写规则。make是一个GNU命令工具,用来解释Makefile文件中...原创 2019-07-30 19:47:39 · 894 阅读 · 0 评论 -
Linux | Linux下编译C语言程序
在上一篇笔记中有分享Linux下的vi/vim编辑器的使用方法(【Linux笔记】Vi/Vim编辑器),现在我们就可以使用vi/vim编辑器编写C代码了。那么写完代码该怎么进行编译呢?其实,和在Windows下使用命令行编译的方法是一样的。关于在Windows命令行下编译C程序的方法可查看往期笔记:【C语言笔记】windows命令行下编译C程序、【C语言笔记】使用notepad++、MinGW来开...原创 2019-07-30 19:51:08 · 3254 阅读 · 0 评论 -
Linux | 文件及目录管理命令
之前分享的Cygwin是一个在windows平台上运行的Linux(类UNIX)模拟环境(关于Cygwin的介绍,可移步至往期笔记:Windows下体验Linux环境进行查看),但毕竟与真实的Linux环境还是有所不同的。我们学习Linux也应在真实的环境中进行学习。掌握Linux的一些常用命令是学习Linux的基础,本文主要分享关于Linux文件及目录管理的一些命令。Linux系统可以安装在真...原创 2019-05-05 23:07:17 · 965 阅读 · 0 评论