
Linux
文章平均质量分 91
Linux笔记
写不来CODE
我很懒,还没有个人简介
展开
-
【Linux】进程间通信、匿名管道、进程池
是指在操作系统中,不同进程之间进行数据交换和同步的机制。由于每个进程通常拥有独立的内存空间,进程间无法直接访问对方的内存,因此需要通过特定的机制来实现通信和协作。原创 2025-04-05 22:25:17 · 598 阅读 · 0 评论 -
【Linux】ELF文件与库的加载
了解了动静态库的制作与使用后,我们直到库本质上就是.o文件的集合。我们在开发过程中,也经常将所有的源代码先编译成.o后统一进行链接,为什么不直接将所有的.c源文件编译成可执行程序呢?原创 2025-04-02 18:43:25 · 1042 阅读 · 0 评论 -
【Linux】动静态库的制作与使用
我们学习c/c++至今,每一次代码的编写都使用到了c/c++的标准库。库其实就是将一些常用的方法总结了起来,并进行实现,之后当我们再需要使用该方法时,就直接使用库中实现好的即可。所以,库其实就是常用方法的二进制集合。本质上,库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。静态库Linux(.a) windows(.lib)动态库Linux(.so) windows(.dll)1.动静态库中,其实根本不需要包含main函数,所有的库不论动静,本质上都是源文件对应的.o目标文件。原创 2025-03-31 17:00:43 · 812 阅读 · 0 评论 -
【Linux】Ext文件系统
在之前,我们已经了解了进程以及文件IO方面的知识,但是这些都是在内存中进行的。而文件在加载到内存之前都是存储在外设——磁盘(disk)中的。那文件是怎么在磁盘中存储的呢?我们在下面一起讨论。原创 2025-03-30 10:59:09 · 731 阅读 · 0 评论 -
【Linux】基础IO
首先我们已经知道,在Linux下,一切皆文件。文件 = 文件内容 + 文件属性,所以一个文件的内容为0kb,但是其也占磁盘空间。所以对文件的操作其实就是对文件的内容和属性进行一系列的操作。对文件操作,需要先打开文件,而打开文件的不是别人就是进程。所以对文件的操作,本质上是进程对文件操作。一个进程有可能同时会打开多个文件,且一个文件可能同时被多个进程打开。所以操作系统要对打开的文件进行管理——先描述,在组织。C语言里面的库函数fopen/fclose等文件操作的函数,本质上是对系统调用的封装。原创 2025-03-27 13:02:49 · 1060 阅读 · 0 评论 -
自定义minshell
我们在前面已经了解了进程的概念,以及如何进行进程控制。接下来我们就使用这些知识,来自己实现一个shell即命令行解释器!!!原创 2025-03-24 21:26:35 · 711 阅读 · 0 评论 -
进程控制~
我们可以通过./cmd来运行我们的程序,而我们运行的程序就是bash进程常见的子进程。当然我们也可以通过fork()系统调用来创建进程。NAMESYNOPSISfork会对子进程和父进程返回不同的返回值,对子进程返回0,对父进程返回子进程的pid,如果返回值小于0,则说明子进程创建失败。原创 2025-03-19 21:04:17 · 846 阅读 · 0 评论 -
【Linux】进程
按课本上来说,一个正在执行的程序的实例就是一个进程;按操作系统内核来说,使用了CPU资源的实体,就是一个进程。这样说还是有点抽象。程序其实就是一个又一个的二进制文件,当它们还没有被运行时存储在磁盘中,所以我们通过./cmd的方式,将它们加载到了内存中,此时内存中就会有一份该程序的代码和数据的拷贝,那么一个程序被加载到了内存中是否就是一个进程呢?首先我们要知道的是,可能同时有多个程序被加载到了内存中如果这些都是进程的话,那么操作系统就要对这些进程管理,而操作系统对任何软硬件的管理都是先描述在组织。原创 2025-03-15 16:34:05 · 673 阅读 · 0 评论 -
【Linux】冯诺依曼体系结构-操作系统
我们所使用的计算机,如笔记本等都是按照冯诺依曼来设计的:截止目前,我们所知道的计算机都是由一个一个的硬件组装起来的,这些硬件又由于功能的不同被分为了输入设备,输出设备,存储器和cpu。:键盘,鼠标,话筒,摄像头,网卡,磁盘等等……:显示器,网卡,磁盘,打印机等等……而存储器其实就是我们所说的内存,而CPU是由运算器和控制器组成的。原创 2025-03-04 16:48:51 · 861 阅读 · 0 评论 -
初识——【Linux】make和makefile
make和makefile是linux系统里用于自动化编译和构建程序的工具。们通过定义一系列的规则来指定如何编译和链接程序,从而简化了编译过程,尤其是有多个源文件的时候。原创 2025-01-23 14:47:41 · 955 阅读 · 0 评论 -
初探——【Linux】程序的翻译与动静态链接
我们所写的C/C++程序计算机是看不懂的,它只认识0101这样的机器码。所以我们就需要借助编译器对这些源代码进行翻译,使之成为计算机能够执行的二进制指令。这个过程通常分为几个关键步骤:预处理、编译、汇编和链接。原创 2025-01-21 20:12:37 · 781 阅读 · 0 评论 -
【Linux】权限
linux操作系统下有两种用户:超级用户root和普通用户。既然有两种不同的用户那就涉及不同用户的权限问题。而在,所以用户的权限都体现在对文件的操作上。下面我们就来了解一下文件的权限。原创 2025-01-19 02:30:00 · 655 阅读 · 0 评论 -
Xshell免密码登陆
然后还要输入密码,每一次这样都很麻烦。我们可以设置Xshell的免密登录。我们直接双击我们刚才创建的新会话,就可以直接连接主机。Xshell用户每一次登录都要输入下面这串指令。现在就实现了免密登录。原创 2024-08-12 17:48:50 · 648 阅读 · 0 评论 -
Linux简单指令3+shell原理+权限
查找指定命令,并返回其绝对路径,只在系统文件中去查找。原创 2024-09-29 14:54:14 · 945 阅读 · 0 评论 -
Linux中的简单命令1
Xshell不同于我们其他的文本编辑器,不能使用ctrl+c,ctrl+v,来进行复制和粘贴操作。在Linux中,我们把,把,例如:.c文件等等。原创 2024-08-13 15:24:37 · 1212 阅读 · 0 评论 -
Linux中的简单命令2
echo的作用是显式文本内容echo会将后面的内容当作字符串直接打印在屏幕上,后面的内容需要用单引号或者双引号括起来注意:echo会自动在字符串后面加上一个换行符。可以与printf进行对比:printf不会自动加换行符,我们可以自己加上。原创 2024-09-13 19:39:02 · 1102 阅读 · 0 评论