
Linux
文章平均质量分 80
cxpxatu521
混口饭吃够不够?
展开
-
文件描述符
文件描述符1.文件描述符是什么?2.文件描述符的分配规则3.文件操作重定向1) 文件操作重定向的原理2) dup2实现重定向4.文件描述符和文件流指针的关系1.文件描述符是什么?首先打开一个文件之后,为了对这个文件进行管理,就要对这个文件进行描述。当对多个文件进行管理时就需要一个文件描述信息表,这个表是一个数组结构,这个表中记录当前进程打开的所有文件的描述信息,而每个进程对应的文件描述信息表在进程的PCB中,所以如果需要操作文件,先去进程pcb中查找,而文件描述信息表的下标就可以帮助我们快速找到对应的文原创 2021-10-17 10:05:36 · 559 阅读 · 0 评论 -
Linux环境下库的生成与使用
1.什么是库文件?一堆代码的集合,是一种可执行代码的二进制形式,但库文件中不能有main函数;2.动态库和静态库动态库:编译时没有被编译到目标代码中,当程序执行用到相关函数时,才会用到库中的函数。动态库的命名格式:lib+库名称+.so示例:libtest.so静态库:将整个函数库的所有代码整合到目标代码中,生成可执行程序。静态库的命名格式:lib+库名称+.a示例:libtest.a思考:当一个程序运行时需要用到库函数时,用动态库好还是用静态库好?根据场景的不同来选择,原创 2021-04-03 18:23:56 · 674 阅读 · 0 评论 -
C语言实现一个Linux环境下的shell
C语言实现一个Linux环境下的shell原创 2021-10-14 20:58:33 · 1313 阅读 · 0 评论 -
五步创建精灵进程
五步创建精灵进程1.精灵进程2.创建步骤1)消除文件默认权限掩码的影响2) 创建子进程,并让父进程退出3) 调用setsid创建一个会话,让子进程成为守护进程4) 将当前工作目录更改为根目录5)在循环中放置自己的业务逻辑代码3.完整代码1.精灵进程精灵进程是运行在后台的进程,它的父进程是1号进程Init;2.创建步骤1)消除文件默认权限掩码的影响umask(0);2) 创建子进程,并让父进程退出pid_t pid = fork();if(pid < 0){ exit(-1);原创 2021-10-11 17:57:25 · 302 阅读 · 0 评论 -
进程
进程原创 2021-08-19 10:53:05 · 429 阅读 · 0 评论 -
网络基础3
网络基础3一.IP协议1.IP协议头格式2.地址管理(1)IP地址组成(2)网段的划分(3)特殊的IP地址3.公网和私网4.路由选择二.ARP协议工作流程三.DNS协议1.域名服务器和域名的划分(1)域名服务器(2)域名2.域名的解析流程四.典型面试题1.浏览器输入url回车后发生了什么?一.IP协议1.IP协议头格式 4位版本号: 指定IP协议的版本, 对于IPv4来说, 就是4 4位头部长度:以4字节为单位,IP头部的最大长度位16字节 8位服务类型:3位优先权弃用,4位TOS字原创 2021-07-22 23:25:54 · 625 阅读 · 2 评论 -
套接字编程
套接字编程原创 2021-07-16 12:25:24 · 393 阅读 · 0 评论 -
Linux的五种网络IO模型
Linux的五种网络IO模型一级目录二级目录一级目录二级目录原创 2021-07-12 09:58:22 · 359 阅读 · 2 评论 -
线程
linux环境下线程编程原创 2021-05-19 09:34:18 · 180 阅读 · 0 评论 -
网络基础1
1.计算机网络的划分:(1)按照地理位置:局域网,城域网,广域网(2)按照组网方式:以太网,令牌环网(3)按照逻辑划分:通信子网,资源子网通信子网:提供网络通信功能,为资源子网提供传输、交换信息的能力资源子网:提供用户访问网络和处理数据的能力2.计算机网络拓扑结构(1)定义:在计算机网络中,我们把计算机、终端、通信处理机等设备抽象成点,把连接这些设备的通信线路抽象成线,将由这些点和线所构成的图形称为网络拓扑结构。(2)常见的网络拓扑结构:总线型,星型,环型,树型,网状型总线型:原创 2021-05-12 09:54:08 · 462 阅读 · 0 评论 -
linux下vim的三种模式
1. 一般模式/普通模式进行文本的剪切,删除,复制等常用操作:0/Home:将光标定位到一行的起始位置$/End:将光标定位到一行的结束位置w:一个单词一个单词地移动(空格隔开视为一个单词)2. 插入模式主要进行文本的输入 进入插入模式的方法: i:进入光标所在处 I(大写i):进入光标所在行的起始位置的前一个位置 a:进入光标的下一个位置 A:进入光标所在行的结束位置的下一个位置 o:在光标所在行和它的下一行之间开辟一行, 进入新开辟的这一行的起始位置 O:在光标所在行原创 2021-04-14 21:02:02 · 2455 阅读 · 0 评论 -
Linux基础开发工具gdb和make的使用
一:调试工具gdb的使用1.使用gdb的前提是程序是debug版本-----gcc/g++默认生成release版本,若要生成debug版本,则使用-g选项,例如:gcc -g test.c -o test程序的版本:(1)debug(调试版):不对代码进行优化,并且加入程序调试信息;(2)release(发布版):不包含调试信息,并且会对代码进行优化。2.gdb常用调试指令:gdb ./test/exe(1)流程控制Part A:简写(这些简写大小写都可以)r run:直接运行程序原创 2021-02-01 19:56:56 · 522 阅读 · 0 评论 -
Linux基础指令
一:目录,文件,特殊符号及指令基础指令:格式:命令名称 [操作选项] [操作对象]part A:目录有关命令1 . ls 列出当前目录(文件夹)下的内容(查看文件夹里有什么文件)ls -l 查看目录中文件的详细信息ls -a 显示所有文件包括隐藏文件(以.开头的文件)ls -l -a 或者ls -la 显示所有文件的详细信息这不是一个独立的操作,而是前两个操作的连续使用最基本的使用: ls -l workspace/ 查看当前文件夹下名字为workspace的原创 2021-01-28 17:55:45 · 222 阅读 · 2 评论