
Linux
文章平均质量分 65
该专栏内容是以初学者的身份,记录学习Linux的过程,添加自己的理解和认知,最终达到学以致用的目的。
智驾
“面朝大海,春暖花开”
展开
-
Linux systemd 从理论到实践:现代系统管理的核心工具
systemd 是由 Lennart Poettering 提出的系统和服务管理器,通过以下特性彻底改变了 Linux 系统管理:1. 并行启动:显著缩短开机时间。2. 声明式单元(Unit)模型:统一管理服务、挂载点、套接字等。3. 集成日志系统(journald):集中化日志管理。4. 动态依赖解析:自动处理服务依赖关系。原创 2025-04-29 23:35:14 · 1129 阅读 · 0 评论 -
SELinux 从理论到实践:深入解析与实战指南
SELinux(Security-Enhanced Linux) 是由美国国家安全局(NSA)主导开发的 MAC(强制访问控制) 框架,通过细粒度的策略控制,将系统划分为多个安全域(Domain),每个域仅拥有最小必要权限。即使攻击者突破某个应用,也无法横向渗透到其他域。原创 2025-04-29 23:28:50 · 620 阅读 · 0 评论 -
Buildroot、BusyBox与Yocto:嵌入式系统构建工具对比与实战指南
Buildroot、BusyBox与Yocto:嵌入式系统构建工具对比与实战指南原创 2025-04-21 21:42:11 · 1050 阅读 · 0 评论 -
嵌入式开发板调试方式完全指南:串口/SSH/Telnet及其他方式对比
想象我们要调试智能手环的计步功能,或是给树莓派烧录新的操作系统镜像。就像医生需要听诊器诊断病人,工程师也需要专用工具与开发板"对话"。本文将详解最常用的三种调试方式,并拓展其他实用方法。原创 2025-04-21 21:31:00 · 1197 阅读 · 0 评论 -
深入理解 Linux ALSA 音频架构:从入门到驱动开发
通过这篇指南,您将能全面掌握ALSA的核心概念,从基础应用到驱动开发,最终实现深度定制和优化。ALSA作为Linux音频系统的基石,其强大功能值得每位Linux音频开发者深入探索。原创 2025-03-19 23:06:25 · 1401 阅读 · 0 评论 -
深入Linux内核学习的系统指南:从入门到工程实践
通过系统性学习和持续实践,通常可在1-2年内达到内核开发工程师水平。关键要保持对技术本质的好奇心,建议每周投入不少于15小时的专注学习时间,同时注意建立自己的知识管理系统。原创 2025-03-09 20:26:43 · 735 阅读 · 0 评论 -
“/bin/bash^M: bad interpreter: No such file or directory” 问题解决方案
“/bin/bash^M: bad interpreter: No such file or directory” 问题解决方案原创 2024-07-10 10:07:53 · 1747 阅读 · 0 评论 -
【Linux 命令】内核、驱动调试手段总结
Linux 调试手段分享。原创 2024-04-09 00:20:59 · 1786 阅读 · 2 评论 -
【网络基础】一文搞懂,什么是三次握手与四次挥手
什么是三次握手与四次挥手?原创 2024-04-02 12:07:33 · 1202 阅读 · 0 评论 -
Ubuntu18.04 升级Ubuntu20.04
因项目环境需要,欲将Ubuntu18.04升级至Ubuntu20.04,参考网上其他小伙伴的方法,也遇到了一个问题,特此记录一下,希望能帮助其他有同样问题的小伙伴。原创 2024-01-04 13:32:30 · 4339 阅读 · 0 评论 -
实时显示当前文件夹下的文件大小,shell脚本实现
实时显示当前文件夹下的文件大小,shell脚本实现原创 2023-09-13 15:47:27 · 831 阅读 · 0 评论 -
linux socket中tcp传输client端指定本地端口
固定客户端端口原创 2022-06-29 09:28:56 · 3827 阅读 · 0 评论 -
【Linux开发准备:计算机网络知识点笔记】0001H_标准化工作及相关组织
本文主要是计算机网络的标准化工作及其相关组织笔记。原创 2022-05-28 18:16:49 · 205 阅读 · 1 评论 -
什么是POSIX标准?
文章目录参考“POSIX(Portable Operating System Interface for Computing Systems)是由IEEE和ISO/IEC开发的一套标准。POSIX标准是对UNIX操作系统的经验和实践的总结,对操作系统调用的服务接口进行了标准化,保证所编制的应用程序在源代码一级可以在多种操作系统上进行移植。在20世纪90年代初,POSIX标准的制定处于最后确定的投票阶段,而Linux正处于开始的诞生时期。作为一个指导性的纲领性标准,Linux的接口与POSIX相兼容。”原创 2021-09-18 11:04:51 · 2746 阅读 · 0 评论 -
iperf —— 网络性能测试工具,编译、安装、使用笔记
文章目录1. 背景2. 编译2.1 下载2.2 编译3. 安装4. 使用5. 参考1. 背景为了测试嵌入式SOC的网络性能,需要一个能够测试带宽、抖动、丢包率等参数的工具,在linux系统中常用iperf,其在嵌入式linux中是否好用,我们继续探索。iperf命令 是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽,延迟抖动和数据包丢失。利用iperf这些特性,可以用来测试一些网络设备如路由原创 2022-04-05 22:51:38 · 6393 阅读 · 2 评论 -
zsh: command not found: arm-linux-gnueabihf-gcc解决方案
文章目录问题解决方案参考问题在虚拟机上安装交叉编译环境,PC通过终端ssh连接后,发现编译报错,查看版本发现,环境变量的问题:“zsh: command not found: arm-linux-gnueabihf-gcc”,通过在/etc/profile中添加“export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin”是不够的。解决方案在~/.profile中也添加“expo原创 2022-01-03 17:27:09 · 1633 阅读 · 0 评论 -
Tabby跨平台终端神器,安装、使用教程
Linux下的图形界面串口终端,超赞!!!原创 2021-12-17 20:54:11 · 11669 阅读 · 6 评论 -
linux中的查找命令使用
Linux中查找某个目录下所有文件中的某个关键字grep ‘xxx’ find /file_dir -name '*.*' (/file_dir 为.代表当前目录)例如在当前目录下查找关键字:keywgrep ‘keyw’ find . -name '*.*'参考:https://blog.csdn.net/b1829g2590d2216/article/details/88553956...原创 2021-12-06 16:59:04 · 612 阅读 · 0 评论 -
linux环境中使用tcpdump进行报文分析
tcpdump工具安装TBD.tcpdump 抓取UDP报文参考:linux下使用tcpdump工具分析UDP报文原创 2021-12-06 16:15:44 · 1152 阅读 · 0 评论 -
ubuntu18.04能够连wifi,但无法上网【解决方案】
ubuntu18.04能够连wifi,但无法上网大概率是DNS设置问题,参考:Ubuntu 18.04 永久修改DNS的方法。原创 2021-12-06 09:59:48 · 3606 阅读 · 0 评论 -
Ubuntu 18.04 驱动demo
文章目录1. 编译内核2. 驱动demo2.1 驱动程序2.2 Makefile2.3 测试程序3. USB驱动demo3.1 驱动程序3.2 Makefile3.3 测试程序4. 参考资料注意:如果是编写的驱动在本机系统上用,则不必编译内核;如果是要在其他的系统上用,要编译成功目标机的内核版本。如果是第一种场景,则直接跳过章节11. 编译内核首先查看一下内核版本qpp@qpp-virtual-machine:$ uname -r5.4.0-72-generic这是我的内核版本。安装编原创 2021-09-10 13:49:49 · 874 阅读 · 0 评论 -
shell学习笔记
文章目录1. 基础操作1.1 字符串1.2 数组1.3 传递参数1. 基础操作1.1 字符串#!/bin/bashstr="Hello Momenta!"echo "say ${str}"echo ${#str}echo ${str:0:5}输出:root@Ubuntu-ALi:~/myshell# ./ex1-4.shsay Hello Momenta!14Helloroot@Ubuntu-ALi:~/myshell#1.2 数组#!/bin/bashar原创 2021-05-31 20:40:15 · 169 阅读 · 0 评论 -
Ubuntu 18.04安装 Beyond Compare 4
Ubuntu 18.04安装 Beyond Compare 4终端安装:wget https://www.scootersoftware.com/bcompare-4.3.7.25118_amd64.debsudo apt-get updatesudo apt-get install gdebi-coresudo gdebi bcompare-4.3.7.25118_amd64.deb终端卸载:sudo apt-get remove bcompare参考【1】Linux Install原创 2021-04-29 11:49:24 · 1690 阅读 · 5 评论 -
Could not establish connection to “xx.xx.xx.xx“:The VS Code Server faild to start.【解决方案】
文章目录1. 问题2. 解决方案2.1 尝试方案一:Kill VS code Server on Host...2.2 尝试方案二:删除服务器根目录下的.vscode-server2.3 最终解决方案3. 参考1. 问题本地VScode Remote-SSH 无法和腾讯云服务器(CentOS)建立连接,本地和服务器都配置好公钥&私钥后,尝试无法连接,报错如下:控制台输出如下:…[11:19:16.764] Terminating local server[11:19:16.773]原创 2021-04-10 14:49:33 · 2453 阅读 · 1 评论 -
vscode使用总结
文章目录插件终端终端下的命令Cmake插件远程SSHRemote - SSHRemote - SSH插件可以用来登录远程服务器或本地虚拟机中的Linux系统。终端终端下的命令搜索函数:root$ grep -rn fun查看编译文件类型:root$ file demodemo 是要查看的编译后的二进制文件。查看文件结构:root$ tree改命令可以查看当前目录下的文件结构(树状结构)。CmakeTBD....原创 2021-04-09 00:56:42 · 444 阅读 · 0 评论 -
Linux下ranger安装配置教程
参考在Linux上,如何安装Ranger终端文件管理器原创 2021-04-08 00:03:44 · 1803 阅读 · 0 评论 -
进程间通信
文章目录1. 信号1.1 信号是什么?1.2 信号函数1.2.1 sigaction函数1.2.2 kill函数2. 进程间通信2.1 共享内存3. 信号量3.1 信号量概述3.2 信号量的操作4. mmap和shm共享内存的区别5. 实战应用1. 信号1.1 信号是什么?信号(signal),又称为软中断信号,用来通知进程发生了异步事件。进程之间可以互相发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。注意,信号只是用来通知进程发生了什么事件,并不给该进程传递任何原创 2021-02-27 20:31:44 · 642 阅读 · 0 评论 -
【Linux开发初步】00000006H_VScode+MobaXterm+VMware+Ubuntu交叉编译环境搭建
有了Linux开发板,快速搭建开发环境,让Hello World程序在板子上跑起来这已成为了玩开发板的习惯。本文主要记录这一过程。原创 2021-01-27 00:59:10 · 1432 阅读 · 0 评论 -
Linux学习系列笔记目录导航
文章目录1.【Linux学习笔记】1.【Linux学习笔记】【Linux开发准备:计算机网络知识点笔记】0000H_性能指标概念、组成、功能、分类【Linux开发准备:计算机网络知识点笔记】0002H_分层结构【Linux开发准备:计算机网络知识点笔记】0003H_物理层概念【Linux开发准备:计算机网络知识点笔记】0006H_传输层【Linux开发初步】00000000H_C结构体应用回顾(1)【Linux开发初步】00000001H_C结构体应用回顾(2)【Linux开发初步】000原创 2021-01-25 23:36:43 · 330 阅读 · 0 评论 -
【Linux开发初步】00000005H_I.MX6ULL平台认知笔记
出于学习的目的,我买了一块正点原子的阿尔法大板,之前没有接触过Linux,就目前的工作内容正好也需要,所以边学习边应用边记录。本篇笔记,主要记录查阅资料总结的I.MAX6ULL平台主要功能和特性,为后续的应用做铺垫。原创 2021-01-25 23:13:48 · 354 阅读 · 0 评论 -
【Linux开发实践】使用共享内存遇到的问题
背景想通过一个CAN服务程序,专门用于两路CAN的数据收发,将收发的数据分别放入两个共享内存块,这个CAN服务程序是后台进程,如此,其他进程就可以随意地对共享内存中的数据进行读取了。想是这么想的。但是在实际的开发过程中,出现了这样的问题:当CAN服务程序收到10帧数据,我开启的两个应用程序,分别收到5帧,为什么会出现这样的情况?为什么不是都收到10帧数据呢?原因参考资料【1】shmget 共享内存 同步读写文件一个进程写,多个进程读,读和写同步,边写边读【2】【Operating Sy原创 2021-01-21 09:43:38 · 613 阅读 · 0 评论 -
“collect2: error: ld returned 1 exit status“解决方法
目录背景报错原因解决方法背景Linux下编译一段共享内存代码,出错如下:报错error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status原因因为程序中用到了信号量,sem_open()。解决方法在编译后加-pthread...原创 2021-01-19 09:51:01 · 8655 阅读 · 1 评论 -
undefined reference to ‘shm_open‘
undefined reference to ‘shm_open’Linux下编译一段共享内存代码,报错如下:解决方案*编译加 -lrt原创 2021-01-14 23:05:11 · 1579 阅读 · 0 评论 -
一文搞懂HTTP、Socket和TCP
目录五层网络模型类IPEndPoint类Socket五层网络模型应用层:传输层:实现端对端的协议网络层:链路层:物理层:Socket可以理解为是操作系统提供的API,它不属于任何协议,通过调用Socket接口,就可以直接和传输层打交道。Socket就是插座,传输的数据就是“电”,要让我们的灯泡(应用)亮起来,只需要将插座插在整个线路上(网络链路中),就可以了。类IPEndPoint是抽象类EndPoint的实现类Socket对象的RemoteEndPoint、LocalE原创 2020-12-08 11:36:10 · 264 阅读 · 4 评论 -
Linux编译报错:“......undefined reference to symbol ‘pthread_rwlock_rdlock@@GLIBC_2.4.....”
目录1. 问题2. 真因3. 解决方案1. 问题报错:2. 真因因为调用线程相关(pthread)函数。3. 解决方案修改makefile文件,在arm-linux-gnueabihf-gcc后面加上-lpthread再编译,OK.原创 2020-09-01 12:51:10 · 4584 阅读 · 0 评论 -
I.MAX6ULL开发板重新上电系统无法启动问题
在进行系统烧录后,重新上电启动板子,发现系统起不来,串口没数据,还以为是把系统烧错了,又烧了一次,发现还是起不来。最后,一个一个排除,拔了SD卡上电还是起不来,拔了网线还是起不来,最后当拔掉串口后,再上电,就起来了!!!!怀疑是,串口和电脑、电源共地,板子没法彻底复位导致。记录一下,防止他人再入坑。...原创 2020-08-31 10:26:10 · 1199 阅读 · 0 评论 -
【Linux开发初步】00000021H_Linux网络编程——Socket理论篇
Socket(套接字)创建Socket实际上就是一个结构体准备知识字节序字节序转换函数通用地址结构因特网地址结构IPv4地址族和字节地址间的转换填写IPv4地址族结构案例实际编程TCP客户端服务器编程模型套接字与地址绑定建立连接...原创 2020-08-28 08:40:54 · 516 阅读 · 0 评论 -
【Linux开发初步】00000020H_Linux网络编程
OSI模型与TCP/IP模型对应关系TCP/IP协议族网络层协议应用层协议数据封装Internet协议(IP)IP地址IP地址分类端口号查看主机端口号:etc/services传输控制协议(TCP)用户数据报文协议(UDP)TCP和UDP协议区别网络层其他数据路由协议其他用户服务协议...原创 2020-08-28 08:36:41 · 512 阅读 · 0 评论 -
【Linux开发初步】00000011H_Linux线程的同步与互斥的基本概念
目录线程的同步和互斥线程同步条件变量条件变量创建和销毁条件变量等待操作条件变量通知操作线程互斥——互斥锁互斥锁创建和销毁互斥锁上锁和解锁互斥锁进程共享属性操作互斥锁类型操作线程互斥——读写锁读写锁创建和销毁读写锁加锁和解锁线程的同步和互斥线程同步条件变量条件变量创建和销毁条件变量等待操作条件变量通知操作线程互斥——互斥锁互斥锁创建和销毁互斥锁上锁和解锁互斥锁进程共享属性操作互斥锁类型操作线程互斥——读写锁读原创 2020-08-27 08:37:25 · 363 阅读 · 0 评论 -
【转载】Linux IO模式及 select、poll、epoll详解
最近在学习Linux相关知识,在segmentfault搜到一篇高质量的关于I/O的总结性文章,于是转载过来,分享给大家。转载 2020-08-27 08:28:01 · 610 阅读 · 0 评论