
Linux学习之路
文章平均质量分 93
本专栏根据博主学习Linux的路线,对Linux各类知识点进行了详细的总结和说明
Forward♞
这个作者很懒,什么都没留下…
展开
-
Linux——信号signal
如果不想让系统执行信号的默认动作,可以通过系统调用来对指定信号进行自定义捕捉处理signum:信号编号handler:函数指针,指向自定义处理信号的函数返回值:如果错误,返回SIG_ERRint main()//捕捉2号信号,并对其进行自定义处理handlerwhile (1)sleep(1);return 0;运行效果:可以看到,由于我们对2号信号进行了自定义捕捉处理,在进程收到了2号信号后,不会进行默认动作(退出进程),而是按我们定义的方式handler来进行。原创 2024-12-04 10:43:55 · 808 阅读 · 0 评论 -
Liinux——进程间通信之共享内存与信号量
system V 进程通信是一组在 Unix 和类 Unix 系统中用于进程间通信的机制,主要三种方式:共享内存、消息队列与信号量今天我们一起来对共享内存进行详细的学习,并了解信号量的基本概念我们常说:进程间通信的本质实际上就是让不同进程看到同一份资源。在之前,我们学习了基于文件的进程间通信(管道),今天,我们来学习基于内存的进程间通信:我们可以在物理内存申请一块空间,然后让两个不同的进程通过页表的映射将这个相同的物理内存映射到自己的虚拟地址空间,这样,这两个不同的进程就看到相同的内存资源了。如图:同时我们原创 2024-11-28 21:32:44 · 1025 阅读 · 0 评论 -
Linux——进程间通信之管道
对于这个问题,答案显而易见:一个进程必然不能解决所有的问题,系统中往往需要多个进程的协作来进行工作,而进程间的协作就需要进程之间进行信息的交互,这个过程也叫做进程间的通信。可以看到:在服务端(读端)打开到客户端(写端)未打开的这段时间中,服务端(读端)并没有打开管道文件,而是等客户端(写端)启动后,再打开的管道。这样,就可以通过子进程向公共文件写数据,父进程向公共文件读数据的方式,进行父子进程之间的通信了。同时也可以推出,在博主所用的系统中,,关闭父进程的读(写)端,关闭子进程的写(读)端,就可以。原创 2024-11-23 21:33:22 · 986 阅读 · 0 评论 -
Linux——软硬链接与动静态库
建立软链接的命令:例如我们以给一个文件建立的软链接为例,看看这个软链接和被建立链接的文件有什么不同:可以发现,当我们查看二者的inode时,它们的inode编号是不一样的,这说明了以下几点:那么,软链接存放的究竟是什么呢?通过上面的分析,可以得出结论:同时,我们发现,上面的快捷方式指向的文件实际是在,而一般来说,放在电脑桌面的快捷方式是存放在的,而同样在Linux——磁盘文件中提到过,一个分区就是一个文件系统,因此又可以得出一个结论:建立硬链接的命令:例如:同样,我们来查看硬链接和被链接文件的:可以看到,硬原创 2024-11-18 18:57:27 · 893 阅读 · 0 评论 -
Linux——磁盘文件
通过前一篇文章,我们知道了如何对加载在内存中的文件进行读写等操作,并了解了其内在的原理。同时我们也应该清楚,并不是所有的文件都会被加载入内存,而没有被加载入内存的文件,就被存放在磁盘中,称为磁盘文件。现在,就让我们一起来学习磁盘文件的相关知识本片思维导图:注:本章思维导图对应的.xmind和.png文件都已同步导入至,供免费查阅。原创 2024-03-12 20:16:52 · 1387 阅读 · 1 评论 -
Linux——系统文件I/O
注:学习本次内容之前,最好先对有所了解本章思维导图:注:思维导图对应的.xmind文件和.png文件都已同步导入至,可供免费查阅在以前学习的C语言中,我们可以通过fwrite和fread等各种库函数对系统文件进行读写操作。同时也应该注意到,C语言作为一种用户级语言,其可以利用库函数对系统的底层数据进行各种操作,这个过程中一定会经过操作系统的处理,因此我们可以确定。今天我们就要来学习有关文件操作的系统调用及其背后的细节。原创 2024-02-16 10:06:01 · 1338 阅读 · 1 评论 -
Linux——shell程序的简单实现
本章思维导图:注:本章思维导图对应的.xmind和.png文件都已同步导入至,可免费查阅在学习完有关进程的知识后,我们就可以开始尝试自己实现一个简单的shell程序了。注:在编写简单的shell程序之前,你首先需要掌握:👉👉👉。原创 2024-01-25 20:39:11 · 1577 阅读 · 0 评论 -
Linux——进程程序替换
本章思维导图:注:本章思维导图对应的.xmind和.png文件都已同步导入至,供免费查阅。原创 2024-01-23 17:32:31 · 1159 阅读 · 0 评论 -
Linux——环境变量与本地变量
本章思维导图:注:本章思维导图对应的.xmind和.png文件都已同步导入至。原创 2023-12-24 15:25:54 · 1419 阅读 · 1 评论 -
Linux——进程地址空间与进程控制
通过上面的讲解,我们知道,要知道代码是否出异常,就需要知道它的异常信号码,要知道它的运行结果是否正确,就需要他的进程退出码。因此,如果想要知道一个进程的执行情况进程退出码和异常信号码。原创 2023-12-14 18:00:32 · 1156 阅读 · 0 评论 -
Linux——操作系统与进程的基础概念
本章思维导图:注:思维导图对应的.xmind和.png文件都已同步导入至。原创 2023-12-07 11:09:29 · 1293 阅读 · 0 评论 -
冯诺依曼体系结构
本章思维导图:注:本章思维导图对应的.xmind和.png文件都已同步导入至。原创 2023-11-30 23:53:21 · 555 阅读 · 0 评论 -
Linux——编译器gcc/g++、调试器gdb以及自动化构建工具makefile&&make详解
我们可以用。原创 2023-11-19 23:44:52 · 1147 阅读 · 2 评论 -
Linux——vim简介、配置方案(附带超美观的配置方案)、常用模式的基本操作
vim是Linux常用的文本编辑器,每个Linux账户都独有一个vim编辑器本篇我们介绍vim命令模式(command mode)、底行模式(last line mode)、插入模式(insert mode)原创 2023-11-12 21:21:08 · 11501 阅读 · 8 评论 -
Linux——手把手教你解决sudo指令无法使用的问题
sudorootroot但是,如果是新创建的普通账户,一般来说一开始是不能执行sudosudoerssudosuduersrootsudosudoerssudorootsudoersroot。原创 2023-11-10 14:04:55 · 12721 阅读 · 0 评论 -
Linux——文件权限属性和权限管理
本章思维导图:注:本章思维导图对应的Xmid文件和.png文件都以传到“资源”原创 2023-10-28 16:00:30 · 878 阅读 · 2 评论 -
Linux新建用户、删除用户以及用户之间的切换
学习之前,我们需要了解一个Linux的基本常识:Linux系统root超级管理员非root普通用户在Linux系统的目录中,root账户有一个专门的目录/root,而所有的普通账户的目录都存放在家目录/home中。原创 2023-10-25 23:24:26 · 2520 阅读 · 2 评论 -
Linux——shell外壳程序
在学习Linux的过程中,我们不免会发出疑问,下图的字符串到底是什么?实际上,上面那一串等待我们输入指令的字符串就叫做命令行解释器而命令行解释器的背后有一个程序,它用来接收用户输入的指令,并执行由用户到内核,再由内核返回到用户的翻译工作这个程序就叫做shell外壳程序经过本次的学习,我们可以做出如下的总结shell外壳程序是一切外壳程序的统称shell外壳程序是连接用户和系统内核间的桥梁shell外壳在方便用户和内核交互的同时也在一定程度上保护了内核的安全。原创 2023-10-20 19:51:27 · 767 阅读 · 0 评论 -
Linux常见基本指令合集及其效果展示
首先先问大家一个问题:在磁盘上建一个空文件,这个文件会占据磁盘的储存空间吗?实践出真知,我们发现新建一个文本文档,它的大小是0kB,这时有小伙伴就会认为既然它的大小是0KB,那么它当然也就不会占用磁盘空间咯。然而真的是这样吗?我们打开这个文件的属性来一探究竟:我们发现系统不仅记录了这个空文件的大小,同时还有它的文件名、文件类型、所在位置、创建时间等信息,难道这些信息不要占用系统空间吗,当然要!一个空文件同样会占用系统空间文件 = 文件内容 + 属性路径的本质就是这颗多叉树的搜索路径。原创 2023-10-17 17:35:43 · 362 阅读 · 2 评论