Linux面试题

1、linux简单命令:

(1)ls:列出目录中的文件和子目录信息

(2)cd:用于切换当前工作目录

(3)mv:移动或重命名文件和目录

(4)cp:复制文件和目录

(5)echo:显示指定的字符串或变量的值

  实例:(echo $0 $1 $?)输出当前脚本的名称、第一个参数以及上一个命令的退出状态

(6)cat:显示文件的内容,也可用于连接多个文件的内容

(7)vi:是 Unix 世界里极为普遍的全屏幕文本编辑器

(8)rm:删除文件或目录

(9)touch:创建新的空文件,或更新文件的访问时间和修改时间

(10)mkdir:创建新的目录

(11)pwd:显示当前工作目录的绝对路径

(12)more:分页显示文件内容,一次显示一屏,按空格键可显示下一页,按q键退出

(13)head:显示文件的开头部分内容,默认显示前 10 行

(14)tail:显示文件的结尾部分内容,默认显示后 10 行

(15)wc:统计文件的行数、单词数和字符数

2、http协议是什么?相应报文的状态码说5个及说明

HTTP(Hypertext Transfer Protocol)即超文本传输协议,是用于从万维网(WWW: World Wide Web )服务器传输超文本到本地浏览器的传送协议。它是一个基于请求与响应模式的、无状态的、应用层的协议。

(1)200 - OK

说明:这是最常见的成功状态码,表示服务器成功处理了客户端的请求,并返回了请求的数据。

(2)302 - Found

说明:表示请求的资源已经被临时移动到了新的位置

(3)401 - Unauthorized

说明:没有权限访问请求的资源

(4)404 - Not Found

说明:这是最常见的客户端错误状态码之一,表示服务器无法找到客户端请求的资源。

(5)500 - Internal Server Error

说明:表示服务器在处理请求时发生了内部错误,这通常是服务器端的代码出现了问题。

(6)503 - Service Unavailable

说明:服务器当前无法处理你的请求,可能是太多请求了或者其他原因导致服务器不可用


3、dns协议是干什么的

DNS(Domain Name System)协议即域名系统协议,主要用于以下几个方面:

域名解析方面

(1)将域名转换为IP地址

(2)反向解析

提高网络效率和可靠性方面

(1)分布式数据库系统

(2)缓存机制


4、三次握手四次挥手的流程

(解决网络信道不可靠问题)

第一次握手:
客户端向服务器发送 SYN 报文 (SEQ=x SYN=1) ,并进入 SYN_SENT 状态,等待服务器确认
第二次握手:
服务端收到客户端发送的SYN包,如果服务端同意链接,则回复客户端  SYN+ACK ( 请求和确认 ) 包, 此时服务器进入 SYN_RECV 状态
第三次握手:
客户端收到服务器的回复  SYN+ACK ;此时,客户端也要向服务器发送确认包(ACK);此包发送完毕客户端和服务器进入 ESTABLISHED(连接建立) 状态,完成 3 次握手
第一次挥手:
客户端主动发起连接关闭请求,他需要想服务端发送一个FIN包,进入终止等待1状态
第二次挥手:
当服务端收到客户端发来FIN包 ,回复发送 ACK 包,表示服务端进入关闭等待状态,客户端进入终止等待2状态
此时服务端还可以发送未发送的数据,客户端还可以接收数据
第三次挥手:
待服务端发送完数据之后,发送一个FIN包,进入最后确认状态
第四次挥手:
客户端收到服务端发送的FIN包,并回复ACK包进入超时等待状态,经过超时时间后关闭连接,而服务端收到ACK包后立即关闭连接


5、netstat命令怎么用

netstat命令:
netstat -ntpl: 可以查看端口号与之对应的进程号
安装此命令:
yum -y install net-tools


6、如何实现nginx负载均衡

(1)Round Robin-轮询

轮询,顾名思义,把请求按顺序分配给每个服务器,然后重复执行这个顺序,进行请求分配。

(2)Weighted Round Robin - 加权轮询

加权轮询算法是轮询算法的一种改进,只不过在负载时会根据服务器的权重来分配请求,权重越大,分配的请求就会越多

(3)IP/URL Hash - IP/URL 散列

IP/URL 散列算法是一种根据客户端 IP 地址或 URL 来分配请求的负载均衡算法,这样相同的IP或者URL就会负载到相同的服务器上。

(4)Least Connections - 最小连接数

最小连接数,是指把请求分配给当前连接数最少的服务器,以确保负载更均匀。

(5)Least Response Time - 最短响应时间

最短响应时间就是指:处理请求的响应时间最少的服务器,获取的请求就越多。直白讲就是随速度快,随就干的多。

实战

从简历的运维项目入手

