记录一些运维的零散知识点

写在前面:收集到的一些基础知识点

1.说说TCP报头都包含哪些信息,说说端口号含义,说说tcp与udp的区别以及他们的应用场景

2.说说进程与线程的区别
3.tcp三次握手,网络知识,linux常用命令等。
4.如何快速地在上千台服务器上部署一项服务
5.lvs,常用为四层DR场景,可参考如下链接

https://www.jianshu.com/p/36880b085265
6.http协议 2.0
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
POST方法是GET方法的一个替代方法,它主要是向Web服务器提交表单数据,尤其是大批量的数据。 在请求头信息结束之后的两个回车换行之后(实际是空一行),就是表单提交的数据。如上面提到的post表单数据:
        username=aa&password=1234
POST方法克服了GET方法的一些缺点。通过POST方法提交表单数据时,数据不是作为URL请求的一部分而是作为标准数据传送给Web服务器,这就克服了GET方法中的信息无法保密和数据量太小的缺点。因此,出于安全的考虑以及对用户隐私的尊重,通常表单提交时采用POST方法。
http协议1.0/1.1/2.0
HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接。
HTTP是基于TCP/IP协议的,创建一个TCP连接是需要经过三次握手的,有一定的开销,如果每次通讯都要重新建立连接的话,对性能有影响。因此最好能维持一个长连接,可以用个长连接来发多个请求。
HTTP2.0使用了(类似epoll)多路复用的技术,做到同一个连接并发处理多个请求,而且并发请求的数量比HTTP1.1大了好几个数量级。
7.awk 排序 求和 求列最大值最小值

8.jstack jstat jmap

最常用的还是jstack  pid 
jstat -gcutil processid
jmap -heap processid
ps –ef | grep cmsgw获取cmsgw的进程PID
jstack PID >cmsgw_javacore.log获取cmsgw的javacore文件。
9.使用jstat命令查看java的资源分区的情况,jstat -gcutil pid time
pid为进程id,time是每隔多少毫秒打印屏幕,如下:

 

我们主要看E和O的那一列,如果O列中的值持续100的话,那应该就是内存溢出了,E表示java中新生成的对象分区,O表示java中老生成的分区,O为100表示资源一直被占用没有回收

10.python 题
在Python中,lambda的语法是唯一的。其形式如下:
1. lambda argument_list: expression
其中,lambda是Python预留的关键字,argument_list和expression由用户自定义。具体介绍如下。

这里的argument_list是参数列表。它的结构与Python中函数(function)的参数列表是一样的。具体来说,argument_list可以有非常多的形式。
**kwargs:(表示的就是形参中按照关键字传值把多余的传值以字典的方式呈现)
*args:(表示的就是将实参中按照位置传值,多出来的值都给args,且以元组的方式呈现)
11.nohup /tmp/ceshi.sh 2>&1 > /dev/null &
nohup /mnt/Nand3/H2000G >/dev/null 2>&1 &
nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。
该命令的一般形式为:nohup command &
ls xxx 1>out.txt 2>&1
nohup /mnt/Nand3/H2000G >/dev/null 2>&1 &
其中0 表示键盘输入 1表示屏幕输出 2表示错误输出.把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面。

command >out.file 2>&1 &
command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。 2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个& , 是让该命令在后台执行。
换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

12.基础操作:面试和笔试的时候肯定会问到,频率最高的命令有: mkdir find awk sed uniq sort tail head mkfs chmod crontab lsof netstat route tcpdump tar vmstat top ping telnet traceroute ifconfig nslookup ls iostat vi grep ps等主要考察为后面参数的选择以及格式
13.基础服务:dns dhcp nfs vpn apache ftp 工作原理、nfs的三个模块的作用,dns的各种记录名称以及作用、dhcp的四个过程、apache虚拟主机的创建(有的面试官会要求现场写配置文件)、ftp的主动模式和被动模式
14.DNS,域名系统,解析域名和ip地址的关系。解析的过程大致如下:
假设你输入mail.163.com。
1)主机先查找自己的缓存文件,如果有mail.163.com的信息,则7;否则2。
2)主机向本地域名服务器(这里就是地址里的DNS了)进行查询,如果该服务器有mail.163.com的IP信息,则6;否则3。
3)该DNS服务器向根域名服务器发起查询。根域名服务器(不存域名和Ip映射关系)告诉本地域名服务器下一次应查询dns.com的顶级域名服务器;
4)本地域名服务器向dns.com顶级域名服务器进行查询,如果该服务器有mail.163.com的IP信息,则6,;否则5。
5)dns.com顶级域名服务器向本地域名服务器指出下一次向dns.163.com发起查询。本地域名服务器向dns.163.com发起查询,网易公司的DNS服务器就会有他的163mail服务器的IP信息,然后发给本地域名服务器。
6)本地域名服务器收到解析的内容,发回给主机。
7)主机获得IP信息。
15.dhcp 4个过程(全程广播 UDP67目的 UDP68源 直到最后)
https://www.cnblogs.com/anorferde/p/5777552.html
在DHCP过程中有两个对象DHCP客户端和DHCP服务端,而且DHCP在三层是通过可靠地TCP协议实现,DHCP服务运行在67和68端口。
①客户机请求IP(客户机发DHCPDISCOVER广播包);
②服务器响应(服务器发DHCPOFFER广播包);
③客户机选择IP(客户机发DHCPREQUEST广播包);
④服务器确定租约(服务器发DHCPACK/DHCPNAK广播包)。
DHCP实现的简单过程,如图1所示

 

 

