自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 shell - [[ ]]

文章目录@[toc]语法注意事项[[ ]] 不需要注意某些细枝末节[[ ]]支持逻辑运算符[[ ]]支持正则表达式[[ ]]用法总结[[ ]]是shell内置关键字,它和test命令类似,也用来检测某个条件是否成立。同时test能做到的,[[ ]]也能做到,而且[[ ]]做的更好。test做不到的,[[ ]]还能做到。可以认为[[ ]]是test的升级版,对细节进行了优化,并且扩展了一些功能语...

2020-03-24 23:30:01 925 1

原创 shell - (( ))

文章目录@[toc]语法注意事项运算符示例(( ))是Bash Shell中专门用来进行整数运算的命令,它的效率很高,写法灵活。在判断命令(test和[])中只允许在比较中进行简单的算术操作,而双圆括号提供更多的数学符号语法((expr))表达式可以只有一个,也可以有多个,多个表达式之间以逗号’,'分隔。对于多个表达式的情况,以最后一个表达式的值作为整个(( ))命令的执行结果((ex...

2020-03-24 23:29:36 175

原创 shell - 变量

文章目录@[toc]语法变量命名规范变量定义使用变量修改变量的值删除变量注意事项示例脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,shell变量也遵循这个规则。在bash shell中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。这意味着,bash shell在默认情况下不会区分变量类型,即使你将整数和小数赋值给变量,它们也会被视为字符串语法...

2020-03-24 23:28:58 138

原创 shell - 函数

文章目录@[toc]语法函数声明函数参数函数返回值获取函数处理结果函数调用示例语法函数声明function fn() { command # 函数的返回值是可选的 [return value]}# 如果写了function关键字,也可以省略函数名后面的小括号function name { command # 函数的返回值是可选的 [...

2020-03-24 23:28:30 127

原创 shell - test语法

文章目录@[toc]语法注意事项常用选项文件/目录判断字符串判断数值判断逻辑判断其他判断在test中使用变量建议用双引号包围起来test是shell内置命令,用来检测某个条件是否成立。可以进行数值、字符串和文件三个方面的检测语法当test判断expr成立时,退出状态为0,否则为非0值。这也和shell if语句对应上(true为0,false为非0)test exprtest命令也可以...

2020-03-24 23:27:56 175

原创 shell - select语法

文章目录@[toc]语法注意事项strlist的表现形式示例select循环用来增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能。是bash的一种扩展应用,非常适合终端(Terminal)这样的交互场景语法语法和for语句一样,var表示变量,strlist表示取值列表(strlist同样支持多种形式)运行到select语句后,取值列表str...

2020-03-24 23:27:26 207

原创 shell - case语法

文章目录@[toc]语法注意事项正则表达式示例语法case的执行流程为:case会将expr的值与pattern1、pattern2逐个进行匹配如果expr和某个pattern匹配成功,就会执行这个pattern后面的语句,直到遇见’;;'或者esac才结束如果expr没有匹配到任何一个pattern,那么就执行’*)‘后面的语句(类似C语言的default),直到遇见’;;'或者es...

2020-03-24 23:26:51 186

原创 shell - for语法

文章目录@[toc]语法strlist的表现形式语法for循环的执行流程为:每次循环都会从strlist中取出一个值赋给变量var然后再执行循环体中的command直到取完strlist中的所有值,循环就结束了# 取值列表strlist的形式有多种,可以直接给出具体的值,也可以给出一个范围,还可以使用命令产生的结果,甚至使用通配符,下面再一一讲解for var in strlis...

2020-03-24 23:26:22 339

原创 shell - while语法

文章目录@[toc]语法判断语句示例语法while循环的执行流程为:先对condition进行判断,如果该条件成立,就进入循环,执行while循环体中的语句每一次执行到done的时候都会重新判断condition是否成立,如果成立,就进入下一次循环,如果不成立,就结束整个while循环如果一开始condition就不成立,那么程序就不会进入循环体while conditiondo...

2020-03-24 23:25:49 121

原创 shell - if语法

文章目录语法注意事项语法if [ condition ]then commandfiif [[ condition ]]then commandfiif (( condition ))then commandfiif test conditionthen commandfiif command # 判断command的退出状态是否...

2020-03-24 23:24:09 75

原创 gcc 链接顺序问题

前言之前在项目中遇到一个编译报错 “undefined reference to” 的问题,当时的解决方法是调整了库的链接顺序。但是一直没有想清楚为什么调整库的链接顺序就可以了,直到最近看了 gcc 官网给出的 “-l” 选项的说明库的链接顺序关于库的链接,gcc 官网是这么解释的:https://gcc.gnu.org/onlinedocs/gcc-5.2.0/gc...

2020-03-23 22:36:23 1757

原创 从一个小白也能看懂的例子,理解gcc编译-O选项的作用

首先来看一段简单的C代码int foo(int m, int n){ return m + n;}int main(){ int m = 1; int n = 2; return foo(m, n);}紧接着看一段未使用-O选项或使用-O0优化级别编译的反汇编代码foo 函数开始00010470 <foo>: 10470: ...

2019-08-27 23:57:05 372

原创 makefile函数调用总结

文章目录函数调用语法字符串处理函数subst(字符串替换)patsubst(模式字符串替换)其他wildcard(通配符扩展)foreach(循环)函数调用语法函数调用很像变量的使用,是以’$'来标识的,语法如下:$(<function> <argument>[,<argument1>,<argument2>...])或${<func...

2019-08-19 08:52:17 203

翻译 WS-Discover详解

文章目录介绍引言样例协议模型EndpointReferenceOperational ModesAd hocManaged消息内容概要协议发送地址Hello & ByeHelloProbe & ProbeMatchResolve & ResolveMatch介绍引言未完待续…本文是对官方标准文档的翻译,链接地址:http://docs.oasis-open.org...

2019-03-24 23:21:12 2188

原创 linux下软链接和硬链接

文章目录背景知识硬链接软链接背景知识在Linux的文件系统中,文件(目录也是一个文件)都由inode和block两部分组成。inode和block都有相应的编号,在文件系统格式化的时候就已经确定下来了。block:记录了实际文件的内容(一个block大小一般在1K,2K,4K这是格式化是确定的),一个文件会占用一个或多个blockinode:记录了文件的属性(读写权限,所有者等)及文件内...

2019-03-11 21:27:03 227

原创 DHCP协议详解

文章目录什么是DHCPDHCP协议DHCP报文种类DHCP报文格式DHCP工作流程IP地址分配方式租约表工作流程服务器处理流程什么是DHCPDHCP(Dynamic Host Configuration Protocol,动态主机配置协议),前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端),68(客户端)。DHCP通常被用于局...