你有没有部署过项目

--》用的http还是https

http

        --》http是什么?属于网络的哪一层

HTTP(Hypertext Transfer Protocol)即超文本传输协议,是用于传输诸如 HTML 等超媒体文档的应用层协议。

 

在网络分层模型中,HTTP 属于应用层。

                --》网络中其他层都是什么

物理层——数据链路层——网络层——传输层——会话层——表示层——应用层

                --》tcp协议有没有了解过,属于哪一层协议

TCP(Transmission Control Protocol,传输控制协议)属于传输层协议

                        --》tcp和UDP区别是什么

TCP是面向连接的,需要三次握手、四次挥手之类的操作,所以可靠性高,延迟性也高。一般用于文件传输,比如下载电影、音频之类的,保证数据完整性。

UDP是面向非连接的,它不需要进行三次握手之类的操作,所以它延迟性低,数据可靠性低,一般用于网游对战。速度快,但可能产生丢包

                                --》tcp如何保证对方能收到数据的(三次握手四次挥手)

见4、三次握手四次挥手的流程

                --》你有没有配置过网络

                        --》DNS有没有配置过,什么是dns协议

DNS(Domain Name System)协议即域名系统协议

        --》https和http区别是什么?

区别HTTPHTTPS
安全性安全性较差,数据易受到攻击安全性较高,可以防止关键信息被攻击
端口号默认80默认443
URL前缀http://https://
用途主要用于信息共享等网站,如博客等用于保护性要求较高的网站,如电子商务平台
数据保护HTTP在数据传输前未加以保护,因此传输过程中易遭到攻击HTTPS在数据传输前对数据加以保护,接收者则需要恢复源数据,传输过程中的保护性较高
协议TCP/IPHTTPS是基于HTTP的,但额外增加了TLS/SSL连接加密
域名合法性HTTP网站无需SSL证书HTTPS网站需要SSL证书
数据加密
搜索排名无关有益于搜索排名
速度较慢于HTTP

                --》https如何保证数据安全的

  1. 加密技术
    • 对称加密:客户端和服务器协商出一个共同的密钥,后续通信时用该密钥对数据进行加密和解密。对称加密的效率高,能快速处理大量数据的加解密。但是密钥的安全分发是个难题,因为如果在密钥传输过程中被窃取,那么数据的保密性就无法保证。
    • 非对称加密:服务器拥有一对公钥和私钥,公钥公开,私钥保密。客户端用服务器的公钥对数据进行加密,只有服务器用自己的私钥才能解密。这种方式解决了密钥分发的问题,因为即使公钥在网络中被截获,没有私钥也无法解密数据。但是非对称加密的计算量较大,性能开销比对称加密高。
    • 混合加密:HTTPS 结合了对称加密和非对称加密的优点。在建立连接初期,使用非对称加密来交换对称加密的密钥,之后的通信则使用对称加密来传输数据。这样既保证了密钥的安全交换,又提高了数据传输的效率。
  2. 数字证书与身份验证
    • 数字证书的颁发:服务器向权威的证书颁发机构(CA)申请数字证书。CA 会对服务器的身份信息(如域名、服务器名称等)进行验证,确认无误后,使用 CA 的私钥对服务器的公钥和相关信息进行签名,生成数字证书。
    • 数字证书的验证:客户端收到服务器发送的数字证书后,会使用内置的 CA 公钥来解密数字证书,验证证书的合法性。包括验证证书的签名是否正确、证书是否过期、证书中的域名与访问的域名是否一致等。如果验证通过,说明服务器的身份是可信的,可以继续进行通信;如果验证不通过,浏览器会提示用户存在安全风险,阻止通信。
  3. 数据完整性校验
    • 哈希算法:HTTPS 使用哈希算法对传输的数据生成一个固定长度的摘要。发送方在发送数据时,会同时发送数据的哈希值。接收方收到数据后,也会对数据进行哈希计算,然后将计算出的哈希值与接收到的哈希值进行对比。如果两个哈希值一致,说明数据在传输过程中没有被篡改;如果不一致,则说明数据可能被篡改或损坏。
    • 数字签名:在数字证书的申请过程中,CA 会对服务器的公钥和相关信息进行哈希计算,然后用自己的私钥对哈希值进行加密,生成数字签名。数字签名可以保证数据的完整性和真实性,因为只有拥有 CA 私钥的机构才能生成正确的数字签名,而客户端可以通过 CA 的公钥来验证数字签名的有效性。

                        --》加密算法有没有了解过