第1步:客户机请求IP
客户机请求IP也称为DHCPDISCOVER。
当一个DHCP客户机启动时,会自动将自己的IP地址配置成0.0.0.0,由于使用0.0.0.0不能进行正常通信,所以客户机就必须通过DHCP服务器来获取一个合法的地址。由于客户机不知道DHCP服务器的IP地址,所以它使用0.0.0.0的地址作为源地址,使用UDP68端口作为源端口,使用255.255.255.255作为目标地址,使用UDP67端口作为目的端口来广播请求IP地址信息(见图一)。广播信息中包含了DHCP客户机的MAC地址和计算机名,以便使DHCP服务器能确定是哪个客户机发送的请求。

DHCP客户机总是试图重新租用它接收过的最后一个IP地址,这给网络带来一定的稳定性。
第2步:服务器响应
服务器响应也称为DHCPOFFER。
当DHCP服务器接收到客户机请求IP地址的信息时,它就在自己的IP地址池中查找是否有合法的IP地址提供给客户机。如果有,DHCP服务器就将此IP地址做上标记,加入到DHCPOFFER的消息中,然后DHCP服务器就广播一则包括下列信息的DHCPOFFER消息:
DHCP客户机的MAC地址;DHCP服务器提供的合法IP地址;子网掩码;默认网关(路由);租约的期限;DHCP服务器的IP地址。
 
因为DHCP客户机还没有IP地址,所以DHCP服务器使用自己的IP地址作为源地址,使用UDP67端口作为源端口,使用255.255.255.255作为目标地址,使用UDP68端口作为目的端口来广播DHCPOFFER信息(见图二)。
第3步:客户机选择IP
客户机选择IP,也称为DHCPREQUEST。
DHCP客户机从接收到的第一个DHCPOFFER消息中选择IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能提供给另一个DHCP客户机。当客户机从第一个DHCP服务器接收DHCPOFFER并选择IP地址后,DHCP租约的第三过程发生。客户机将DHCPREQUEST消息广播到所有的DHCP服务器,表明它接受提供的内容。DHCPREQUEST消息包括为该客户机提供IP配置的服务器的服务标识符(IP地址)。DHCP服务器查看服务器标识符字段,以确定它自己是否被选择为指定的客户机提供IP地址,如果那些DHCPOFFER被拒绝,则DHCP服务器会取消提供并保留其IP地址以用于下一个IP租约请求。
 
在客户机选择IP的过程中,虽然客户机选择了IP地址,但是还没有配置IP地址,而在一个网络中可能有几个DHCP服务器,所以客户机仍然使用0.0.0.0的地址作为源地址,使用UDP68端口作为源端口,使用255.255.255.255作为目标地址,使用UDP67端口作为目的端口来广播DHCPREQUEST信息(见图三)。
第4步:服务器确认租约
服务器确认租约,也称为DHCPACK/DHCPNAK。
DHCP服务器接收到DHCPREQUEST消息后,以DHCPACK消息的形式向客户机广播成功的确认,该消息包含有IP地址的有效租约和其他可能配置的信息。虽然服务器确认了客户机的租约请求,但是客户机还没有收到服务器的DHCPACK消息,所以服务器仍然使用自己的IP地址作为源地址,使用UDP67端口作为源端口,使用255.255.255.255作为目标地址,使用UDP68端口作为目的端口来广播DHCPACK信息(见图四)。当客户机收到DHCPACK消息时,它就配置了IP地址,完成了TCP/IP的初始化。
apache

16.ftp主动 被动 相对于ftpserver而言的

17.软硬raid的区别 raid的各种级别,各种级别的优缺点、大小的计算、备份恢复情况、最多可以坏多少个
硬RAID与软RAID的区别:
硬RAID:通过用硬件来实现RAID功能的就是硬RAID,比如:各种RAID卡,还有主板集成能够做的RAID都是硬RAID。
软RAID:通过用操作系统来完成RAID功能的就是软RAID,比如:在Linux操作系统下,用3块硬盘做的RAID5。

18.Tcp的三次握手和四次分手的过程和详细的状态以及报文段的考察(要求非常熟悉,基本每个公司都会问,或者笔试都会考)、osi七层模型每层的功能、每层中都各有那些协议族,那些协议是面向连接的,那些是不面向连接的。tcp报头 要求非常了解
基于TCP的协议:HTTP,FTP,SMTP,TENET,POP3,Finger,NNTP,IMAP4,TELNET均是面向连接的,

