- A+
0x01 new/delete和malloc/free的区别
1.malloc/free 是C/C++语言的标准库函数,new/delete是C++的运算符
2.new 能自动分配空间大小3.对于用户自定义的对象而言,用malloc/free无法满足动态管理对象的要求 对象在创建的时候会自动调用构造函数,对象在消亡之前自动执行析构函数
由于malloc/free是库函数而不是运算符,不在编译器的控制范围,不能把构 造函数和析构函数的任务强加于malloc/free 。一次C++需要一个能够对对象完 成动态分配内存和初始化工作的运算符new,以及一个释放内存的运算符
delete。简单来说就是new/delete能完成跟家详细的对内存的操作,而malloc/
free不能。
0x02 环境变量设置
export: 设置环境变量
echo:查看是否成功
env:显示所有的环境变量
set:显示所有本地定义的Shell变量
unset:清除环境变量
0x03 数据包传递过程
在网络层IP数据包向上传递的时候会查看数据包中的协议类型如果协议类型是TCP,则交给TCP
如果协议类型是UDP,则交给UDP
到了传输层,再根据端口号将数据传送到应用层相应的应用程序,TCP、UDP端口是独立的
0x04 查看file1文件的第300-500行的内容
输入head --help可看到如下解释:
head -n, --lines=[-]NUM
# print the first NUM lines instead of the first 10;
# with the leading '-', print all but the last NUM lines of each file
意思就是
head -n k # 打印前k行
head -n -k # 打印除最后k行外的所有内容
输入tail --help看到如下解释:
tail -n, --lines=[+]NUM
# output the last NUM lines, instead of the last 10;
# or use -n +NUM to output starting with line NUM
意思就是:
tail -n k # 打印最后k行
tail -n +k # 从k行开始打印
输出300行-500行的内容。
1.从第300行开始,接着输出前200行的内容,但这里的200行包括了第300行,不包括第500行。所以应为cat file1 | tail -n +300 | head -n 201。
2.先取出前500行,再从300行开始。 cat file1 | head -n 500 | tail -n + 300
3.sed命令 p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~sed -n '300-500p'