logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux 文件描述符与重定向:从 `open` 到自定义 Shell

以前我第一次看到openreadwriteclose时,很容易把它们当成另一套“更难用的文件函数”。后来顺着一次文件访问的路径往下追,我才发现:真正的主角不是函数名,而是进程、文件描述符表和内核打开文件对象之间的关系。这条主线可以压缩成一句话:进程不直接拿着文件操作,而是先拿到一个文件描述符;重定向不改变程序的输出语句,只改变某个文件描述符指向谁。这篇笔记从“为什么文件访问必须经过操作系统”出发,

文章图片
#linux#服务器#运维
Linux 开发工具:从 yum 到 vim

场景类比手机应用商店华为应用商店、小米应用商店、App StoreLinux 包管理器yum(CentOS)、apt(Ubuntu)以下操作以CentOS为例包管理器就是Linux 上的应用商店,你可以:yum searchyum removevim 是 Linux 系统自带的文本编辑器它是vi 的增强版后端程序员必须掌握(线上环境编辑配置文件、写代码)问题答案是什么?Linux 上的应用商店,包

文章图片
#linux#vim#运维
Linux:Makefile 自动化构建与进度条实战

本文是Linux开发工具专题的第四部分,重点讲解Makefile编写和命令行进度条开发。Makefile部分详细介绍了依赖关系、伪目标(.PHONY)、变量与自动变量($@/$^)、模式规则(%.o:%.c)等核心概念,并提供了通用模板。进度条部分深入讲解了回车换行(\r)、缓冲区刷新(fflush)、格式化输出(%-100s)和旋转光标实现技巧,通过两版代码迭代演示了如何开发动态进度条。文章采用

文章图片
#linux#自动化#运维
Linux 开发工具:Git 版本控制与 GDB 调试入门

本文是Linux开发工具专题的收官篇,重点介绍了Git版本控制和GDB调试器的使用。Git部分详细讲解了版本控制概念、本地/远端仓库操作、命令行使用及冲突解决方法,强调通过.gitignore管理文件、规范提交信息的重要性。GDB部分则涵盖调试模式设置、断点管理、单步执行等核心调试技巧,推荐使用CGDB增强可视化体验。文章还补充了进度条程序中的回调函数解耦设计,通过函数指针实现业务逻辑与显示刷新的

文章图片
#linux#git#运维
Linux 进程概念:从硬件到操作系统,再到进程管理

本文深入讲解了Linux系统编程中的进程概念,从冯·诺依曼体系结构出发,剖析了操作系统的管理思想。重点内容包括:1. 进程本质是内核数据结构(PCB/task_struct)与代码数据的结合;2. 系统调用与库函数的关系,以及fork创建进程的原理;3. 进程查看方法(/proc、ps命令)和标识获取(getpid);4. 父子进程的代码共享与数据写时拷贝机制;5. 进程独立性的实现方式。文章通过

文章图片
#linux#运维#服务器
Linux基本指令2

本文系统介绍了Linux操作系统"一切皆文件"的核心设计理念及相关操作。主要内容包括:1) Linux文件系统基本概念,包括设备文件、标准输入输出;2) 重定向操作(>、>>、<)及其与C语言文件操作的对应关系;3) 文件类型分类(普通文件、目录、设备文件等);4) 常用文件操作命令(cat、less、head/tail等)及管道(|)的组合使用;5)

文章图片
#linux#运维#服务器
Linux基本指令1

内容:文件中实际存储的数据(如属性:文件名、大小、类型、权限、创建时间、修改时间等。即使是空文件,其属性也会占用磁盘空间。文件操作分为两类:对内容的操作:读写、追加等。对属性的操作:修改权限、修改时间等。文件 = 内容 + 属性:这是我们理解 Linux 文件系统的基础。以后学文件操作时,要时刻记得,你操作的要么是内容,要么是属性。Linux 目录结构是一棵多叉树:从根目录开始,每个目录都有和..

文章图片
#linux#服务器#开发语言
Linux初识

本文系统介绍了Linux操作系统的发展历程、核心特性及应用场景。从计算机发展脉络切入,梳理了Linux的诞生背景(1991年由Linus Torvalds开发)及其开源特性优势(代码透明、全球协作、高稳定性)。重点分析了Linux在服务器(占比90%以上)、嵌入式设备和云计算领域的主导地位,比较了不同发行版(如Ubuntu、CentOS)的适用场景。文章提供了环境搭建方案推荐(云服务器最优),并详

#linux#运维#服务器
到底了