
Linux大师之路
文章平均质量分 95
GalaxyPokemon
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LINUX网络基础 [六] - HTTPS协议
加密就是把明文(要传输的信息)进行一系列变换,生成密文解密就是把密文再进行一系列变换,还原成明文而在加密和解密的过程中,往往需要一个或多个中间数据来辅助进行这个过程,那么这样的数据就叫做密钥案例:83版《火烧圆明园》,有人要谋反干掉慈禧太后,恭亲王奕䜣给慈禧递了折子,折子内容只是扯了扯家常,套上一张挖了洞的纸就能看到其中的关键字信息!明文:“当心肃顺,端华,戴恒”(这几个人都是当时的权臣,后来被慈禧一锅端)密文:整个奏折密钥:挖了洞的纸密码学艾伦·⻨席森·图灵另⼀位祖师爷冯诺依曼。原创 2025-04-22 22:04:32 · 970 阅读 · 0 评论 -
LINUX基础 [四] - Linux工具
在使用make/Makefile前我们首先应该理解各个文件之间的依赖关系以及它们之间的依赖方法。依赖关系: 文件A的变更会影响到文件B,那么就称文件B依赖于文件A。 例如,test.o文件是由test.c文件通过预处理、编译以及汇编之后生成的文件,所以test.c文件的改变会影响test.o,所以说test.o文件依赖于test.c文件。依赖方法: 如果文件B依赖于文件A,那么通过文件A得到文件B的方法,就是文件B依赖于文件A的依赖方法。(就是二者通过什么方法联系起来的)原创 2025-04-14 22:58:21 · 1095 阅读 · 1 评论 -
LINUX基础 [三] - Linux权限解析
所以无论原来的权限是0还是1,当umask为1时,都要变成0(将某位设置为0,我们要想到&)所以有1则为0而umask为0时,就不能影响原来的权限(如果用&,要想不改变,就得希望该位置是0,其他位置是1,所以可以想到~)但是试想一下这样的场景,你作为共享文件的拥有者,你可以设置权限,当你给其他人设置了不可读不可写的权限,其他人怀恨在心,就把你的文件给删了,这显然是不合理的!只要用户拥有某目录的可写权限,就可以删除该目录当中的文件,而不论该用户是否拥有该文件的可写权限,这显然是不合理的。原创 2025-04-13 17:35:56 · 622 阅读 · 3 评论 -
IO多路转接 ——— select、poll、epoll
上面的情况是普遍的,也有特殊情况,LT不必将所有的fd设置成非阻塞然后循环读取,比如只要LT第一次通知的时候就把数据全取走,就和ET一样了,所以ET和LT谁效率高?这些就绪的文件描述符会被添加到内核的。poll也是操作系统提供的一个多路转接接口,poll可以让我们的程序同时监视多个文件描述符上的事件是否就绪,和select的定位是一样的,poll是为了解决select的几个缺点。总结一下,就是poll需要“遍历”,当监视的套接字很多时,效率会下降,所以poll的缺点不再是功能上的了,而是效率上的了。原创 2025-03-13 21:16:02 · 949 阅读 · 5 评论 -
LINUX网络基础 [十一] - 其他重要协议或技术
域名是用来识别主机名称和主机所属的组织机构的一种分层结构的名称,例如www.baidu.com。com:一级域名,表示这是一个工商企业域名。同级的还有.net(网络提供商)和.org(开源组织或非盈利组织)等。baidu:二级域名,一般对应的就是公司名。www:只是一种习惯用法,之前人们在使用域名时,往往命名成类似ftp.xxx.xxx/www.xxx.xxx这样的格式,来表示主机支持的协议。原创 2025-03-12 21:43:49 · 845 阅读 · 2 评论 -
LINUX网络基础 [十] - 以太网协议
需要注意的是,缓存表中的表项有过期时间,这个时间一般为20分钟(为了防止某些主机更换网卡,IP地址没变,但是Mac地址变了),如果20分钟内没有再次使用某个表项,那么该表项就会失效,下次使用时就需要重新发起ARP请求来获得目的主机的硬件地址。其中应用层最典型的协议有HTTP、HTTPS和DNS等,传输层最典型的协议有TCP和UDP,网络层最典型的协议就是IP,数据链路层最典型的协议就是MAC帧协议,但实际数据链路层还有两种协议叫做ARP和RARP。到了火焰山之后呢,牛魔王问他:和尚你从哪里来,要到那里去?原创 2025-03-12 17:43:42 · 952 阅读 · 1 评论 -
LINUX网络基础 [九] - IP协议
我数学成绩很好,10次考试6次满分,然后大家都在传,说我有“数学考满分的能力”,那么我一定能做到吗?不一定,只是有很大的概率考满分如果我想每次都考满分,该怎么办呢?我有很大的概率考满分,但是我不想要这个概率。我只想每次都考满分。好在我不光成绩好,我叔、三叔是教导主任。我是个特别执拗的人,考不到满分我就会发脾气,我三叔很宠我。如果本次考试没有考满分,我三叔就会让这次考试无效,重新考。这样就能保证每次都考满分。其中,三叔是我的上层,而我是真正用来考试执行的人。原创 2025-03-11 23:14:53 · 913 阅读 · 1 评论 -
LINUX网络基础 [八] - TCP协议
主动断开连接的一方,在4次挥手完成之后,要进入time_wait状态,等待若干时长之后,自动释放连接断开后,会维持一段时间的TIME_WAIT状态,在此期间, 不能重新在同样的端口启动服务,因为连接没有被彻底断开,ip和port正在被使用。原创 2025-03-10 23:32:42 · 1326 阅读 · 4 评论 -
LINUX网络基础 [六] - UDP协议
比如说服务器启动了Http的客户端,可以接受到来自客户端请求,对于客户端A和客户端B,客户端的端口号可能是一样的,但是他们的IP地址是不一样的,所以服务器构建响应时返回时,可以根据IP地址来区分不同的主机了。我们注意到, UDP协议首部中有一个16位的最大长度. 也就是说一个UDP能传输的数据最大长度是64K(包含UDP首 部). 然而64K在当今的互联网环境下, 是一个非常小的数字.当发送一个超过64K的报文,也能使用UDP,但是要发送那么大的数据就必须要自己在应用层,把报文拆成64*X的大小。原创 2025-03-09 18:42:16 · 1081 阅读 · 50 评论 -
LINUX网络基础 [五] - HTTP协议
应用层常见的协议有HTTP和HTTPS,传输层常见的协议有TCP,网络层常见的协议是IP,数据链路层对应就是MAC帧了。其中下三层是由操作系统或者驱动帮我们完成的,它们主要负责的是通信细节。如果应用层不考虑下三层,在应用层自己的心目当中,它就可以认为自己是在和对方的应用层在直接进行数据交互。原创 2025-03-08 22:48:46 · 6142 阅读 · 31 评论 -
LINUX网络基础 [四] 自定义协议+序列反序列化
大家明显感觉到序列化和反序列化都是字符串处理,而且还比较麻烦,如果手写比较丑陋,有没有现成的方法使用呢?答案是有的。市面上常见的解决方案是:json,protobuf都可以帮助我们自动序列,反序列化json的安装使用json前需要按照第三方库,才能进行使用使用apt来安装在 Ubuntu 系统中,应该使用apt包管理器来安装软件包。你可以尝试使用以下命令来安装jsoncpp确认jsoncpp安装后,你可以检查是否已经成功安装了jsoncpp查看json的头文件和库文件json测试用例。原创 2025-03-07 15:31:34 · 15293 阅读 · 32 评论 -
一文让你真正理解 守护进程!!!
定义: 守护进程(Daemon Process)是指在后台运行的进程,它通常不与用户直接交互,而是为系统或其他程序提供服务。守护进程一般会在系统启动时启动,运行在后台,处理各种系统任务或服务请求,直到系统关闭。特点后台运行:守护进程通常不需要用户干预。它们在后台静默运行,进行必要的任务处理,比如文件清理、定时任务、网络服务等。不依赖终端:守护进程通常脱离终端,意味着它不会与任何终端相关联,不会占用用户的终端窗口。它们的标准输入、标准输出、标准错误都可能被重定向。无用户交互。原创 2025-03-06 15:01:31 · 579 阅读 · 10 评论 -
LINUX网络基础 [三] - TCP和守护进程
来一个,创一个,会造成子进程越来越多。注意: 当任务队列当中有任务时,线程池当中的线程会先定义出一个Task对象,然后将这个Task对象作为输出型参数调用任务队列的Pop函数,从任务队列当中获取任务,因此Task类除了提供带参的构造函数以外,还需要提供一个无参的构造函数,方便我们可以定义无参对象。此时当客户端连接服务器后,服务端的主线程就会获取该客户端的连接请求,并将其封装为一个任务对象后塞入任务队列,此时线程池中的5个线程就会有一个线程从任务队列当中获取到该任务,并执行该任务的处理函数为客户端提供服务。原创 2025-03-05 23:10:16 · 778 阅读 · 9 评论 -
LINUX网络基础 [二] - 网络编程套接字,UDP与TCP
在计算机网络中,端口号和 IP 地址是用于网络通信的基本元素,它们在实现网络应用和服务时发挥着至关重要的作用。通过理解 TCP 和 UDP 协议,网络字节序,socket 接口以及端口和 IP 地址的工作方式,我们能够深入掌握网络通信的原理和实现。通过本篇文章的学习,您将能够对端口号、TCP 和 UDP 协议、socket 编程等概念有更深入的理解,为后续的网络编程打下坚实的基础。TCP适用于那些对数据可靠性和顺序有较高要求的场合,虽然它在传输速度上较慢,但能够确保数据完整无误。UDP。原创 2025-03-03 23:32:48 · 1234 阅读 · 2 评论 -
LINUX网络基础 [一] - 初识网络,理解网络协议
计算机网络在现代社会中发挥着举足轻重的作用。它打破了数据的孤立状态,使得不同计算机之间能够高效地交换信息和共享资源。无论是工作、学习还是生活,计算机网络都已经成为人们不可或缺的一部分。它让人们能够随时随地访问互联网,获取各种信息和服务,极大地提高了工作效率和生活质量协议(Protocol)是一种约定,是指一组用于规定计算机之间进行通信时,如何传输数据和处理信息的规则和约定。协议是网络通信的基础,它定义了数据传输、错误检测、数据压缩、数据加密等多个方面的细节,以确保不同设备能够顺利、高效地进行通信。原创 2025-03-02 23:56:23 · 1512 阅读 · 3 评论 -
LINUX基础 [十] - 线程池和单例模式
代码构建类,类实例化出对象,这个实例化出的对象也可以称为实例,比如常见的STL容器,在使用时,都是先根据库中的类,形成一个实例以供使用;正常情况下,一个类可以实例化出很多很多个对象,但对于某些场景来说,是不适合创建出多个对象的比如本文中提到的线程池,当程序运行后,仅需一个线程池对象来进行高效任务计算,因为多个线程池对象无疑会大大增加调度成本,因此需要对线程池类进行特殊设计,使其只能创建一个对象,换句话说就是不能让别人再创建对象正如一山不容二虎一样,线程池对象在一个程序中是不推荐出现多个的。原创 2025-03-29 23:29:16 · 649 阅读 · 0 评论 -
LINUX基础IO [七] - 文件缓冲区的深入理解
举个例子,比方说你和你的好朋友相隔千里,而你想要给他送个键盘,如果没有快递公司和菜鸟驿站(缓冲区)的话,那么你可能得坐车好几天才能到他那里,但如果你的楼下有菜鸟驿站和快递公司,那么你只需要下楼付点钱填个单子就行了,接着你可以去忙你自己的事情,当旁边的人问你键盘去哪里的时候,你会说已经寄给朋友了,其实这个时候你的键盘可能还在快递公司放着。——>所以方案是根据不同的需求来的!内核缓冲区也是由操作系统的file结构体维护的一段空间,和语言的缓冲区模式是类似的,作为用户我们不需要太关心操作系统什么时候会刷新。原创 2025-03-24 08:31:50 · 808 阅读 · 11 评论 -
LINUX基础IO [六] - 文件理解与操作
文件操作是 基础IO 学习的第一步,我们在 C语言 进阶中,就已经学习了文件相关操作,比如 fopen 和 fclose,语言层面只要会用就行,但对于系统学习者来说,还要清楚这些函数是如何与硬件进行交互的原创 2025-03-23 22:02:54 · 1383 阅读 · 33 评论 -
LINUX基础 [三] - 进程控制
创建新进程在Linux的下是由父进程来完成的,创建完成的新进程是子进程。新进程的地址空间有两种可能性:子进程是父进程的复制品(除了PID和task_struct是子进程自己的,其余的都从父进程复制而来)子进程装入另一个程序。在Linux下的fork函数用于创建一个新的进程,使用fork函数来创建一个进程时,子进程只是完全复制父进程的资源。这样得到的子进程和父进程是独立的,具有良好的并发性。但是进程间通信需要专门的机制。原创 2025-03-25 19:32:22 · 978 阅读 · 21 评论 -
LINUX基础 [二] - 进程概念
在学习了【Linux系统编程】中的 操作系统和冯·诺依曼体系结构之后,我们已经对系统应该有了不错的了解,接下里我们将继续深入的了解操作系统最重要的的功能之一:进程操作系统能不能一次运行多个程序呢?答案是当然可以的!!因为运行的程序有很多,所以 OS 需要将这些运行的程序管理起来。我们将这些正在运行的程序称之为进程。(注意:是正在运行的程序叫进程,而不是程序本身)程序的一个执行实例,正在执行的程序等担当分配系统资源(CPU时间,内存)的实体对于课本中的观点大家可能会觉得难以理解,原创 2025-03-22 22:03:35 · 7087 阅读 · 40 评论 -
LINUX基础 [二] - Linux常见指令
Linux的操作特点:纯命令行(虽然也有图形化界面,但主要是工程师使用,意义不大)windows的操作特点:图形化界面(也有纯命令行的形式,但其更贴近大众,命令行学习成本高)先有指令,还是先有图形化界面呢??先有指令!现有键盘,还是先有鼠标呢??先有键盘!图形化界面和鼠标的出现更多的是当计算机逐渐趋向大众化时所诞生的产物(包括显示器),为了能够让普通老百姓能够以较低的学习成本去使用电脑。所以总的来说,无论是图形化界面还是指令,本质都是一样的,但是命令行指令会更贴近我们操作系统的底层。原创 2025-04-12 19:36:18 · 779 阅读 · 3 评论