牛客刷题——Linux

  • A+
所属分类:Linux

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'


zore

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: