日常更新中:
1、什么是Linux
Linux 是⼀套免费使⽤和⾃由传播的类 Unix 操作系统,是⼀个基于 POSIX 和 Unix 的多⽤户、多任务、⽀持多线 程和多 CPU 的操作系统。它能运⾏主要的 Unix ⼯具软件、应⽤程序和⽹络协议。它⽀持 32 位和 64 位硬件。 Linux 继承了 Unix 以⽹络为核⼼的设计思想,是⼀个性能稳定的多⽤户⽹络操作系统。
2、Unix和Linux有什么区别
a. 开源性 Linux 是⼀款开源操作系统,不需要付费,即可使⽤;Unix 是⼀款对源码实⾏知识产权保护的传 统商业软件,使⽤需要付费授权使⽤。
b. 跨平台性 Linux 操作系统具有良好的跨平台性能,可运⾏在多种硬件平台上;Unix 操作系统跨平台性能较弱,⼤多需与硬件配套使⽤。
c. 可视化界⾯ Linux 除了进⾏命令⾏操作,还有窗体管理系统;Unix 只是命令⾏下的系统。
d. 硬件环境 Linux 操作系统对硬件的要求较低,安装⽅法更易掌握;Unix 对硬件要求⽐较苛刻,安装难度较⼤。
3、什么是 Linux 内核?
Linux 系统的核⼼是内核。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执⾏软件。
系统内存管理、应⽤程序管理、硬件设备管理、⽂件系统管理
4、Linux 的基本组件是什么?
就像任何其他典型的操作系统⼀样,Linux 拥有所有这些组件:内核,shell 和 GUI,系统实⽤程序和应⽤程序。 Linux 比其他操作系统更具优势的是每个方面都附带其他功能,所有代码都可以免费下载。
5、Linux 的体系结构
从⼤的⽅⾯讲,Linux 体系结构可以分为两块:
⽤户空间(User Space) :⽤户空间⼜包括⽤户的应⽤程序(User Applications)、C 库(C Library) 。
内核空间(Kernel Space) :内核空间⼜包括系统调用接口(System Call Interface)、内核(Kernel)、平台架构相关的代码。
为什么 Linux 体系结构要分为用户空间和内核空间的原因?
1.现代 CPU 实现了不同的⼯作模式,不同模式下 CPU 可以执⾏的指令和访问的寄存器不同。 2.Linux 从 CPU 的⻆度出发,为了保护内核的安全,把系统分成了两部分。 ⽤户空间和内核空间是程序执⾏的两种不同的状态,我们可以通过两种⽅式完成⽤户空间到内核空间的转移:
1)系统调用; 2)硬件中断。
6、Linux 开机启动过程?
1. 主机加电⾃检,加载 BIOS 硬件信息。
2. 读取 MBR 的引导⽂件(GRUB、LILO)。
3. 引导 Linux 内核。
4. 运⾏第⼀个进程 init (进程号永远为 1 )。
5. 进⼊相应的运⾏级别。
6. 运⾏终端,输⼊⽤户名和密码。
7、Linux 使用的进程间通信方式?
(1)管道(pipe)、流管道(s_pipe)、有名管道(FIFO)
(2)信号(signal) (3)消息队列 (4)共享内存
(5)信号量 (6)套接字(socket)
8、Linux 有哪些系统日志文件?
/var/log/messages 日志文件 该日志⽂件是许多进程日志⽂件的汇总、
9、什么是 root 帐户
root 帐户就像⼀个系统管理员帐户,允许你完全控制系统。你可以在此处创建和维护⽤户帐户,为每个帐户分配 不同的权限。每次安装 Linux 时都是默认帐户。
10、简单概述 Linux 文件系统?
在 Linux 操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输⼊输出设备、普 通⽂件或是目录都被看作是⼀个⽂件。
11、 Linux 的目录结构是怎样的?
/根目录,一般根目录下只存放目录,不存放文件。/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
(1)/bin
存放系统中最常用的二进制可执行文件(二进制文件)。基础系统所需要的那些命令位于此目录,也是最小系统所需要的命令;例如ls、cp、mkdir等命令。功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用命令
(2)/boot
存放Linux内核和系统启动文件,包括Grub、lilo启动程序
(3)/dev
存放所有设备文件,包括硬盘、分区、键盘、鼠标、USB等
(4)/etc
存放系统所有配置文件,例如passwd存放用户账户信息,hostname存放主机名等。/etc/fstab是开机自动挂载一些分区的,在里面写入一些分区信息,就能实现开机挂载分区
(5)/home
用户目录的默认位置
(6)/initrd
存放启动时挂载initrd.img映像文件的目录,以及载入所需设备模块的目录
(7)/lib
存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件
(8)/lost+found
在ext2或者ext3文件系统中,当系统意外崩溃或者计算机意外关机,而产生一些文件碎片存放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。
(9)/media
即插即用型设备的挂载点自动在这个目录下创建。例如USB自动挂载后会在这个目录下产生一个目录;CDROM/DVD自动挂载后,也会在这个目录中创建一个目录,存放临时读入的文件
(10)/mnt
此目录通常用于作为被挂载的文件系统的挂载点
(11)/proc
存放所有标志为文件的进程,它们是通过进程号或其他的系统动态信息进行标识。例如CPU、硬盘分区、内存信息等存放在这里
(12)/opt
作为可选文件和程序的存放目录。有些软件包也会被安装在这里,也就是自定义软件包;有些用户自己编译的软件包,就可以安装在这个目录中
(13)/root
根用户(超级用户)的主目录
(14)/sbin
大多是涉及系统管理的命令的存放地,也是超级权限用户root的可执行命令存放地。普通用户无权限执行这个目录下的命令
这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的。注意,凡是目录sbin中包含的都是root权限才能执行的)
(15)/srv
存放系统所提供的服务数据
(16)/sys
该目录用于将系统设备组织或层次结构,并向用户提供详细的内核数据信息
(17)/tmp
临时文件目录,有时用户运行程序的时候,会产生临时文件。/var/tmp目录和这个目录相似,同样也是存储临时文件目录,不同点在于重启时会被清除掉;
(18)/usr
用于存放与系统用户直接有关的文件和目录,如应用程序及支出系统的库文件。
1)/usr/bin
用户管理员的标准命令
2)/usr/include
C/C++等开发工具语言环境的标准include文件
3)/usr/lib
应用程序及程序报的链接库
4)/usr/local
系统管理员安装的应用程序
5)/usr/local/share
系统管理员安装的共享文件
6)/usr/sbin
用户和管理员的标准命令
7)/usr/share
存放使用手册等共享文件的地方
(19)/var
通常用于存放长度可变的文件,例如日志文件和打印机文件
1)/var/cache
应用程序缓存目录
2)/var/crash
系统错误信息
3)/var/log
日志记录
12、RAID 是什么?
基本思想就是把多个相对便宜的硬盘 组合起来,成为⼀个硬盘阵列组,使性能达到甚⾄超过⼀个价格昂贵、 容量巨⼤的硬盘。RAID 通常被⽤在服务器 电脑上,使⽤完全相同的硬盘组成⼀个逻辑扇区,因此操作系统只会把它当做⼀个硬盘。
RAID 分为不同的等级,各个不同的等级均在数据可靠性及读写性能上做了不同的权衡。在实际应⽤中,可以依据自己的实际需求选择不同的 RAID ⽅案。
13、简述raid0 raid1 raid5 三种工作模式的工作原理及特点
RAID,可以把硬盘整合成一个大磁盘,还可以在大磁盘上再分区,放数据还有一个大功能,多块盘放在一起可以有冗余(备份)RAID整合方式有很多,常用的:0 1 5 10
1)RAID 0 可以是一块盘和N个盘组合
优点:读写快,是RAID中最好的
缺点:没有冗余,一块坏了数据就全没有了
2)RAID 1 只能2块盘,盘的大小可以不一样,以小的为准
优点:10G+10G只有10G,另一个做备份。它有100%的冗余
缺点:浪费资源,成本高
3)RAID 5 ,3块盘,容量计算10*(n-1),损失一块盘
优点:在一块硬盘故障仍可以正常运行,有奇偶效验信息
缺点:读写性能一般,读还好一点,写不好
4)总结:
对于奇偶效验:
-
RAID 0:没有奇偶校验信息,它只提供数据的条带化,以提高性能,但不提供任何数据冗余或容错能力。
-
RAID 1:提供镜像,即数据的冗余拷贝,但没有奇偶校验信息。它通过在两个或多个硬盘上存储相同的数据来提供数据的冗余。
-
RAID 5:使用奇偶校验信息来提供数据冗余。数据和奇偶校验信息被分散存储在三个或更多的硬盘上,允许在一块硬盘故障时重建数据。
-
我们会根据数据的存储和访问的需求,去匹配对应的RAID级别
14、请问当用户反馈网站访问慢,如何处理
1)有哪些方面的因素会导致网站访问慢?
a. 服务器出口带宽不够用,本身服务器购买的出⼝带宽比较小。
⼀旦并发量⼤的话,就会造成分给每个⽤户的出⼝带宽就小,访问速度⾃然就会慢。跨运营商⽹络导致带宽缩减。
例如,公司网站放在电信的网络上,那么客户这边对接是⻓城宽带或联通,这也可能导致带宽的缩减。
b. 服务器负载过⼤,导致响应不过来
可以从两个方面入手分析:分析系统负载,使⽤ w 命令或者 uptime 命令查看系统负载。如果负载很高,则使⽤ top 命令查看 CPU ,MEM 等占⽤情况,要么是 CPU 繁忙,要么是内存不够。
如果这⼆者都正常,再去使⽤ sar 命令分析网卡流量,分析是不是遭到了攻击。⼀旦分析出问题的原因,采取对应的措施解决,如决定要不要杀死⼀ 些进程,或者禁⽌⼀些访问等。
c. 数据库瓶颈
如果慢查询⽐较多。那么就要开发⼈员或 DBA 协助进⾏ SQL 语句的优化。如果数据库响应慢,考虑可以加⼀个数 据库缓存,如 Redis 等。然后,也可以搭建 MySQL 主从,⼀台 MySQL 服务器负责写,其他⼏台从数据库负责读;
也有可能网站开发代码没有优化好:例如 SQL 语句没有优化,导致数据库读写相当耗时。
2)针对网站访问慢,怎么去排查?
a. ⾸先要确定是⽤户端还是服务端的问题。当接到⽤户反馈访问慢,那边自己⽴即访问网站看看,如果自己这边访问快,基本断定是⽤户端问题,就需要耐⼼跟客户解释,协助客户解决问题。
b. 如果访问也慢,那么可以利⽤浏览器的调试功能,看看加载那⼀项数据消耗时间过多,是图片加载慢,还是某 些数据加载慢。
c. 针对服务器负载情况。查看服务器硬件(⽹络、CPU、内存)的消耗情况。如果是购买的云主机,比如阿⾥云,可以登录阿⾥云平台提供各⽅⾯的监控,⽐如 CPU、内存、带宽的使⽤情况。
d. 如果发现硬件资源消耗都不⾼,那么就需要通过查日志,⽐如看看 MySQL 慢查询的⽇志,看看是不是某条 SQL 语句查询慢,导致⽹站访问慢。
3)怎么去解决?
a. 如果是出⼝带宽问题,那么就申请加⼤出⼝带宽。
b. 如果慢查询⽐较多,那么就要开发⼈员或 DBA 协助进⾏ SQL 语句的优化。
c. 如果数据库响应慢,考虑可以加⼀个数据库缓存,如 Redis 等等。然后也可以搭建 MySQL 主从,⼀台 MySQL 服务器负责写,其他⼏台从数据库负责读。
d. 申请购买 CDN 服务,加载⽤户的访问。
e. 如果访问还⽐较慢,那就需要从整体架构上进⾏优化咯。做到专⻆⾊专⽤,多台服务器提供同⼀个服务。
15、Linux 中的进程状态有哪些?
进程状态,顾名思义,是指Linux进程所处的当前状态。进程状态有4种
分别是Running(运行状态)、Waiting(等待状态)、stopped(停止状态)和 Zombie(僵尸状态)。
16、如何停止Linux中正在运行的进程?
使用kill 命令,可以可以先用ps aux | grep
aux:是这个命令会列出系统中所有运行中的进程的详细信息
grep
是一个强大的文本搜索工具,然后kill掉就好
17、如何检查某项服务是否在运行
systemctl status
system为系统;ctl命令中,"ctl" 是 "control" 的缩写,意味着控制
补充:
启动:start 停止:stop 重启restart 禁用 disable 启动:enable
查看服务日志:journalctl -u
18、linux系统软件安装和卸载常见的方法
rpm包卸载:rpm -e XXX.rpm (如果想忽略依赖,可加上–nodeps)
- 安装:dnf install --name yum install --name
- 卸载 yum remove --name yum remove --name
- 搜索 dnf install --name yum package --name
19、如何修改LINUX的IP地址、网关和主机名
- 修改IP地址、⽹关:编辑/etc/sysconfig/network-scripts/ifcfg-eth(可以ip addr查找网卡)
- 修改主机名称:编辑/etc/sysconfig/network 修改hostname内容
20、如何显示和删除*目录下的所有目录
ls -d */ rm -rf /
21、什么是运维?什么是游戏运维?
- 运维是指⼤型组织已经建⽴好的⽹络软硬件的维护,就是要保证业务的上线与运作的正常;在他运转的过程中,对他进⾏维护,他集合了⽹络、系统、数据库、开发、安全、监控于⼀身的技术;
- 游戏运维⼜有分⼯,分为开发运维、应⽤运维(业务运维)和系统运维
- 开发运维:是给应⽤运维开发运维⼯具和运维平台的
- 应⽤运维:是给业务上线、维护和做故障排除的,⽤开发运维开发出来的⼯具给业务上线、维护、做故障排查
- 系统运维:是给应⽤运维提供业务上的基础设施,⽐如:系统、网络、监控、硬件等等
22、现在给你三百台服务器,你怎么对他们进行管理?
- 设定跳板机,使⽤统⼀账号登录,便于安全与登录的考量(跳板机:是一种位于内部网络和外部网络之间的安全计算机,用于控制和监控访问,增强网络安全。)
- 使⽤ansible进行系统的统⼀调度与配置的统⼀管理。
- 建⽴简单的服务器的系统、配置、应用的cmdb信息管理。便于查阅每台服务器上的各种信息记录。
23、LVS、Nginx、HAproxy有什么区别?⼯作中你怎么选择?
- LVS:是基于四层的转发(传输层、网络层、数据链路层、物理层)
- HAproxy:是基于四层和七层的转发,是专业的代理服务器
- Nginx:是WEB服务器,缓存服务器,⼜是反向代理服务器,可以做七层的转发
- 区别:LVS由于是基于四层的转发所以只能做端口的转发、而基于URL的、基于⽬录的这种转发LVS就做不了
- ⼯作选择:HAproxy和Nginx由于可以做七层的转发,所以URL和⽬录的转发都可以做,在很⼤并发量的时候我们 就要选择LVS,像中⼩型公司的话并发量没那么⼤,选择HAproxy或者Nginx⾜已,由于HAproxy由是专业的代理 服务器,配置简单,所以中⼩型企业推荐使⽤HAproxy
24、Tomcat和Resin有什么区别,工作中你怎么选择?
区别:Tomcat⽤户数多,可参考⽂档多,Resin⽤户数少,可考虑⽂档少,最主要区别则是Tomcat是标准的java 容器,不过性能⽅⾯⽐resin的要差⼀些,但稳定性和java程序的兼容性,应该是⽐resin的要好
⼯作中选择:现在⼤公司都是⽤resin,追求性能;⽽中⼩型公司都是⽤Tomcat,追求稳定和程序的兼容
25、什么是中间件、什么是jdk?
中间件是⼀种独⽴的系统软件或服务程序,分布式应⽤软件借助这种软件在不同的技术之间共享资源
中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和⽹络通讯是连接两个独⽴应⽤程序或独⽴系统的软件。相连接的系统,即使它们具有不同的接口,通过中间件相互之间仍能交换信息。执⾏中间件的⼀个关键途径是信息传递通过中间件,应用程序可以⼯作于多 平台或OS环境。
jdk:jdk是Java的开发⼯具包,它是⼀种⽤于构建在Java 平台上发布的应⽤程序、applet和组件的开发环境
26、讲述⼀下Tomcat8005、8009、8080三个端口的含义
- 8005==》关闭时使用
- 8009==》为AJP端口,即容器使用,如Apache能通过AJP协议访问Tomcat的8009端⼝
- 8080==》⼀般应⽤使用
27、简述DNS进⾏域名解析的过程?
用户要访问 http://www.baidu.com,会先找本机的host⽂件,再找本地设置的DNS服务器,如果也没有的话,就 去⽹络中找根服务器,根服务器反馈结果,说只能提供⼀级域名服务器.cn,就去找⼀级域名服务器,⼀级域名服务器说只能提供⼆级域名服务器.com.cn,就去找⼆级域名服务器,⼆级域服务器只能提供三级域名服务器. aidu.com.cn,就去找三级域名服务器,三级域名服务器正好有这个网站 http://http://www.baidu.com,然后发给请求 的服务器,保存⼀份之后,再发给客户端
28、RabbitMQ是什么东西?
RabbitMQ也就是消息队列中间件,消息中间件是在消息的传息过程中保存消息的容器;
队列的主要⽬的是提供路由并保证消息的传递;如果发送消息时接收者不可用;
消息队列不会保留消息,直到可以成功地传递为⽌,当然,消息队列保存消息也是有期限的;
29、讲述⼀下 LVS 三种模式的工作过程?
LVS 有三种负载均衡的模式,分别是 VS/NAT(nat 模式) VS/DR(路由模式) VS/TUN(隧 道模式)
一、NAT 模式(VS-NAT)
原理:就是把客户端发来的数据包的 IP 头的目的地址,在负载均衡器上换成其中⼀台 RS 的 IP 地址,并发⾄此 RS 来处理,RS 处理完后把数据交给负载均衡器,负载均衡器再把数据包原 IP 地址改为自⼰的 IP,将目的地址改为客户 端 IP 地址即可期间,⽆论是进来的流量,还是出 去的流量,都必须经过负载均衡器
优点:集群中的物理服务器可以使⽤任何⽀持 TCP/IP 操作系统,只有负载均衡器需要⼀个合法的 IP 地址
缺点:扩展性有限,当服务器节点过多时,⼤ 量的数据包都交汇在负载均衡器那,速度就会变慢
二、IP 隧道模式(VS-TUN)
原理:首先要知道,互联⽹上的⼤多 Internet 服务的请求包很短小,而应答包通常很⼤, 那么隧道模式就是,把客户端发来的数据包,封装⼀个新的 IP 头标记(仅目的 IP)发给 RS, RS 收到后,先把数据包的头解开,还原数据包,处 理后,直接返回给客户端,不需要再经过负载均衡器
优点:负载均衡器只负责将请求包分发给后端节点服务器,⽽ RS 将应答包直接发给⽤户, 所以,减少了负载均衡 器的⼤量数据流动
缺点:隧道模式的 RS 节点需要合法IP,服务器可能只局限在部分linux系统上;
三、直接路由模式(VS-DR)
原理:负载均衡器和 RS 都使⽤同⼀个 IP 对外服务但只有 DR 对 ARP 请求进⾏响应,所有 RS 对本身这个 IP 的 ARP 请求保持静默也就是说,⽹关会把对这个服务 IP 的请求全部定向 给 DR,⽽ DR 收到数据包后根据调度算法,找 出对应的 RS,把⽬的 MAC 地址改为 RS 的 MAC(因为 IP ⼀致),并将请求分发给这台 RS 这时 RS 收到这个数据 包,处理完成之后,由 于 IP ⼀致,可以直接将数据返给客户,则等于直接从客户端收到这个数据包⽆异,处理后直 接返回给客户端,由于负载均衡器要对⼆层包头进⾏改换,所以负载均衡器和 RS 之间必须 在⼀个⼴播域,也可以 简单的理解为在同⼀台交换机上
优点:和 TUN(隧道模式)⼀样,负载均衡器也只是分发请求,应答包通过单独的路由⽅ 法返回给客户端,与 VS-TUN 相⽐,VS-DR 这种实现⽅式不需要隧道结构,因此可以使⽤ ⼤多数操作系统做为物理服务器。
缺点:(不能说缺点,只能说是不⾜)要求负载均衡器的⽹卡必须与物理⽹卡在⼀个物理段 上。
30、如何重置 mysql root 密码?
1、在已知 MYSQL 数据库的 ROOT ⽤户密码的情况下,修改密码的⽅法:
(1)在 shell环境下,使⽤ mysqladmin 命令设置
mysqladmin -u root -p password “新密码” 回车后会要求输入旧密码
2、在 mysql>环境中,使⽤ update 命令,直接更新 mysql 库 user 表的数据
alert user 'root' @'localhost' identified by '新密码';
2、在未知 MYSQL 数据库的 ROOT ⽤户密码的情况下,修改密码的⽅法:
关闭当前运⾏的 mysqld 服务程序:service mysqld stop/ net stop mysql(要先将 mysqld 添加为系统服务)
使⽤ mysqld_safe 脚本以安全模式(以跳过权限表模式启动MySQL服务)启动 mysqld 服务
/usr/local/mysql/bin/mysqld_safe --skip-grant-table &
31、统计 ip 访问情况,要求分析 nginx 访问日志,找出访问页面数量在前十位的ip
1、提取ip地址,使用awk命令提取日志中的ip地址;
awk '{print $1}' access.log
2、统计每个IP的访问次数:结合sort(排序)
和uniq(计数)
命令对IP进行排序并计数
awk '{print $1}' access.log | sort | uniq -c
#sort起到排序作用,当与uniq命令一起使用时,-c选项会统计每个唯一项出现的次数。
3、按访问次数排序,使用sort命令按访问次数降序排序并使用head命令获取排序后前十位ip
awk '{print $1}' access.log | sort | uniq -c | sort -nr -k1 | head -n 10
#正常升序把sort -r去掉即可:
awk '{print $1}' access.log | sort | uniq -c | sort -n -k1 | head -n 10
32、如何将本地80端口的请求转发到8080端口,当前主机ip为192.168.2.1
iptables
是一个用于配置Linux内核防火墙规则的命令行工具。你可以使用以下命令来设置端口转发:(重定向)
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
-t nat:指定要在nat表中操作。
-A PREROUTING:向PREROUTING链添加规则。
-p tcp:指定协议为TCP。
--dport 80:指定目标端口为80。
-j REDIRECT:指定动作为REDIRECT,即重定向。
--to-port 8080:指定重定向到的端口为8080。
使用iptables 写⼀条规则:把来源IP为192.168.1.101访问本机80端口的包直接拒绝
iptables -I INPUT -s 192.168.1.101 -p tcp --dport 80 -j REJECT
-I INPUT:表示将规则插入(Insert)到 INPUT 链的开头。INPUT 链用于处理进入本机的数据包。
-s 192.168.1.101:指定源地址(source)为 192.168.1.101。
-p tcp:指定协议(protocol)为 TCP。
--dport 80:指定目标端口(destination port)为 80。80 端口通常用于 HTTP 服务。
-j REJECT:指定如果数据包匹配这条规则,将执行的动作是拒绝(REJECT)
要想把iptable的规则保存到⼀个⽂件中如何做?如何恢复?
使⽤iptables-save重定向到⽂件中:
iptables-save > 1.ipt
iptables-save < 1.ipt
socat是一个多功能的网络工具,可以用来转发端口
sudo socat TCP-LISTEN:80,fork TCP:127.0.0.1:8080
TCP-LISTEN:80:监听本地的80端口。
fork:为每个连接创建一个子进程。
TCP:127.0.0.1:8080:将连接转发到本地的8080端口。
33、apt-get、yum、wget这三种下载工具分别的作用和区别是什么
1、apt-get:更新软件包列表、安装、升级和卸载软件包(软件包管理)。
2、yum:检查更新、安装、更新和卸载软件包(软件包管理)。
3、wget:下载单个文件或网站内容(命令行下的文件下载工具)
区别:apt-get
和yum
是包管理器,专注于软件包的安装和依赖管理,而wget
是一个文件下载工具,专注于从网络下载文件
apt-get
和yum
通常用于系统维护和软件管理,而wget
更多用于下载数据文件或备份网站
apt-get
和yum
依赖于特定的Linux发行版,而wget
可以在多种操作系统上使用。
34、实时抓取并显示当前系统中tcp 80 端口的网络数据信息,请写出完整操作命令
tcpdump -nn tcp port 80
-nn:告诉 tcpdump 不要解析网络名称(例如,域名)和端口,直接显示他们的数值
tcp:指定要捕获的包是TCP协议的
port 80:指定要捕获的目标端口是80。
35、服务器开不了机怎么解决和一步步排查
1、造成服务器故障的原因可能有以下几点:
服务器电源有问题(断电,电源线松动,人为原因)
服务器系统文件丢失,硬件问题,散热不良造成蓝屏和死机
服务器网络参数配置错误,物理链路原因等。
2、如何排查服务器故障的处理步骤如下:
先查看服务器的电源指示灯是否亮着,如果亮着可以尝试敲击键盘查看系统是否有异常化
如果能正确输入密码登录系统的情况下查看网卡是否正常运作, 利用ifconfig查看网卡接口状态,然后通过ping对ip进行测试是否连通;
如ping不通,需要查看网卡配置文件参数是否配置正确,ifdown,ifup 网卡名,重启网卡;
如果还不行就要及时排查并确保本底尾纤,模块等物理设备是否接入正常,查看是否有丢包的迹象等等;
36、Linux系统中病毒了怎么解决
1、重装系统;
2、top 命令找到 cpu 使⽤率最⾼的进程:
P
:按 CPU 使用率排序。M
:按内存使用率排序。T
:按时间/累计时间排序。
⼀般病毒⽂件命名都⽐较乱,可以⽤ ps aux 找到病毒⽂件位置rm -f 命令删除病毒⽂件
如果还一直下载就先断外网,然后利用一些工具慢慢找
37、如何优化 Linux 系统(可以不说太具体)
不⽤ root,添加普通⽤户,通过 sudo 授权管理
更改默认的远程连接 SSH 服务端口及禁⽌ root ⽤户远程连接定时⾃动更新服务器时间
配置国内 yum 源 关闭 selinux 及 iptables(iptables ⼯作场景如果有外⽹ IP ⼀定要打开,⾼并发除外) 调整⽂件描述符的数量
精简开机启动服务(crond rsyslog network sshd) 内核参数优化(/etc/sysctl.conf)
更改字符集,⽀持中⽂,但建议还是⽤英⽂字符集,防⽌乱码锁定关键系统⽂件 清空/etc/issue,去除系统及内核版本登录前的屏幕显示
38、想修改ip,需要编辑哪个配置文件,修改完配置文件后,如何重启网卡,使配置生效?
首先ipconfig查看网卡
使⽤vi或者vim编辑器编辑⽹卡配置⽂件/etc/sysconfig/network-scripts/ifcft-eth
DEVICE=eth0
HWADDR=00:0C:29:06:37:BA
TYPE=Ethernet
UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.140.130
NETMASK=255.255.255.0
GATEWAY=192.168.140.2
DNS1=192.168.140.2
DNS2=8.8.8.8
ifdown eth
ifup eth
39、任务计划格式中,前⾯5个数字分表表示什么含义?
依次表示:分、时、日、月、周
40、在Linux系统下如何按照下⾯要求抓包:只过滤出访问http服务的,目标ip为 192.168.0.111,⼀共抓1000个包,并且保存到1.cap文件中?
tcpdump -nn -s0 host 192.168.0.111 and port 80 -c 1000 -w 1.cap
-nn:告诉 tcpdump 不要解析网络名称
-s0:设置每个包的抓取大小为 0,这意味着捕获每个包的完整大小,而不仅仅是默认的 68 字节。
host 192.168.0.111:指定要捕获的数据包必须包含主机
and port 80:指定要捕获的数据包必须包含端口 80,即 HTTP 端口。
-c 1000:设置捕获的数据包数量为 1000 个。一旦捕获了 1000 个符合条件的数据包,tcpdump 将停止捕获。
-w 1.cap:将捕获的数据包写入文件 1.cap。-w 选项用于指定输出文件
41、在Linux下如何指定dns服务器,来解析某个域名?
使⽤dig命令用来指定,例如使⽤⾕歌DNS解析百度
dig @8.8.8.8 www.baidu.com
42、给您⼀台最小化安装的linux机器,如何进行基础优化?
1、更新yum官方源
2、关闭不需要的服务(声卡)
3、关闭不需要的TTY (TTY:终端设备)
4、对TCP/IP⽹络参数进⾏调整。例如:优化Linux下的内核TCP参数以提⾼系统性能。
5、设置时间同步
6、优化最大文件数限制
7、关闭selinux (安全)
(setenforce 0:临时关闭)(/etc/selinux/config enforcing改为disabled:永久关闭)
8、修改SSH登录配置
删除不必要的系统用户和群组
9、设置一些全局变量
10、设置history历史记录
11、centos6.4最小安装后启动网卡
12、添加普通用户,设置sudo权限
13、防火墙iptables设置(stop firewall)
14、安装必要的软件,更新yum源 (update)
15、去除上次登录的信息(在/var/log/wtmp里面查看并设置)