对称加密算法

 
  • DES(Data Encryption Standard)
    • 这是一种经典的对称加密算法,它使用 56 位密钥对 64 位的数据块进行加密。算法将数据经过一系列复杂的置换和替换操作来实现加密。然而,随着计算机计算能力的提高,56 位的密钥长度已不足以保证数据的安全性,目前已较少在安全性要求高的场景中使用。
  • 3DES(Triple DES)
    • 3DES 是为了增强 DES 的安全性而产生的。它对数据进行三次 DES 加密,密钥长度可以是 112 位或 168 位。3DES 在一定程度上提高了加密强度,但由于计算效率相对较低,也逐渐被更先进的算法所替代。
  • AES(Advanced Encryption Standard)
    • AES 是目前广泛使用的对称加密算法。它支持 128 位、192 位和 256 位的密钥长度,能对 128 位的数据块进行加密。AES 算法具有高效、安全的特点,在从硬件设备到软件应用的各种领域都有广泛应用,如数据存储加密、网络通信加密等。
 

非对称加密算法

 
  • RSA(Rivest - Shamir - Adleman)
    • RSA 是最具代表性的非对称加密算法之一。它基于大整数分解的数学难题,密钥由一对整数组成,分别是公钥和私钥。公钥可以公开,用于加密数据,而只有拥有私钥的一方才能解密。RSA 在数字签名、密钥交换、安全通信等领域应用广泛。
  • DSA(Digital Signature Algorithm)
    • DSA 主要用于数字签名,它基于离散对数问题。DSA 算法可以确保数据的完整性和签名者的身份验证,在需要对数据来源进行验证的场景中发挥重要作用,如电子政务、电子商务等领域的数字签名应用。
  • ECC(Elliptic Curve Cryptography)
    • ECC 是基于椭圆曲线离散对数问题的非对称加密算法。与 RSA 相比,ECC 可以使用更短的密钥长度达到相同的安全强度,这使得它在计算资源有限的环境(如移动设备)中具有优势,并且在数字证书、加密通信等方面应用广泛。
 

哈希算法(散列算法)

 
  • MD5(Message Digest Algorithm 5)
    • MD5 是一种广泛使用的哈希算法,它将任意长度的数据转换为一个 128 位的哈希值。MD5 算法计算速度快,但由于其安全性已被破解,目前主要用于数据完整性校验等对安全性要求不高的场景,如文件校验等。
  • SHA - 1(Secure Hash Algorithm 1)
    • SHA - 1 能生成 160 位的哈希值。它在很长一段时间内被广泛应用于数字签名、安全协议等领域。然而,随着密码分析技术的发展,SHA - 1 的安全性也受到了挑战,目前已逐渐被更安全的哈希算法所替代。
  • SHA - 2(Secure Hash Algorithm 2)
    • SHA - 2 包括 SHA - 224、SHA - 256、SHA - 384 和 SHA - 512 等多种变体,分别产生不同长度的哈希值。SHA - 2 系列算法具有较高的安全性,是目前主流的哈希算法之一,广泛应用于数字证书、区块链等领域。
  • SHA - 3(Secure Hash Algorithm 3)
    • SHA - 3 是基于全新的海绵结构设计的哈希算法,与 SHA - 2 相比,它具有不同的设计理念和更高的安全性。SHA - 3 可以抵抗目前已知的多种密码攻击,在密码学领域具有重要的应用前景。

--》部署项目中用到哪些软件

MySQL、redis、jdk、nginx、

        --》常见端口号都有哪些

