LInux学习
文章平均质量分 88
基本命令+makefile+shell+GDB+Linux编程+网络编程
Mr.liang呀
分享知识 探讨技术
展开
-
嵌入式Linux系统开发---基于Yocto实现
从历史上看,Yocto Project 是从 OpenEmbedded 项目发展而来的。他们本是两个不同的项目(左侧分离视图),然而,目前的 OpenEmbedded 与 Yocto Project 已经融合为一体了(右侧合并视图),因为目前已经很少见单独使用 OpenEmbedded 了。Yocto 全称是 Yocto Project(官方简称 YP) 是 Linux 基金会在 2010 年推出的一个开源的协作项目。,而无需关心硬件体系。主要由 Poky 和 其他一些工具组成。原创 2022-09-20 08:46:45 · 1975 阅读 · 0 评论 -
Linux编程--小注
文章目录第二章 IP协议详解第二章 IP协议详解摘抄两个名词:无状态:是指IP通信双方不同步传输数据的状态信息,因此所有的IP数据报的发送、传输和接收都是相互独立、没有上下文关系的;无状态服务最大的缺点是无法处理乱序和重复的IP数据报。无连接:是指IP通信双方都不长久的维持对方的任何信息。这样,上层协议每次发送数据的时候,都必须明确指定对方的IP地址。...原创 2022-03-14 16:32:04 · 125 阅读 · 0 评论 -
编写 shell 脚本
文章目录简介基础使用shell运行输出重定向输入重定向多命令顺序执行常用符号read读取键盘输入的值数值运算变量置换变量默认变量局部变量环境变量declare申明变量类型基础语法echo打印输出printf 格式化打印cut提取列test条件判断流程控制if判断case多选择判断for循环while循环until循环简介Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,原创 2021-12-30 13:03:15 · 2162 阅读 · 0 评论 -
Linux(ubuntu) 基础
本文主要讲解一些有关linux下的相关知识:文章目录一 shell 命令二 文件系统三 ubuntu磁盘管理操作四 Ubuntu下压缩和解压缩五 ubuntu用户和组六 ubuntu 文件权限管理七 Linux连接文件操作八 补充一 shell 命令1、目录信息查看命令lsls -a 显示目录所有文件及文件夹,包括隐藏文件,比如以.开头的ls test1/查看指定路径2、目录切换命令cd3、当前路径显示命令pwd4、系统信息查看命令uname5、清理屏幕命令clear6、显示文件内原创 2021-12-28 13:29:40 · 2388 阅读 · 2 评论 -
14 多播和广播 && 15 套接字和标准IO
**第十四章 多播和广播**假设我们要向10000名用户发送相同的数据,如果使用TCP提供服务,则需要10000个套接字连接,即使使用了UDP套接字提供服务,也需要10000次数据传输。像这种需要向大量客户端发送相同数据时,会对服务器端和网络流量产生负面影响,这时可以使用多播技术解决。14.1 多播Multicast多播方式的数据传输基于UDP完成,区别在于,UDP数据传输以单一目标进行(一对一建立连接),而多播数据同时传递到加入特定组的大量主机,也就是说可以向多个主机传递数据。14.1.1原创 2021-12-23 18:11:04 · 134 阅读 · 0 评论 -
准备的基础知识 (一)
这里是总结了20年五月份为了实习二准备的一些基础知识,之前的版本比较乱,现在趁着有时间好好整理一下。内容涵盖:计网 计原 OS 数据结构和算法 Linux基础 C++基础 设计模式等面试常考问题文章目录const 和 #define的区别【进程与线程】【C++内存】【死锁相关】【TCP机制】TCP实现可靠传输的机制TCP协议的特点【static关键字】【C++强转】【C++面向对象】封装,继承,多态重载、重写【C语言与C++的区别】【数组和指针】【指针和引用】【C++11新特性】【STL】【vect原创 2021-12-23 13:22:05 · 1220 阅读 · 0 评论 -
12 I/O复用 &&13 多种I/O函数
**十二章 I/O复用**12.1 基于I/O复用的服务器端采用多进程的方法构建服务器端,在每次客户端请求连接时,就会创建新的进程。因为创建进程需要大量的运算和内存空间,由于每个进程都具有独立的内存空间,因此相互间的数据交换也要求采用相对复杂的方法(IPC属于相对复杂的通信方法)I/O复用的方法构建服务器端会有效减少上面的缺点,但是该模型并不适用于所有情况,应根据目标服务器的特点采用不同的实现方法。12.1.1 复用是什么??“复用” 用行内话说时:在一个通信频道中传递多个数据信号技术定义原创 2021-12-22 13:42:41 · 251 阅读 · 0 评论 -
《高性能》第一篇 <TCP/IP协议详解> 第一章 TCP/IP 协议族
文章目录**第一章 TCP/IP协议族**1.1 TCP/IP协议族体系结构以及主要协议1.1.1 数据链路层1.1.2 网络层1.1.3 传输层1.1.4 应用层1.2 封装1.3 分用1.4 测试网络1.5 ARP协议工作原理1.5.1 以太网ARP请求/应答报文详解1.5.2 ARP高速缓存的查看和修改1.5.3 使用tcpdump观察ARP通信过程第一章 TCP/IP协议族1.1 TCP/IP协议族体系结构以及主要协议TCP/IP协议族是一个四层协议,自底向上分别是数据链路层、网络层、传输层原创 2021-12-21 20:25:38 · 1457 阅读 · 0 评论 -
十一 进程间通信
**第11章 进程间通信**本章主要讲解两个进程间交换数据的方法11.1 进程间通信的基本概念进程间通信(Inter Process Communication)意味着两个不同进程之间可以交换数据。因此,需要操作系统中提供两个进程可以同时访问的内存空间。11.1.1 进程间通信的理解我们知道,进程具有完全独立的内存结构,就连通过fork创建的子进程也不会与父进程共享内存空间,因此进程间的通信需要其他特殊的方法完成,这就是管道。11.1.2 通过管道实现进程间通信基于PIPE的进程间通信结原创 2021-12-21 12:33:54 · 225 阅读 · 0 评论 -
十行C++代码实现高性能HTTP服务 && 原理与实现
实战 干货!!话不多说,我们来一起看看,10行C++代码怎么实现一个高性能的Http服务,轻松QPS几十万int main() { WFHttpServer server([](WFHttpTask *task) { task->get_resp()->append_output_body("<html>Hello World!</html>"); }); if (server.start(8888) == 0) {原创 2021-12-20 11:06:04 · 1215 阅读 · 1 评论 -
十 多进程服务器端
**主要讲解多进程的具体实现**:10.1 进程概念以及应用10.1.1 并发服务器端的实现方法网络程序中 数据通信时间比CPU运算时间更多,因此,向多个客户端提供服务是一种有效利用CPU的方式有几种具有代表性的并发服务器端的实现模型和方法:1 多进程服务器端;通过创建多个进程提供服务2 多路复用服务器:通过捆绑并统一管理I/O对象提供服务3 通过生成与客户端等量的线程提供服务本文主要是讲解第一种模型10.1.2进程:占用内存空间的正在运行的程序CPU核个数和进程数目关系:核原创 2021-12-18 20:07:12 · 721 阅读 · 0 评论 -
七、优雅的断开套接字 && 八、域名及地址名
第七章 优雅的断开套接字之前我们调用close函数是单方面断开套接字的连接:7.1 基于TCP的半关闭掌握TCP的关闭过程是非常重要的,因为在建立连接的过程中是很稳定的,断开时是容易发生预想不到的情况的。7.1.1 但方面断开可能带来的问题:单方面的切断连接会让动作发出者无法传输数据也无法接收数据。下图展示的是A方单方切断了连接带来的效果。从图中可以看出,不仅仅A无法再继续发送数据,存储在A的输入缓冲的数据也会被销毁。为了解决这样的问题,“只关闭一部分数据交换中使用的流”的方法诞生了(原创 2021-12-16 16:11:37 · 141 阅读 · 0 评论 -
Linux下的调试神器GDB(未完待更........
重点介绍:gccg++GDBLinux下编译C用到gccgcc -c hello.c //编译hello.c文件 生成可执行文件hello.c文件 ./hello.o //运行文件gcc-o 用于连接文件gcc -o hello hello.o world.o //将hello.o 和world.o连接成可执行文件Linux下编译CPP文件用到g++gcc只能编译C++源文件,不能自动和C++程序使用的库连接;g++可以用来完成C++程序的编译和连接,程序会自动调用原创 2021-12-14 20:04:33 · 480 阅读 · 0 评论 -
设计模式之 简单工厂模式 && 策略模式
工厂模式工厂模式(Factory Pattern)是 最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。细节介绍意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,返回的也是一个抽象的产.原创 2021-12-14 15:03:19 · 133 阅读 · 0 评论 -
三 地址族和数据序列
第三章 地址族和数据序列这章主要将主要讲解:如何为套接字分配IP地址和端口号IP地址的分类和区分网络字节序(大端序和小端序),htons htonl函数的使用inet_addr函数使用、inet_aton inet_ntoa函数使用3.1 分配给套接字的IP地址和端口号IP是 Internet Protocol (网络协议)的简写,是为收发网络数据而分配给计算机的值端口号是另一回事,不是给计算机的值,是给指定ip下的应用程序的需要。3.1.1 网络地址为了是计算机连网,并且收发数据,原创 2021-12-14 13:46:34 · 432 阅读 · 0 评论 -
二 套接字类型和协议设置
**第二章 套接字类型与协议设置========================================================================================================第二章主要内容:主要讲解socket函数的各个参数的含义以及涉及到的套接字协议#include <sys/socket.h>int socket(int domain, int type, int protocol)-> 成功时返回文件描述原创 2021-12-13 20:56:50 · 100 阅读 · 0 评论 -
一 理解网络编程和套接字
第一章 理解网络编程和套接字重点是套接字的使用:几个函数socket() bind() listen() accept() connect()几个函数的使用:socke函数的使用:#include <sys/socket.h>int socket(int domain,int type,int protocol); 成功返回文件描述符,失败返回-1bind函数的使用 #include <sys/socket.h> int bind(int原创 2021-12-13 17:08:45 · 1145 阅读 · 0 评论