28个运维经典面试题

温柔似野鬼°
604次浏览
2021年02月18日 12:15
最佳经验
本文由作者推荐

属龙的今年多大-

2021年2月18日发(作者:chirstmas)


1



Linux


如何挂 载


windows


下的共享目录?




//IP


地址


/server /mnt/server -o user=administrator,password=123456


linux


下的


server


需要自己手动建一个



后面的


user



pass



windows


主机的账号和密码



注意空格



和逗号





2


、如何查看


http


的并发请求数与其


TCP


连接状态?

< br>



netstat -


n | awk ‘/^tcp/ {++b[$$NF]}’ END {for(a in b) print a,b[a]}’



还有


ulimit


-n


查看


linux


系统打开最大的文件描述符,这里默认


1024


,不修 改这里


web


服务器修改再大也没用。


若要用就修改很几个办法,这里说其中一个:



修改


/etc/security/



soft nofile 10240


hard nofile 10240


重启后生效




3


、如何用


tcpdump


嗅探


80


端口的访问看 看谁最高?




tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -


F”.” ‘{print $$1″.”$$2″.”$$3″.”$$4″.”}’ | sort |uniq


-c | sort -nr | head-5

< p>
4


、如何查看


/var/log

< br>目录下的文件数?




ls /var/log/ -


1R | grep “


-


” | wc


-l

< p>
5


、如何查看


Linux


系统每个


ip


的连接数?




netstat -


n | awk ‘/^tcp/ {print $$5}’ | awk


-


F: ‘{print $$1}’ | sort | uniq


-c | sort -rn


< br>6



shell


下生成


32


位随机密码




cat /dev/urandom | head -1 | md5sum | head -c 32 >> /pass



7


、统计出


apache



< /p>


中访问量最多的


5


ip



cat | awk ‘{print $$1}’ | sort | uniq


-c | sort -n -r | head -5



8


、如何查看二进制文件的内容?




我们一般通过


hexdump


命令



来查看二进制文件的内容。



hexdump -C XXX(


文件名


) -C


是参数



不同的参数有不同的意义



-C


是比较规范的



十六进制和

< p>
ASCII


码显示



-c


是单字节字符显示



-b


单字节八进制显示



-o


是双字节八进制显示



-d


是双字节十进制显示



-x


是双字节十六进制显示




9



ps aux

< br>中的


VSZ


代表什么意思,


RS S


代表什么意思?




VSZ:


虚拟内存集


,


进程占 用的虚拟内存空间



RSS:


物理内存 集


,


进程战用实际物理内存空间




10


、如何检测并修复


/dev/hda5





fsck


用来检查和维护不一致的文件系统。若系统掉电或磁盘 发生问题,可利用


fsck


命令对文件系统进行检查

< p>



11


、介绍下


Linux


系统的开机启动顺序




加载


BIOS



>


读取


MBR


>Boot Loader



>


加载内核–


>


用户层

< br>init


一句


inittab


文 件来设定系统运行的等级


(


一般


3


或者



5



3


是多用户命令行,


5


是界面


)



>init


进程执行


t



>

< p>
启动内核模块–


>


执行不同级别运行的脚本程序–


>


执行


/etc/rc.d/(


本地运行服务


)



>


执行


/bin/login,


就可以登 录了。




12


、符号链接与硬链接的区别




我们可以把符号链接,也就是软连接



当做是



windows


系统里的



快捷方式。



硬链接



就好像是



又复制了一份,举例说明:



ln


这是硬链接,相当于复制,不可以跨分区,但修改


3,4


会跟着变,若删除


3,4


不受任何影响。



ln -s


这是软连接,相当于快 捷方式。修改


4,3


也会跟着变,若删除


3,4


就坏掉了。不可以用了。




13


、保存当前磁盘分区的分区表




dd


命令是以个强大的命令,在复制的同时进行转换




dd if=/dev/sda of=./ bs=1 count=512


14


、如何在文本里面进行复制、粘贴, 删除行,删除全部,按行查找和按字母查找?




以下操作全部在命令行状态操作,不要在编辑状态操作。



在文本里



移动到想要复制的行




yy


想复制到哪就移动到哪,然后按


P


就黏贴了



删除行



移动到改行




dd


删除全部



dG

这里注意


G


一定要大写



按行查找



:90

< br>这样就是找到第


90




按字母查找



/path


这样就是



找到


path


这个单词所在的位置,


文本里可能存在多个


,


多次查找会显示在不同的位置。




15


、手动安装


grub



grub-install /dev/sda


16


、修改内核参数




vi /etc/


这里修改参数



sysctl -p


刷新后可用



17

、在


1-39


内取随机数




expr $$[RANDOM%39] +1


RANDOM


随机数



%39


取余数范围


0-38



18


、限制


apache


每秒新建连接数为


1


,峰 值为


3



每秒新建连接数



一般都是由防火墙来 做,


apache


本身好像无法设置每秒新建连接数,只能设置 最大连接:




iptables -A INPUT -d 172.16.100.1 -p tcp



dport 80 -m limit



limit 1/second -j ACCEPT


19



FTP


的主 动模式和被动模式




FTP


协议有两种工作方式:


PORT


方式和


PASV


方式,中文意思为主动式和被动式。




PORT


(主动)方式的连接过程是 :客户端向服务器的


FTP


端口(默认是


21


)发送连接请



求,服务器接受 连接,


建立一条命令链路。当需要传送数据时,客户端在命令链路上用

< br>PORT


命令告诉服务器:“我打开了


XX

< p>
端口,你


过来连接我”。于是服务器从


20


端口向客户端的



XX


端口发送连接请求,建立一条数据链路来传送数据。




PASV


(被动)方式的连接过程是:客户端向服务器的

< p>
FTP


端口(默认是


21


)发送连接请



求,服务器接受连接,


建立一条命令链路。当需要传送数据时,服务器在命令链路上用


PASV


命令告诉客户端:“我打开了


XX


端口,你


过来连接我”。于是客户端向服务器的


XX


端口



发送连接请求,建立一条数据链路来传送数据。



从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完



全不同。




20


、显示


/etc/inittab


中以


#


开头,且后面跟了一个或者多个空白字符,而 后又跟了任意非空白字符的行




grep “^#


{1,


}[^]” /etc/inittab



21


、显 示


/etc/inittab


中包含了


:


一个数字


:(


即两个冒号中间一个数 字


)


的行




grep “


:[0-9]{1


}:” /etc/inittab



22


、怎 么把脚本添加到系统服务里,即用


service


来调用?




在脚本里加入




#!/bin/bash


# chkconfig: 345 85 15


# description: httpd


然后保存



chkconfig httpd



add


创建系统服务



现在就可以使用


service




start or restart



23


、写一个脚本 ,实现批量添加


20


个用户,用户名为


user01-20


,密码为


user


后面跟


5


个随机字符




#!/bin/bash


#description: useradd


for i in `seq -


f”%02g” 1 20`;do



useradd user$$i


echo “user$$i


-`echo $$RANDOM|md5sum|cut -c 1-


5`”|passwd –


stdinuser$$i >/dev/null 2>&1


done


24

< p>
、写一个脚本,实现判断


192.168.1.0/24

< br>网络里,当前在线的


IP


有哪些,能

ping


通则认为在线




#!/bin/bash


for ip in `seq 1 255`


do


ping -c 1 192.168.1.$$ip > /dev/null 2>&1

属龙的今年多大-


属龙的今年多大-


属龙的今年多大-


属龙的今年多大-


属龙的今年多大-


属龙的今年多大-


属龙的今年多大-


属龙的今年多大-