HTTP 和相关服务

 
  • 80 端口:这是用于超文本传输协议(HTTP)的默认端口,用于传输普通的网页内容。当在浏览器中输入一个网站的地址(如http://www.example.com)而没有指定其他端口时,浏览器会默认使用 80 端口与服务器进行通信来获取网页数据。
  • 8080 端口:常用于 Web 代理服务和一些应用服务器的备用端口。例如,在开发环境中,当本地运行的 Web 应用不想使用 80 端口时,可能会选择 8080 端口作为服务端口。
  • 443 端口:是超文本传输安全协议(HTTPS)的默认端口,用于在网络上进行安全的网页浏览。HTTPS 在 HTTP 的基础上加入了 SSL/TLS 加密协议,443 端口确保了客户端和服务器之间传输数据的安全性,常用于在线交易、网上银行、电子邮件等需要保护用户数据隐私的场景。
 

邮件相关服务

 
  • 25 端口:是简单邮件传输协议(SMTP)的默认端口,用于发送电子邮件。当用户发送邮件时,邮件客户端会通过 25 端口与邮件服务器建立连接,将邮件传递给服务器进行后续的投递处理。
  • 110 端口:用于接收邮件的邮局协议(POP3)的默认端口。POP3 允许用户从邮件服务器上下载邮件到本地客户端进行阅读和管理。用户在配置邮件客户端时,如果选择使用 POP3 协议来接收邮件,通常需要设置 110 端口与邮件服务器进行通信。
  • 143 端口:是互联网消息访问协议(IMAP)的默认端口。IMAP 与 POP3 类似,也是用于接收邮件,但 IMAP 提供了更多的邮件管理功能,如在服务器上直接管理邮件文件夹、在线阅读邮件等。用户在使用 IMAP 协议时,需要通过 143 端口与邮件服务器进行交互。
 

文件传输相关服务

 
  • 20 和 21 端口:20 端口用于数据传输,21 端口用于控制连接,它们共同构成了文件传输协议(FTP)的工作端口。FTP 是用于在网络上进行文件传输的标准协议,用户通过 FTP 客户端连接到 FTP 服务器的 21 端口建立控制连接,然后在传输文件时,数据通过 20 端口进行传输。
  • 22 端口:是安全外壳协议(SSH)的默认端口,SSH 不仅可以用于远程登录到服务器进行命令行操作,还可以通过 SSH 隧道进行安全的文件传输,如使用 SCP(Secure Copy Protocol)和 SFTP(SSH File Transfer Protocol)等基于 SSH 的文件传输工具。
 

数据库相关服务

 
  • 3306 端口:是 MySQL 数据库服务器的默认监听端口。当客户端应用程序需要与 MySQL 数据库进行通信时,会通过 3306 端口连接到数据库服务器,执行查询、插入、更新、删除等数据库操作。
 

其他常见服务

 
  • 53 端口:是域名系统(DNS)服务器的端口。当计算机需要将域名解析为对应的 IP 地址或者进行反向解析时,会向 DNS 服务器的 53 端口发送请求,DNS 服务器处理请求后返回相应的解析结果。
  • 69 端口:是简单文件传输协议(TFTP)的端口。TFTP 是一个简单的、基于 UDP 的文件传输协议,常用于无盘工作站引导、网络设备配置文件的传输等场景,它通过 69 端口进行文件的传输操作。
  • 139 和 445 端口:139 端口用于 NetBIOS 会话服务,445 端口用于 Microsoft - DS(Directory Service),这两个端口在 Windows 网络环境中常用于文件和打印机共享。在混合网络环境中(包含 Windows 和 Linux 系统),这些端口也可能涉及到跨平台的资源共享操作。

                --》linux中怎么看端口号有没有暴露出来

使用 netstat 命令

 
  1. 查看所有监听端口:
    • 命令:netstat -tunlp
    • 解释:
      • -t:显示 TCP 协议的连接信息。
      • -u:显示 UDP 协议的连接信息。
      • -n:以数字形式显示地址和端口号,而不是尝试将其解析为主机名和服务名。
      • -l:仅显示监听状态的端口。
      • -p:显示与端口关联的进程信息。
  2. 查看特定端口是否被监听:
    • 例如,查看 80 端口是否被监听,可以使用命令netstat -tunlp | grep :80。如果有输出结果,则说明 80 端口正在被监听,并且会显示监听该端口的进程相关信息。

--》部署项目中有没有用到nginx

        --》为什么要用nginx

nginx比tomant从运维架构角度来的更方便稳定,因为网站的前后端架构需要nginx这么一款工具,

1、要更新网站的功能,可以在nginx中切换后端的服务器池,把新节点加入旧节点删除,完成不停机更新

2、网站迎来流量高峰期,只需要扩容服务器节点池里面的机器数量,只需要在nginx的upstream里面随意的添加删减

3、网站更新域名:再不删除旧的域名的前提下,使用新的域名,用户通过旧的域名还能访问到新的

4、网站证书的更新,限制用户,限制爬虫,

5、公司临时停机:让用户看到临时停机维护的页面而不能报错

                --》nginx负载均衡策略都有哪些,你是怎么考虑的

(1)Round Robin-轮询

轮询,顾名思义,把请求按顺序分配给每个服务器,然后重复执行这个顺序,进行请求分配。

(2)Weighted Round Robin - 加权轮询

加权轮询算法是轮询算法的一种改进,只不过在负载时会根据服务器的权重来分配请求,权重越大,分配的请求就会越多

(3)IP/URL Hash - IP/URL 散列

IP/URL 散列算法是一种根据客户端 IP 地址或 URL 来分配请求的负载均衡算法,这样相同的IP或者URL就会负载到相同的服务器上。

(4)Least Connections - 最小连接数

最小连接数,是指把请求分配给当前连接数最少的服务器,以确保负载更均匀。

(5)Least Response Time - 最短响应时间

最短响应时间就是指:处理请求的响应时间最少的服务器,获取的请求就越多。直白讲就是随速度快,随就干的多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟雨平生533

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值