Linux
文章平均质量分 96
对Linux的指令深度学习
IF'Maxue
AWS人工智能初级从业者 省一 支付宝社区开发者 腾讯云创作之星 华为云云享专家 阿里云专家博主 第14期新星杯/王者杯第5名 【不咕创作赛】榜首
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Linux】多线程核心速记:线程池 + 单例模式 + 线程安全 + 死锁 + 智能指针
本文深入探讨线程池的退出机制与单例模式的线程安全实现。线程池部分详细解析了线程的三种状态(等待、等待唤醒、处理任务)及安全退出的核心条件(退出信号+空任务队列),强调需通过条件变量唤醒休眠线程,并给出完整生命周期管理流程图。单例模式部分对比了饿汉式(线程安全但资源浪费)和懒汉式(延迟加载但需处理线程安全)的实现方案,指出其在不同场景下的适用性。文章结合代码示例和图示,为多线程编程中的关键设计问题提供了实践指导。原创 2025-11-24 21:21:27 · 871 阅读 · 72 评论 -
【Linux】从条件变量到信号量|环形队列版生产者 - 消费者模型实战(附完整源码)
前言:欢迎各位光临本博客,这里小编带你直接手撕**,文章并不复杂,愿诸君**耐其心性,忘却杂尘,道有所长!!!!在多线程编程中,同步与互斥是核心问题。本文将从条件变量、阻塞队列入手,逐步深入到POSIX信号量,并最终实现一个基于环形队列的生产者-消费者模型,展示不同同步机制的应用场景与实现细节。条件变量是线程间同步的基础工具,用于线程间的“等待-通知”机制。你可以把它想象成一个“消息板”,线程A在上面等待一个消息(条件满足),线程B在条件满足时在消息板上发布通知,唤醒线程A。这是条件变量最基础的实现,包含了原创 2025-11-23 22:09:39 · 1043 阅读 · 17 评论 -
【Linux】多线程开发封神之路:Linux 页表基础 + pthread 实战 + 底层原理拆解
摘要: 本文系统讲解了页表结构、线程操作等底层核心机制。首先分析了页表项标志位的作用(存在位、读写位等)及页表结构体设计,指出页目录固定占用4KB空间,其本质是物理地址索引数组。随后详细探讨线程操作,包括pthread_create创建线程、pthread_join获取返回值、参数传递的void*泛型设计,并强调线程终止应避免使用exit()。最后说明线程分离(detach)可自动回收资源,但分离后不可再join。通过多级页表与线程控制的原理解析,揭示了内存管理与并发执行的底层逻辑。 (150字)原创 2025-11-20 14:51:51 · 1091 阅读 · 103 评论 -
【Linux】Linux内存管理与线程控制核心解析
本文深入解析Linux内存管理和线程控制的核心机制。重点包括多级页表与TLB的优化原理、缺页异常处理流程、new/malloc的底层实现逻辑。同时探讨线程的优缺点,如创建成本低但健壮性差,并对比进程/线程切换差异。通过图解和实例分析,揭示内存越界风险、线程异常影响等关键问题,最后指出Linux线程本质是轻量级进程。全文结合代码与图表,帮助读者掌握底层原理与实操要点。原创 2025-11-11 15:10:58 · 791 阅读 · 20 评论 -
【Linux】Linux 地址空间 + 页表映射的概念解析
本文解析Linux中线程与进程的核心区别及实现机制。线程是进程内的执行分支,共享同一地址空间资源,但独占栈、寄存器等;进程则是独立资源分配单位。Linux通过轻量级进程(LWP)复用进程机制实现线程,降低内核开发成本。文章还剖析了虚拟地址空间划分、多线程并行原理、物理内存的4KB页框管理机制,以及虚拟地址到物理地址的页表转换过程。最后通过pthread示例展示了线程共享变量的特性,编译需添加-lpthread参数。系统视角下,线程与进程都是可调度执行流,区别在于资源隔离程度。原创 2025-11-08 19:02:49 · 2000 阅读 · 112 评论 -
【Linux】从内存布局到信号屏蔽:Linux 内核态与用户态交互核心知识点汇总
本文深入探讨了计算机内存中的程序运行机制与操作系统权限管理。首先解析了用户进程与内核页表的共享关系,说明操作系统如何通过内核页表确保稳定运行。随后重点分析了用户态与内核态的权限划分机制,包括CPU寄存器检测、特权级别转换及段描述符表管理。文章还详细讲解了sigaction信号处理函数的优势和使用方法,并剖析了信号屏蔽机制的核心原理,通过代码示例展示了sa_mask信号集的扩展屏蔽功能。全文系统性阐述了操作系统底层权限控制与信号处理的关键技术实现。原创 2025-11-03 08:28:10 · 2322 阅读 · 79 评论 -
【Linux】Linux 开发必备:信号处理时机 + 中断向量表 + 系统调用表,内核态切换核心知识点
本文深入解析Linux信号处理机制与内核态/用户态的交互原理。信号处理的"合适时机"是进程从内核态返回用户态的瞬间,此时OS会检查未决信号并执行处理。详细剖析了四种信号处理动作的差异,重点说明自定义信号处理函数涉及的用户态/内核态多次切换流程。同时,从硬件视角揭示中断机制与信号设计的相似性,包括中断控制器工作原理和中断向量表的映射逻辑,并强调时钟中断作为OS调度核心驱动力对进程管理的关键作用。通过硬件中断与软件信号的对比,展现了操作系统异步事件处理的统一设计思想。原创 2025-10-23 11:23:25 · 1260 阅读 · 117 评论 -
【Linux】Linux 进程信号核心拆解:pending/block/handler 三张表 + signal/alarm 实战
本文详细介绍了Linux进程信号的产生与处理机制。信号是操作系统向进程发送的异步事件通知,共有1-31号普通信号和34-64号实时信号两种类型。信号的产生方式包括键盘输入(如ctrl+c)、系统调用(kill/raise/abort)、程序异常(除0/野指针)和软件条件(alarm等)。进程可通过signal函数自定义信号处理方式,或选择默认/忽略动作。重点讲解了前台/后台进程的信号处理差异,以及通过系统调用和异常触发信号的实际案例。通过生动的比喻和代码示例,帮助读者深入理解Linux信号机制的工作原理。原创 2025-10-20 08:17:49 · 2376 阅读 · 109 评论 -
【Linux】Linux 进程通信:System V 共享内存(最快方案)C++ 封装实战 + 通信案例,4 类经典 Bug 快速修复
本文介绍了Linux中的System V共享内存机制,作为最快的进程间通信方式。共享内存通过直接映射物理内存到多个进程的虚拟地址空间,实现高效数据传输,但缺乏同步机制。文章详细讲解了共享内存的核心原理(包括虚拟地址映射、内核管理结构)及关键API:ftok生成唯一标识、shmget创建/获取共享内存、shmat/shmat实现映射/解绑、shmctl进行管理操作。最后强调了共享内存的4KB对齐要求和权限设置,并提供了完整的代码示例流程。原创 2025-10-17 17:30:04 · 2063 阅读 · 147 评论 -
【Linux】Linux进程间通信:命名管道(FIFO)的模拟实现重要知识点梳理
频繁判断“函数返回值是否为-1”会让代码冗余,可定义宏来封装“错误打印+进程退出”的逻辑。未用宏时(代码冗余):定义宏(是C语言的“换行符续接”,让宏跨多行更易读):用宏后(代码简洁,直接调用CHECK。原创 2025-10-15 19:43:36 · 1444 阅读 · 73 评论 -
System V IPC:Linux进程通信的标准方案
/ 消息结构体:第一个字段必须是 long 类型的消息类型long mtype;// 消息类型(必须 > 0)// 消息体(存实际数据)原创 2025-10-14 21:19:13 · 771 阅读 · 19 评论 -
【Linux】Linux进程通信核心技能:搞懂命名管道,轻松了解无血缘进程通信难题!
摘要: 命名管道(FIFO)解决了匿名管道只能用于血缘进程通信的局限,允许无关进程通过共享同一文件路径实现通信。其核心原理是:多个进程打开同一文件时,操作系统复用内存中的文件缓冲区,避免重复加载。Linux中可通过mkfifo命令创建命名管道文件(权限标记为p)。代码示例演示了如何用mkfifo()函数创建管道,并以读写方式打开(需双方进程同时运行),实现数据传输。命名管道仅作通信媒介,不存储实际数据。后续将提供完整通信模拟代码。 关键词: 命名管道、FIFO、进程间通信、mkfifo、文件共享原创 2025-10-13 19:01:42 · 1173 阅读 · 66 评论 -
【中秋节+AI】三款AI产品让我的中秋节不再无趣
你是否有过这样的处境,花好月圆时,中秋佳节时,人聚团圆时,一个人独自守在自己的出租屋里,刷着厌倦着的网络视频,想提起精气神,提高自己的专业技能,却因为种种心境,只是做在哪里,什么也学不下去。说实话,这也是我现在的处境,但好在我孤独惯了,能忍受一个人的世界。但在这里还是祝大家花好月圆,过在当下,最好的事就在身边,最好的人就在眼前。!!!!!这一模块的效果虽然差强人意,但好在胜在文字排版清晰,虽然算不上惊艳,但绝对是在及格线以上的。中秋简介和三个附属介绍,能够使人简洁明了的了解到中秋节的起源。原创 2025-10-06 14:10:04 · 5279 阅读 · 141 评论 -
【C转C++】 C转C++超值且好用的容器与函数
从C转向C++,不需要一次性学完所有内容,先掌握map(键值对)、vector(动态数组)、set(集合)、string(字符串)这几个核心容器,就能解决80%的日常编程问题。少写重复代码:排序、去重、内存管理交给STL;更安全:避免缓冲区溢出、内存泄漏等C中常见bug;更直观:用拼接字符串、用[]访问键值对,符合人类思维。原创 2025-10-04 21:56:42 · 1219 阅读 · 18 评论 -
【Linux】Linux管道与进程池深度解析:从原理到实战
本文介绍了Linux进程间通信的基础技术——管道(Pipe)及其在进程池中的应用。通过实验验证了管道的64KB容量限制,分析了写入原子性与PIPE_BUF的关系,并强调了这些特性对进程池任务传递的重要性。文章详细讲解了进程池的一对一管道通信模型设计,包括父进程与子进程的通信机制、任务分配策略等核心实现细节,为开发高并发系统提供了实用参考。原创 2025-10-04 21:47:02 · 2394 阅读 · 52 评论 -
【Linux】Linux 管道面试必看:特性、通信情景、SIGPIPE 处理
本文介绍了Linux管道的核心特性与四种常见通信情景。管道作为进程间通信的轻量工具,具有同步机制、字节流传输、单向通信和生命周期随进程等特点。文章详细分析了四种通信情景:写慢读快、写快读慢、写端关闭继续读、读端关闭继续写,并通过代码示例和图示解释了每种情景的运行机制与结果。重点强调了管道的数据同步、读写速度差异的影响以及异常关闭的处理方式,帮助读者深入理解管道的工作原理和实际应用场景。原创 2025-10-03 22:20:13 · 1467 阅读 · 60 评论 -
【linux】 Linux 匿名管道:从 pipe 调用到通信测试(可运行代码 + 原理剖析)
本文介绍了进程间通信的基本概念与匿名管道的实现原理。主要内容包括:1)进程通信的必要性,如数据传输、资源共享等;2)通信的本质是让不同进程访问同一份系统分配的内存资源;3)重点讲解了匿名管道的实现机制,它是基于父子进程血缘关系的单向通信方式,通过共享文件描述符表实现数据交互。文章还通过代码示例演示了父子进程通过管道实现"子写父读"的通信过程,包括管道的创建、文件描述符的关闭等关键步骤。匿名管道是内存级的通信方式,不涉及磁盘操作,适用于具有血缘关系的进程间通信。原创 2025-10-02 22:04:46 · 1268 阅读 · 64 评论 -
【Linux&&vs code】Xshell远程配置到VS Code环境配置指南
本文介绍了进程间通信的基本原理,即通过共享内存资源实现进程间信息传递,并详细讲解了如何在VSCode中配置开发环境。主要内容包括:1)更新VSCode和安装必备插件;2)使用SSH插件连接远程服务器;3)文件同步和终端操作技巧;4)推荐GDB调试和AI代码补全插件;5)常见问题解决方法。通过逐步配置VSCode环境,为后续开发进程间通信程序打下基础,提升开发效率。原创 2025-10-01 18:27:51 · 1579 阅读 · 91 评论 -
【linux】Linux云服务器:多用户管理+Git仓库上传超详细步骤
Linux用户管理与Git操作指南 本文介绍了Linux用户管理及Git代码上传的完整流程: 用户管理:通过/etc/passwd查看用户,useradd添加用户,passwd设置密码,su切换用户。 Git操作:配置用户名/邮箱后,通过git clone获取仓库,git add→commit -m→push完成代码提交。同步更新可使用git pull解决冲突。 常见问题:远端仓库更新时需先执行git pull再推送,避免版本冲突。 (摘要含核心命令与解决方案,满足快速查阅需求)原创 2025-09-28 12:46:32 · 1194 阅读 · 7 评论 -
【Linux】系统中的动态链接的逻辑
本文深入解析动态链接技术,通过对比静态链接,阐明其节省空间、便于更新和高效加载的优势。动态链接分为编译标记、加载解析和运行时调用三个阶段,依赖动态链接器(ld-linux.so)搜索并映射库到内存。关键机制包括位置无关代码(PIC)、全局偏移表(GOT)和过程链接表(PLT),实现函数地址的动态解析。文章通过C程序示例演示动态库的编译与调用,并介绍库依赖和延迟绑定等高级特性,最终凸显动态链接在程序优化中的核心价值。原创 2025-09-28 11:15:12 · 885 阅读 · 0 评论 -
【Linux】Linux下的静态链接的底层逻辑
摘要:本文通俗讲解程序编译与链接原理,通过乐高组装类比解析静态/动态链接差异。静态链接将多个.o文件合并为独立可执行程序,动态链接则共享内存中的库代码节省资源。核心流程包括:1)编译器生成目标文件(未解决外部符号);2)链接器合并节区并填充地址;3)运行时通过虚拟地址空间映射执行。结合objdump反汇编与内存管理图示(如mm_struct),详解地址重定位机制,对比两种链接方式的优缺点。当遇到"undefined reference"错误时,本质是链接器无法定位外部符号所致。原创 2025-09-28 10:48:55 · 1289 阅读 · 66 评论 -
【Linux】Linux文件系统详解:从磁盘到文件的奥秘
本文介绍了Linux文件系统的核心机制和工作原理。文件系统通过分区、格式化建立管理规则,使用数据块存储文件内容,inode作为文件的唯一标识记录属性和位置。目录存储文件名到inode的映射表,超级块保存分区的关键信息。文章还详细讲解了文件查找路径解析过程、分区挂载原理,以及软硬链接的区别和实现机制,最后提到内核通过dentry缓存优化访问性能。这些机制共同保障了Linux系统高效管理海量文件的能力。原创 2025-09-22 21:18:57 · 11578 阅读 · 123 评论 -
【Linux】Linux核心概念拆解:重定向、一切皆文件与缓冲区
在Linux里用grep命令搜FILE的定义,会发现它是先写一个.h文件,定义MyFILE重定向:修改文件描述符的指向,让stdout/stderr改道到文件;核心是“只改1不管2”会留错误信息,用2>&1强制重定向stderr。一切皆文件:通过VFS的和函数指针,屏蔽硬件差异,让进程用统一接口操作所有设备——本质是C版多态。缓冲区:用户态的库函数缓冲区+内核态的内核缓冲区,减少系统调用次数;核心是理解刷新规则(行缓冲/全缓冲/无缓冲)和fflush的作用。原创 2025-09-21 10:19:32 · 1082 阅读 · 1 评论 -
【Linux】【硬件向】从“找文件”到“懂磁盘”:一文搞懂文件、磁盘与文件系统
这篇文章介绍了磁盘存储和文件系统的基本原理,主要内容包括: 文件存储方式:文件由内容和属性组成,通过树状目录结构存储在磁盘中,路径导航帮助定位文件。 磁盘硬件环境:磁盘安装在服务器中,通过机柜和机房进行规模化部署,利用磁铁原理存储数据。 磁盘物理结构:数据存储在扇区(512字节)中,多个盘面通过磁头读写,形成磁道和柱面结构。 寻址方式:介绍了CHS(柱面-磁头-扇区)三维寻址和LBA(逻辑块地址)线性寻址两种定位方法,以及它们之间的转换关系。 操作系统角色:文件系统管理磁盘文件,操作系统通过LBA与磁盘交互原创 2025-09-20 10:41:43 · 2053 阅读 · 49 评论 -
【Linux】聊聊文件那些事:从空文件占空间到系统调用怎么玩
本文探讨了文件存储与操作的核心概念。空文件仍会占用磁盘空间(如Linux默认4KB),因为文件由内容+属性构成。文件存储在磁盘中,通过系统IO操作与内存交互。进程通过库函数和系统调用(如open/read/write)操作文件,操作系统会建立内存级文件结构管理打开的文件。文章以cat命令为例解析了文件读取流程,并演示了C语言输出到显示器的两种方法(printf/fwrite),详细介绍了fwrite函数的参数及文件写入操作。所有文件访问必须经过打开步骤,由操作系统完成权限检查和资源分配。原创 2025-09-18 10:36:37 · 8006 阅读 · 63 评论 -
【Linux】【底层解析向】Linux Shell 核心功能拆解:环境变量不生效原因 + $?/echo/alias 底层逻辑
本文解析了Linux Shell中环境变量修改后"不生效"的问题,指出这是由于父子Shell进程的特性所致。文章通过图文并茂的方式,详细讲解了Shell环境变量的工作原理,包括局部变量与导出变量的区别、父子进程的变量继承机制等核心概念。作者还展示了相关代码实现,说明如何通过封装环境变量操作函数(如add_env、export_env等)来正确管理变量传递。全文采用实际问题导向的写法,将复杂的技术概念转化为通俗易懂的示例,帮助读者掌握Shell环境变量的正确使用方法。原创 2025-09-17 13:37:26 · 937 阅读 · 1 评论 -
【Linux】 存储分级的秘密
各位本博客,这里小编带你直接手撕**,文章并不复杂,愿诸君**耐其心性,忘却杂尘,道有所长!!!!原创 2025-09-14 23:54:38 · 7663 阅读 · 100 评论 -
【Linux】【实战向】Linux 进程替换避坑指南:从理解 bash 阻塞等待,到亲手实现能执行 ls/cd 的 Shell
本文介绍了进程替换的核心概念和exec系列函数的使用方法。主要内容包括: 解释了为什么sleep命令会"卡住"程序,实际上是bash在等待子进程执行完成。 阐述了进程替换的本质:不创建新进程,只替换当前进程的代码和数据段,保持PID和PCB不变。 分析了exec函数只有失败返回值的原因:成功替换后会覆盖原程序代码,无法返回。 详细介绍了5个exec系列函数: execl:需要完整路径,参数列表形式 execlp:通过PATH查找程序,参数列表形式 execv:需要完整路径,参数数组形式原创 2025-09-13 11:28:10 · 17223 阅读 · 89 评论 -
【Linux】面试常考!Linux 进程核心考点:写时拷贝优化原理 + 进程等待实战,一篇理清进程一生
摘要:本文通俗解析Linux进程管理的核心机制。首先介绍fork()创建进程的原理,通过代码演示父子进程区分;其次讲解写时拷贝技术如何高效复用内存;然后详述进程退出的三种方式(main返回、exit()和_exit())及其区别;最后说明进程退出码的作用及查看方法。全文结合示意图和代码示例,帮助新手快速掌握Linux进程管理的关键概念。(149字)原创 2025-09-12 11:22:08 · 1682 阅读 · 46 评论 -
【Linux】老板给你画的大饼起源于虚拟空间地址
本文深入解析了进程虚拟地址空间的运作机制。首先介绍了每个进程拥有独立的4GB虚拟地址空间,分为用户空间和内核空间,并通过代码展示了变量虚拟地址的获取方式。其次,阐述了页表作为"地址翻译字典"的作用,实现虚拟地址到物理地址的转换。重点分析了父子进程共享虚拟地址却拥有不同值的现象,揭示了写时复制技术的原理。最后,详细讲解了mm_struct数据结构如何管理虚拟地址空间的区域划分,包括代码段、堆、栈等区域的起止地址记录。全文通过图文结合的方式,生动呈现了进程内存管理的核心概念和技术实现。原创 2025-09-11 11:11:10 · 917 阅读 · 14 评论 -
【Linux】Linux进程状态和僵尸进程:一篇看懂“进程在忙啥”
本文深入浅出地讲解了Linux进程状态的核心概念。首先指出进程状态存储在task_struct数据结构中,并类比为"工作状态标签"。文章通过"工厂干活"的生动比喻,解析了运行态(在调度队列中工作)、阻塞态(等待硬件资源)和挂起态(内存不足时被移出)三种基本状态。特别强调Linux内核使用链表结构管理进程状态切换,并详细拆解了R(运行)、S(睡眠)、D(不可中断)、T(停止)等实际状态。最后通过C代码示例演示如何捕获R状态进程,帮助读者理解理论知识在实际系统中的表现。全原创 2025-09-05 09:07:43 · 1979 阅读 · 48 评论 -
【Linux】环境变量与程序地址空间详解
环境变量是Linux系统的关键配置信息,相当于系统的"运行说明书"。PATH变量记录了程序查找路径,使系统命令无需输入完整路径即可执行。环境变量通过bash读取配置文件加载,不同用户可拥有独立配置。常用环境变量包括USER、HISTSIZE、HOSTNAME和PWD等,可通过export、unset和set命令操作。在C程序中,可通过main函数的envp参数、getenv函数或environ全局变量获取环境变量。 程序地址空间是系统为进程分配的虚拟内存地图,与物理内存不同。C程序地址空原创 2025-09-04 10:20:02 · 1669 阅读 · 58 评论 -
【Linux】为什么死循环卡不死 Linux?3 个核心逻辑看懂进程优先级与 CPU 调度密码
本文深入解析Linux进程优先级机制,从概念到实操全面讲解。文章首先将进程优先级类比为"奶茶店排队顺序",解释其本质是CPU资源分配规则。通过top和nice命令演示如何查看和调整优先级,强调NI值范围为[-20,19]且不宜随意修改。随后剖析进程切换原理,说明时间片机制如何防止程序独占CPU,并介绍进程控制块(task_struct)的关键作用。最后探讨Linux调度算法的公平性原则,区分分时系统和实时系统的差异。全文穿插图示和命令行示例,帮助读者深入理解进程调度的底层逻辑。原创 2025-09-03 11:11:23 · 1150 阅读 · 30 评论 -
从电脑底层到进程创建:一篇看懂冯诺依曼、OS和进程
本文介绍了计算机系统的核心概念,包括冯诺依曼体系结构、操作系统功能和系统调用机制。首先阐述了程序运行前存储在磁盘中,必须加载到内存才能被CPU执行的底层原理,类比为"食材从冰箱到操作台"的过程。其次揭示了操作系统作为"全能管家"的角色,通过"先描述后组织"的方式管理硬件资源。最后说明系统调用是用户程序与操作系统内核交互的唯一安全通道,类似于银行柜台服务。全文以通俗比喻和图示相结合的方式,帮助读者理解计算机系统的基本工作原理。原创 2025-09-02 13:27:57 · 1989 阅读 · 64 评论 -
【Linux】Make/Makefile (自动化构建):从“是什么”到“会用它”
Make与Makefile简明指南 Makefile是Linux下的自动化编译工具,由make命令执行。它通过定义目标文件、依赖关系及编译指令,实现代码的自动化编译。核心特点包括: 依赖管理:明确目标文件与源文件的依赖关系 增量编译:仅重新编译修改过的文件,提升效率 伪目标(.PHONY):强制执行某些操作(如clean) 变量与通配:支持通配符(wildcard)和变量替换(patsubst) 自动化构建:通过$@、$^等特殊变量简化命令编写 典型Makefile包含编译规则、清理规则,使用make执行默原创 2025-08-29 14:09:41 · 1135 阅读 · 30 评论 -
【Linux】动态库丢了程序就崩?一文讲清动态 / 静态库区别 + Linux 静态库安装教程
本文介绍了程序开发中的两种重要代码库:动态库和静态库。在Linux系统中,动态库为.so文件,静态库为.a文件;Windows系统中则分别为.dll和.lib文件。文章详细讲解了gcc编译器如何处理这两种库,包括默认的动态链接和通过-static选项实现的静态链接。动态链接优势在于节省空间和便于更新,但依赖性强;而静态链接程序独立性强但体积较大。实际开发中应根据项目需求选择合适的方式,桌面应用推荐动态链接,嵌入式开发则更适合静态链接。理解这两种库的特点和适用场景,能帮助开发者更高效地进行程序构建和部署。原创 2025-08-28 15:01:22 · 1426 阅读 · 68 评论 -
告别 Linux 操作痛点:打包压缩 / 远程传输 / 权限修改实操攻略,新手也能少走弯路
摘要: 本文系统介绍了Linux系统中的文件打包压缩、系统传输、权限管理等核心操作。打包压缩(如ZIP/TGZ)通过特定算法节省存储空间(50%-70%压缩率)并提升传输稳定性,详细给出了zip/tar命令示例及格式对比。系统文件传输涵盖跨平台工具(lrzsz/scp)和热键技巧(补全/终止命令)。权限管理部分解析了用户角色(root/普通用户)、文件属性(rwx)及chmod权限修改方法,强调777权限的安全风险。另附软件管理命令(apt)及Shell运行原理图解,形成完整的Linux运维操作指南。 (字原创 2025-08-28 12:00:00 · 2607 阅读 · 57 评论 -
【Linux】聊聊程序员必备的两个工具:Git版本控制和GDB调试
程序员必备两大工具:Git和GDB帮你高效开发。Git作为版本控制系统,能记录代码修改历史,支持多人协作,通过add、commit、push"三板斧"实现代码管理,解决版本回溯和冲突问题。GDB是强大的调试工具,需用-g参数编译debug版本,通过设置断点、单步执行、查看变量等功能快速定位程序bug。掌握这两个工具,能有效提升代码管理和调试效率。原创 2025-08-27 09:00:00 · 1340 阅读 · 33 评论 -
【Linux】深度学习GCC的编译流程
以“免费版 vs 专业版”为例,通过// 1. 定义 PRO_VERSION 表示编译专业版(注释此行则编译免费版)// 免费版基础功能(所有版本都编译)printf("免费版功能:基础文件编辑、代码保存\n");// 2. 专业版专属功能(仅定义 PRO_VERSION 时编译)printf("专业版功能:代码调试、多文件管理、云端同步\n");graph LRA[二进制编程(纸带打孔)→ 效率极低]B[汇编语言 + 汇编器 → 助记符替代二进制]原创 2025-08-26 00:15:00 · 1141 阅读 · 36 评论 -
【Linux】开发工具命令指南:深度解析Vim的使用操作
Vim高效文本编辑指南 Vim是一款多模式编辑器,通过切换命令模式(默认)、插入模式(i)、命令行模式(:)、可视模式(v/Ctrl+v)和替换模式(R)实现高效编辑。 核心功能速览: 命令模式:支持快速光标移动(gg/G/w)、复制粘贴(yy/p)、撤销(u)和删除(dd)。 插入模式:按i/a/o进入文本输入,Esc返回命令模式。 命令行模式:保存(:w)、退出(:q)、全局替换(:%s/old/new/g)及编译代码(:!gcc file.c)。 可视模式:Ctrl+v启用块操作,实现批量注释/删除。原创 2025-08-25 16:24:48 · 2396 阅读 · 153 评论
分享