2019-03-09 21:48:07 46077 13

原创 浅谈Linux文件系统

文章目录前言Block Group详解Filesystem DescriptionSuper BlockGDTBlock BitmapInode BitmapInode TableData Blocks挂载文件读取过程创建文件过程创建目录过程从目录树中读取某个文件过程附录inode/block 与文件大小的关系(有趣)文件系统大小与磁盘读取性能参考资料https://blog.csdn.net...

2018-12-16 21:59:06 475

原创 硬盘分区基础

硬盘分区基础前言MBR(主引导记录)什么是MBRMBR的组成部分MBR分区表与GPT分区表的关系DBR(分区引导记录)EBR(扩展分区引导记录)开机流程和硬盘主引导记录(多重引导/MBR与DBR之间的联系)多重引导前言硬盘分区是硬盘结合到文件体系的第一步,本质是「硬盘」这个物理概念转换成「区」这个逻辑概念,为下一步格式化做准备。所以分本身并不是必须的,你完全可以把一整块硬盘作为一个区。但从数...

2018-12-16 21:23:36 570

原创 硬盘名词解释

硬盘物理结构磁头磁盘磁道扇区柱面磁头磁头是硬盘中最昂贵的部件,也是硬盘技术中最重要和最关键的一环。磁盘硬盘中一般会有多个盘片组成,每个盘片包含一/两个面。无论是双盘面还是单盘面,由于每个盘面都只有自己独一无二的磁头,因此,盘面数等于总的磁头数。磁道当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。这些磁道用肉眼是根本看...

2018-12-16 20:41:18 1408

原创 TCP连接过程及状态变化

TCP连接过程及状态变化前言TCP的三次握手四次挥手TCP的状态转换过程什么是2MSL前言本文章整理自计算机网络-自顶向下及网上博客,如有侵权,告知必删TCP的三次握手第一步:客户端的TCP首先向服务端的TCP发送一个特殊的TCP报文段。该报文段不包含应用层数据。但是报文段的首部中的一个标志位(即SYN比特) 被置为1。因此这个特殊报文段被称为SYN报文段。另外,客户端会随机的选择一个...

2018-12-16 18:21:05 472

转载 分辨率、帧率和码率三者之间的关系

原文出处:http://blog.csdn.net/lipengshiwo/article/details/53169235帧率:FPS(每秒钟要多少帧画面);   以及Gop(表示多少秒一个I帧)码率:编码器每秒编出的数据大小,单位是kbps,比如800kbps代表编码器每秒产生800kb(或100KB)的数据。分辨率:单位英寸中所包含的像素点数; VGA:Video

2018-01-13 19:55:10 1333

转载 .bss .data .rodata 的区别于联系

有人可能会说,全局内存就是全局变量嘛,有必要专门一章来介绍吗?这么简单的东西,还能玩出花来?我从来没有深究它,不一样写程序吗?关于全局内存这个主题虽然玩不出花来,但确实有些重要,了解这些知识,对于优化程序的时间和空间很有帮助。因为有好几次这样经历,我才决定花一章篇幅来介绍它。正如大家所知道的,全局变量是放在全局内存中的,但反过来却未必成立。用static修饰的局部变量就是放在放全局内存的,

2018-01-07 20:59:22 382

转载 P2P原理及实现方式

为了项目的后期IM应用,最近在研究libjingle,中间看了也收集了很多资料,感慨网上很多资料要么太过于纠结协议(如STUN、ICE等)实现细节,要么中间有很多纰漏。最后去伪存真,归纳总结了一下,希望对以后的同行有些许帮助。   如果有什么需要讨论或者指正的,欢迎留言或者邮件[email protected]                            P2P实现的原理首

2017-12-26 11:32:18 305

转载 HTTP协议详解

转载:博客园--小坦克原文链接:http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内

2017-07-24 23:13:47 232

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除