本文链接:https://blog.csdn.net/K346K346/article/details/103115329 1.命令简介 info 命令用于阅读 Linux 下 info 格式的帮助文档...要理解 info 命令,不仅要学习如何在单个节点中浏览,还要学习如何在节点和子节点之间切换。 就便捷而言,建议使用 man 而不是 info。 2.命令格式 info [OPTION]......命令的 info 格式的帮助文档。...info info (2)查看 info 命令的 info 格式的帮助文档地址。...info -w info /usr/share/info/info.info.gz ---- 参考文献 [1] info(1) manual [2] Linux 命令大全.info 命令
formats (文件格式) 6 Games and toys (游戏和娱乐) 7 Miscellaneous (杂项) 8 Administrative Commands (管理员命令) 9 其他(Linux...打开手册之后我们可以通过 pgup 与 pgdn 或者上下键来上下翻看,可以按 q 退出当前页面 2. info 命令 info 命令 需要单独安装 # 安装 info $ sudo apt-get...update $ sudo apt-get install info # 查看 ls 命令的 info $ info ls info 来自自由软件基金会的 GNU 项目, 是 GNU 的超文本帮助系统...man 和 info 就像两个集合,它们有一个交集部分, 但与 man 相比,info 工具可显示更完整的 GNU 工具信息。...若 man 页包含的某个工具的概要信息在 info 中也有介绍, 那么 man 页中会有“请参考 info 页更详细内容”的字样。
背景 质量团队 Linux 日常操作培训,推荐使用tldr和man。 帮助 要善于通过帮助文档来学习Linux命令。...# 查看支持的内置命令 $ help # 查看帮助 $ help echo info 查看 info 格式帮助信息。 $ info cd type 查看命令类型。
TCP/IP协议 TCP/IP 协议栈是一系列网络协议(protocol)的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。...OSI 7层模型和TCP/IP四层网络模型对应关系 计算机网路基础的知识不过多讲解,主要是让大家明白接下来的Linux网络编程数据流属于那一层,具体如下图 TCP/IP协议数据流示意图 我们接下来讲解的...Linux网络编程Tcp协议是属于传输层的协议 Linux Socket 网络编程 TCP协议 TCP是面向连接的可靠的传输层协议。...TCP编程 Linux中的网络编程是通过socket接口来进行的。socket是一种特殊的I/O接口,它也是一种文件描述符。常用于不同机器上的进程之间的通信,当然也可以实现本地机器上的进程之间通信。...使用TCP协议的流程图 根据流程图逐一讲解API接口.
wide': 0 tcp:tcp_retransmit_skb...0 tcp:tcp_send_reset 0 tcp:tcp_receive_reset...5 tcp:tcp_rcv_space_adjust...0 tcp:tcp_retransmit_synack 9 tcp:tcp_probe...] [k] tcp_rcv_state_process + 50.00% 0.00% python [kernel.kallsyms] [k] __tcp_transmit_skb
其中复位标志RST的作用就是“复位相应的TCP连接”。 TCP连接和释放时还有许多细节,比如半连接状态、半关闭状态等。详情请参考这方面的巨著《TCP/IP详解》和《UNIX网络编程》。...原因在于Socket.close()方法的语义和TCP的“FIN”标志语义不一样:发送TCP的“FIN”标志表示我不再发送数据了,而Socket.close()表示我不在发送也不接受数据了。...; 客户端和服务器统一使用TCP短连接。...然后是客户端和服务器统一使用TCP长连接:客户端使用TCP长连接很容易配置(直接设置HttpClient就好),而服务器配置长连接就比较麻烦了,就拿tomcat来说,需要设置tomcat的maxKeepAliveRequests...,固定5分钟tcp连接回收,而且发现连接出错时,重发之前10s内消息。
redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:5efa20fe9f01349c redis_mode:standalone os:Linux...multiplexing_api:epoll gcc_version:4.4.7 process_id:11188 run_id:b2c5a1094ed2f55da1f22f95c474571ebea3ae36 tcp_port...php $info = $redis->info('Server'); print_r($info); ?...redis_git_dirty] => 0 [redis_build_id] => 5efa20fe9f01349c [redis_mode] => standalone [os] => Linux...gcc_version] => 4.4.7 [process_id] => 11188 [run_id] => b2c5a1094ed2f55da1f22f95c474571ebea3ae36 [tcp_port
1.命令简介 info 用于阅读 info 格式的帮助文档。 就内容来说,info 页面比 man 页面编写得要更好、更容易理解,但 man 页面阅读起来更加方便。...5.常用示例 (1)查看命令的 info 格式帮助文档。 如查看 info 命令的 info 格式的帮助文档。...$ info info (2)查看命令的 info 格式帮助文档并跳转至指定 Node。 如查看 info 命令的 info 格式的帮助文档,并跳转到 Advanced 节点。...$ info info "Advanced" "Go to node" (3)查看 info 命令的 info 格式的帮助文档地址。...$ info -w info /usr/share/info/info.info.gz ---- 参考文献 info(1) manual - linux.org Linux 命令大全.info 命令
redis的info http://redis.readthedocs.org/en/latest/server/info.html INFO INFO [section] 以一种易于解释(parse)... process_id : 服务器进程的 PID run_id : Redis 服务器的随机标识符(用于 Sentinel 和集群) tcp_port... : TCP/IP 监听端口 uptime_in_seconds : 自 Redis 服务器启动以来,经过的秒数 uptime_in_days : 自 Redis... keyspace : 数据库相关的统计信息 除上面给出的这些值以外,参数还可以是下面这两个: all : 返回所有信息 default : 返回默认选择的信息 当不带参数直接调用 INFO
package-info.java再怎么特殊,也是一个类文件,也会被编译成package-info.class,但是在package-info.java中只能声明默认访问权限的类,也就是友好类。...我们来建立一个项目演示这三个作用,建立一个package-info的Java Project,在com.company包三个类:package-info.java 是我们重点关注的,PkgAnnotation.java...以上版本都使用package-info.java来注释。...在包下,随便一个类中的包名前加这些注解,Eclipse会提示“Package annotations must be in file package-info.java”,在该包下建立package-info.java...使用Checkstyle插件做代码检查时,会报一个警告“Missing package-info.java file.”也是这个package-info文件惹的祸,在各个包下创建一个即可。
linux中进程使用task_struct数据结构描述,其中有一个stack指针 struct task_struct { // ......void *stack; // 指向内核栈的指针 // ... }; task_struct数据结构中的stack成员指向thread_union结构(Linux内核通过thread_union...联合体来表示进程的内核栈) union thread_union { struct thread_info thread_info; unsigned long stack[THREAD_SIZE...信息, linux内核是支持不同体系的的, 但是不同的体系结构可能进程需要存储的信息不尽相同, 这就需要我们实现一种通用的方式, 我们将体系结构相关的部分和无关的部门进行分离,用一种通用的方式来描述进程...进程通过alloc_thread_info函数分配它的内核栈,通过free_thread_info函数释放所分配的内核栈,查看源码 alloc_thread_info函数通过调用__get_free_pages
PHP的很多框架里面都是通过获取$_SERVER['PATH_INFO']处理路由 , 这个变量是通过nginx传递过来的 , 我们在nginx中经常见到下面两句 fastcgi_split_path_info...^(.+\.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; 这两句是什么意思呢?...nginx默认获取不到PATH_INFO的值,得通过fastcgi_split_path_info指定定义的正则表达式来获取值 ^(.+\.php)(/.*)$; 这个正则表达是有两个小括号 , 也就是有两个捕获...第二个捕获到的值会自动重新赋值给$fastcgi_path_info变量。...如果访问 /index.php/test ,第二个捕获的是/test $fastcgi_path_info就是/test,因此就会把/test传递给php的$_SERVER['PATH_INFO']
netstat -nat|grep -i "80"|wc -l 查看80的 统计httpd协议的连接数 ps -ef |grep httpd|wc -l 统计状...
如何在 Linux 上安装 tcpping 测量到远程主机的网络延迟的一种常用方法是使用ping应用程序。该ping工具依赖 ICMP ECHO 请求和回复数据包来测量远程主机的往返延迟。...如果远程主机正在侦听该端口,它将以 TCP ACK 数据包响应。否则,它将以 TCP RST 数据包响应。...在 Linux 上安装tcpping tcpping作为 shell 脚本实现,该脚本响应外部工具来执行和报告 RTT 测量。因此,为了安装tcpping,你首先需要先安装这些先决条件。...但是,如果你tcpping在最小 Linux 运行时环境(例如Docker容器、AWS 最小映像 AMI)中运行,则bc可能不会预先安装。在这种情况下,你需要bc自己安装。...在Debian 的 Linux 上安装: $ sudo apt-get install bc 在 Red Hat 的 Linux 上安装: $ sudo yum install bc 安装 tcpping
TCP 就是这样的协议,但是它建立在 IP 基础之上的。IP 不是面向连接 的原因有很多种,其中一个原因就是它不会为很多应用增加不必要的开销。...二、TCP封包格式 1、TCP作用 TCP 协议位于 IP 协议层之上,TCP 是一个有状态的协议,并且通过内部机 制能够确认报文是否被对方正确的接收。...TCP 主要有如下几个作用: 最主要就是确认双方的的可靠数据收发 数据在网络层和应用层之间正确传输 数据报文能够正确的被应用层接收 报文在传输过程中不会乱序 2、TCP报文格式 ? 3、参数说明 ?...五、总结 TCP协议和UDP协议的区别 1、TCP协议面向连接,UDP协议面向非连接 2、CP协议传输速度慢,UDP协议传输速度快 3、TCP协议保证数据顺序,UDP协议不保证 4、TCP协议保证数据正确性...,UDP协议可能丢包 5、TCP协议对系统资源要求多,UDP协议要求少
在Linux上做网络应用的性能优化时,一般都会对TCP相关的内核参数进行调节,特别是和缓冲、队列有关的参数。...Linux内核使用sk_buff(socket kernel buffers)数据结构描述一个数据包。...网卡Bonding模式 当主机有1个以上的网卡时,Linux会将多个网卡绑定为一个虚拟的bonded网络接口,对TCP/IP而言只存在一个bonded网卡。...Linux根据参数net.ipv4.tcp_adv_win_scale计算额外开销的大小: Buffer / 2tcp_adv_win_scale 如果net.ipv4.tcp_adv_win_scale...参考文档 Queueing in the Linux Network Stack TCP Implementation in Linux: A Brief Tutorial Impact of Bandwidth
一、Linux服务器上11种网络连接状态: 图:TCP的状态机 通常情况下,一个正常的TCP连接,都会有三个阶段:1、TCP三次握手; 2、数据传送; 3、TCP四次挥手 注:以下说明最好能结合...”图:TCP的状态机”来理解。...SYN: (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效。表示一个新的TCP连接请求。...当然上述很多TCP状态在系统里都有对应的解释或设置,可见 man tcp 二、关于长连接和短连接: 通俗点讲,短连接就是一次TCP请求得到结果后,连接马上结束.而长连接并不马上断开,而一直保持着,直到长连接...tcp 四次挥手 TCP协议有一个优雅的关闭(graceful close)机制,以保证应用程序在关闭连接时不必担心正在传输的数据会丢失。
1. timewait是什么 timewait在tcp结束后主动关闭一方的等待时候的行为。图片中的服务和客户端描述不是非常准确,这里客户端是主动关闭一方。...2. timewait在客户端的问题 这里的客户端,不是四次握手的客户端,而是指发起tcp请求的一方。...int tcp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len) { // 本地端口绑定初始化 err =...inet_hash_connect(tcp_death_row, sk); } int inet_hash_connect(struct inet_timewait_death_row *death_row...tcp_send_ack(sk); tcp_time_wait(sk, TCP_TIME_WAIT, 0); break; } struct inet_timewait_sock *inet_twsk_alloc
传输层和网络层都是在linux内核中实现的,而linux内核是用C语言实现的,那UDP报头实际就是一个结构体,结构体成员变量实际就是UDP报头中的各个字段值,所以在分用时,只需要让指针指向数据包的前8个字节...1.2 网络协议栈和linux系统的联系(以port为键值的开散列哈希表,哈希桶存储port对应的PCB的地址) 1....理解TCP的报头和UDP报头一样,他们其实都是linux内核里面的结构体,当向网络层交付报文时,TCP会把发送缓冲区中的数据和TCP报头粘连在一起,然后统一向下交付。...摘自:《Linux高性能服务器编程》 3.TCP的高效性 3.1 滑动窗口(批量化发送数据段+支持超时重传机制) 1....Linux内核协议栈其实为管理一个TCP连接,使用了两个队列,一个是半连接队列,一个是全连接队列,当全连接队列满了的时候,服务器无法再继续受理新到来的连接,只会维持一小段时间的半连接。
领取专属 10元无门槛券
手把手带您无忧上云