基于UDP的协议:BOOTP,DHCP,NTP,TFTP,SNMP,均是面向非连接的
而DNS可以基于TCP,也可以基于UDP

19.软硬连接的区别,具体怎么连接的命令
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。比如:A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A是B的软链接(A和B都是文件名),A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。
通过实验加深理解
[oracle@Linux]$ touch f1          #创建一个测试文件f1
[oracle@Linux]$ ln f1 f2          #创建f1的一个硬连接文件f2
[oracle@Linux]$ ln -s f1 f3       #创建f1的一个符号连接文件f3
[oracle@Linux]$ ls -li            # -i参数显示文件的inode节点信息
total 0
9797648 -rw-r--r--  2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r--r--  2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx  1 oracle oinstall 2 Apr 21 08:11 f3 -> f1
inode
进程 通过 pid 来管理, 进程名称是pid的别名;
文件 通过 inode来管理, 文件名称是inode的别名;
件数据都储存在"块"中,那么很显然,还必须找到一个地方储存文件的元信息(metadata, 就是文件的"属性, 描述信息"!) ,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
每个inode都有一个号码,操作系统用inode号码来识别不同的文件。(区域叫inode, 区域的编号叫inode 编号, inode号码)!
由于每个文件都必须有一个inode,因此有可能发生inode已经用光,但是硬盘还未存满的情况。这时,就无法在硬盘上创建新文件
20.Linux系统的七个启动级别、操作系统启动过程。
https://www.cnblogs.com/kevingrace/p/6244584.html

Linux预置七种init运行级别(0-6):
0:关机模式    (相当于poweroff)
1:单用户模式(破解root密码的方法:linux系统root密码遗忘的情况下的解决办法)
2:无网络支持的多用户模式
3:有网络支持的多用户模式(也就是文本模式,工作中最常用的模式)
4:保留,未使用
5:有网络支持的X-windows支持多用户模式(也就是桌面图形模式)
6: 重新引导系统,即重启    (相当于reboot)

21.Iptables的三表五链,怎么将本机的80端口转发到8080等类似的问题。
总体说来,iptables就是由“四表五链”组成。 
四表:
filter:过滤,防火墙
nat :network address translation 网络地址转换
mangle:拆解报文,作出修改,封装报文
raw: 关闭nat表上启用的链接追踪机制
五链:
PREROUTING 数据包进入路由之前
INPUT 目的地址为本机
FORWARD 实现转发
OUTPUT 原地址为本机,向外发送

POSTROUTING 发送到网卡之前
22.服务器性能指标的查看(内存、cpu、磁盘、网络流量、虚拟内存swap、etc下的proc)free各个字段的含义、top各个字段的含义、ps、iftop各个字段的含义等都要十分清楚
23.Shell中文本处理命令的用法(cut、tr、diff、uniq、awk、sed、wc、grep等命令以及参数的选择要非常熟悉),shell中$? 、$0 、$#、$@、$!、$$、$*等各种$的含义。循环for的书写、if的书写以及其中的各种判断要非常熟悉。
24.find命令的使用要非常熟悉。
25.crontab命令的使用。
26.本权限以及权限中u+s g+s o+t 的设定以及含义、为什么有的是大写的s,有的是小写的s 特殊权限的i权限
27.几种常见的服务的端口号(ftp ssh telnet snmp pop3 IMAP rsync等)
FTP的端口是 21
SSH (Secure Shell)服务使用tcp 22 端口
TELNET 23 端口
DHCP server的端口号是67
MAIL 的端口号是25\110
pop3\smtp 的端口号是 110/25
DNS 的端口号是 53
HTTP通信用的端口号是80
SMMP:25
mysql默认端口是3306
Sql服务的默认端口. 3389
tomcat默认端口是8080
windows远程终端 的端口号是3389
ORACLE默认端口1521、1526
28. DNS的工作原理原理以及实现过程。
29. kill命令的-9与-15的区别
kill -9 pid,是不顾后果的强制终止(如果的你的速度够快,有时候是和ctrl+c是一样的)
kill -15 pid,是先关闭和其有关的程序,再将其关闭
1)kill

从help中可以清晰的看到 -n 指的是 信号编号,那问题来了,“信号编号”是哪位大神???
2)kill -l(查看Linux/Unix的信号变量)

这么多呀!! 今天就单独说一下SIGKILL和SIGTERM
3)(kill pid) 、( kill -15 pid)
系统会发送一个SIGTERM的信号给对应的程序。当程序接收到该signal后,将会发生以下的事情,是先关闭和其有关的程序,再将其关闭
30. route的使用要非常熟悉。


转载于:https://www.cnblogs.com/move-on-change/p/9513408.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值