linux
linux
cycy小陈
进一步有一步的欢喜。
展开
-
VMware虚拟机中的Linux通过NAT模式共享主机网卡实现与外部设备通信
虚拟机网络桥接原创 2022-11-22 11:51:09 · 3377 阅读 · 0 评论 -
重启电脑提示VMware虚拟机似乎正在使用中的解决方法
vmware转载 2022-11-22 11:12:54 · 2919 阅读 · 3 评论 -
关于linux特殊含义的转义符\033
格式: echo -e “\033[字背景颜色;字体颜色m字符串\033[0m”例如:echo -e “\033[41;36m something here \033[0m”其中41的位置代表底色, 36的位置是代表字的颜色那些ascii code 是对颜色调用的始末.\033[XX; m …… \033[0m #XX表示下面的数字SylixOS中的测试程序—每隔一秒刷新一次数据,并且设置背景颜色。#include <stdio.h>int main (int argc, c转载 2021-02-25 14:49:50 · 703 阅读 · 0 评论 -
linux---查看硬件信息
查看网络信息ifconfig查看硬盘型号ID和序列号product就是型号,serial就是序列号hdparm -i /dev/sda1显示硬盘的相关设置hdparm /dev/sda显示硬盘的柱面、磁头、扇区数hdparm -g /dev/sda原创 2021-01-18 16:15:59 · 128 阅读 · 0 评论 -
Nagle算法与TCP_CORK,TCP_NODELAY,TCP_QUICKACK
1. Nagel算法TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认。为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据。(一个连接会设置MSS参数,因此,TCP/IP希望每次都能够以MSS尺寸的数据块来发送数据)。Nagle算法就是为了尽可能发送大块数据,避免网络中充斥着许多小数据块。Nagle算法的基本定义是任意时刻,最多只能有一个未被确认的小段。 所谓“小段”,指的是小于MSS尺寸的数据块,所谓“未被确认”,是指一个数据转载 2020-12-23 17:39:28 · 371 阅读 · 0 评论 -
TCP协议——SYN/ACK的使用以及滑动窗口机制
TCP协议是传输层协议,提供的是一种面向连接的可靠服务,在学习该协议过程中,有点模糊的概念主要是SYN/ACK的通信过程中的变化以及滑动窗口机制,在这里说一下自己的理解1:SYN/ACK:即序列号与确认号,允许连接的双方在发送数据时,同时对对方的数据段进行确认1) SYN:数据包都是按字节编号,如果前一个数据包的序列号是0而该数据段的数据区携带了100B,则下一个数据包的序列号应该是100;初始序列号必须是随机产生的,这个值在建立连接的过程中指定注意:下一个数据包指的是本机下一次向对方发送的数据包,并转载 2020-12-23 16:39:55 · 2296 阅读 · 1 评论 -
linux下ACK定义以及延时确认机制
一、ACK定义TCP协议中,接收方成功接收到数据后,会回复一个ACK数据包,表示已经确认接收到ACK确认号前面的所有数据。ACK字段长度为32位,能表示0~2^32-1之间的值。二、ACK作用发送方在一定时间内没有收到服务端的ACK确认包后,就会重新发送TCP数据包。发送方收到了ACK,表明接收方已经接收到数据,保证了数据的可靠达到。三、ACK机制接收方在接收到数据后,不是立即会给发送方发送ACK的。这可能由以下原因导致:1、收到数据包的序号前面还有需要接收的数据包。因为发送方发送数据时,并不转载 2020-12-23 16:34:58 · 1169 阅读 · 0 评论 -
Wireshark和 TcpDump抓包分析心得
1. Wireshark与tcpdump介绍Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Windows平台下使用Wireshark,如果是Linux的话,我直接用tcpdump了,因为我工作环境中的Linux一般只有字符界面,且一般而言Linux都自带的tcpdump,或者用tcpdump抓包以后用Wireshark打开分析。在Windows平台下,Wireshark通过WinPcap进行抓包,封装的很好,使用起来很方便,可以很容易的制定抓包过滤器或者显示过转载 2020-12-22 16:42:33 · 1443 阅读 · 0 评论 -
Linux下TCP延迟确认(Delayed Ack)机制导致的时延问题分析
原文:link.案例一:同事随手写个压力测试程序,其实现逻辑为:每秒钟先连续发N个132字节的包,然后连续收N个由后台服务回显回来的132字节包。其代码简化如下:char sndBuf[132];char rcvBuf[132];while (1) { for (int i = 0; i < N; i++){ send(fd, sndBuf, sizeof(sndBuf), 0); ... } for (int i = 0; i <转载 2020-12-22 11:06:15 · 2103 阅读 · 2 评论 -
linux---网络编程之TCP/IP的TCP socket通信过程
传统的TCP/IP通信过程依赖于socket,位于应用层和传输层之间,使得应用程序可以进行通信。相当于港口城市的码头,使得城市之间可以进行货物流通。服务器和客户端各有不同的通信流程。一、服务器1、建立连接阶段调用socket(),分配文件描述符,即监听套接字调用bind(),将套接字与本地IP地址和端口绑定调用listen(),监听特定端口,socket()创建的套接字是主动的,调用listen使得该文件描述符为监听套接字,变主动为被动调用accept(),阻塞等待客户端连接2、数据交互阶段转载 2020-12-15 10:09:52 · 299 阅读 · 0 评论 -
linux 基本命令操作
cd ls 给文件加权限r w xmvcprmcatmoremantar无 - Unix写法find删除aaa 中 f开头的所有文件grep | 管道符号原创 2018-01-06 18:33:05 · 216 阅读 · 0 评论 -
vi及vim编辑使用
这两种编辑器的操作方式基本相同,vim是在vi的基础上增加了代码高亮等部分。vim编辑器有三种模式,普通模式,命令行模式和编辑模式。在普通模式中,有几种常用快捷键:jkhl分别代表上下左右移动光标dd是删除光标所在行,ndd是从光标开始删除n行G跳到最末行,nG跳到第n行ZZ保存并退出P粘贴在这里以编辑、编译运行输出hello world为例。原创 2018-01-06 20:08:06 · 159 阅读 · 0 评论 -
终端中出现 undefined reference to 'sqrt'
简单在vim中敲了一个求一元二次方程解得程序,但是在编译的时候出现了问题,错误是/tmp/cciYibvC.o: In function `main':fangcheng.c:(.text+0x7e): undefined reference to `sqrt'collect2: ld 返回 1这就是由于没有连接到math库的问题,在编译的时候加上一个选项-lm即可,也就是li原创 2018-01-06 20:12:36 · 991 阅读 · 0 评论 -
注释
文档注释文档注释一般写在.h文件 项目前面对函数的注释输出 out 是输出想要获得的数值及内容返回值 return 返回bool型 或者 -1 0 1 判断程序是否执行成功函数较大 多人共同完成时 可以加上作者注释定义变量时尽量 见名知意模块注释main函数中不同功能 分区注释原创 2018-01-07 19:29:01 · 224 阅读 · 0 评论 -
c语言回顾(指针 结构体 文件)
指针小结双指针指针函数访问结构体成员的两种方式结构体中变量定义的顺序 小类型在上面 大类型在下面文件中在; 前 不是(脱字符^) ;的都属于 Name原创 2018-01-07 19:49:55 · 361 阅读 · 0 评论 -
gcc编译
gcc编译的一般过程先是预处理产生的文件 。i然后是汇编文件 。s最后是二进制文件 。o库文件 静态库动态库冒泡排序实例静态库动态库警告提示gdb调试原创 2018-01-07 20:14:34 · 224 阅读 · 0 评论 -
makefile
makefile文件书写、make执行 makefile文件杨辉三角为例子make clean调用makefile文件中的清除命令-I 指定存放目录综合版makefile环境变量(类似于全局变量 定义变量)CC 可以替换成 gcc g++等INCLUDE 路径若库原创 2018-01-08 19:01:58 · 166 阅读 · 0 评论 -
gdb调试
gcc -g main。c -o main生成debug版本的可执行文件进行gdb调试gdb main.c即可执行gdb调试list 可以显示部分代码 b 行号 进行断点标记run 执行n 执行到下一个断点可以借助return退出函数 delete可以删除所有短点 clear删除当前断点 在原创 2018-01-08 19:23:57 · 168 阅读 · 0 评论