1、linux如何挂在windows下的共享目录?
mount -t cifs -o username=windows登陆账号,password="windows账号对应的密码"//16.187.190.50/test /mnt/linux目标文件夹
或者 muout.cifs //本机IP地址/test /mut/linux目标文件夹 -o username="windows登陆账号",password="windows账号对应的密码"
【评析】这套题其实是蛮有难度,从第一题就能看出来,有点下马威的意思。挂载本身不难,但是挂载到windows共享目录在实际中应用到场合不多,所以这道题有条件可以自己试试,没条件就背下来。注意空格,注意逗号。
2、查看http的并发请求数与其TCP连接状态
netstat -n | awk '/^tcp/ {++b[$NF]} END {for(a in b) print a, b[a]}'
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 -10
4、查看当前系统每个IP的连接数
netstat -n | awk '/^tcp/ {print $5}'| awk -F: '{print $1}' | sort | uniq -c | sort -rn
5、shell下32位随机密码生成并且保存到/mima.txt文件里
cat /dev/urandom|head -1|md5sum|head -c 32 >/mima.txt
【评析】/dev/urandom这个文件可以尝试cat一下,里面的东西我是看不懂,即使后面加上head -1我依旧看不懂,但是加上md5sum我就能看懂了。其实head后面-1也行,-2也行,-100也行,只要别是太大的数字都可以。
/dev/urandom这个东西要比/dev/random好用,因为后者会有堵塞的问题,前者一样安全而且速度还很快。
6、统计出apache的access.log中访问量最多的5个IP
cat access_log | awk '{print $1}' | sort | uniq -c | sort -n -r | head -5
7、CentOS查看/监测网卡流量的命令
watch more /proc/net/dev
【评析】现在有的面试官自觉不自觉的就把“网络工程师”的任务跟“运维工程师”的任务混为一谈,如果面试官顺便问cisco机器如何监察网络流量,步骤如下:
执行命令:configure terminal 回车进入全局配置模式;
执行命令:interface fastEthernet 0/1 回车进入端口0/1;
执行命令:ip accounting 回车;
exit:退出全局配置模式;
执行:show ip accouting , 回车就可以查看了。
8、ps aux 中的VSZ代表什么意思?RSS代表什么意思?
VSZ:虚拟内存集,进程所占用的虚拟内存的大小
RSS:实际内存集,进程所占用的实际内存的大小
9、符号链接与硬链接的区别
硬链接是复制,享用同一个inode,不能跨分区,不能连目录,a变b也变,但是a删b不删。
符号链接就是-s,不享用同一个inode,可以跨分区可以连目录,等于“快捷方式”。
10、保存当前磁盘分区的分区表
11、如何在文本里面进行复制、粘贴,删除行,删除全部,按行查找和按字母查找。
在vim的命令状态下,先用:set nu显示每一行对应的行号,然后使用"5G"这种格式对应到第五行,若要删除该行就是dd;如果复制4行,那就是“4yy”,然后再需要复制的地方按p。如果需要在1~20行里把“AAA”替换成“BBB”那么命令就是:/1,20s/AAA/BBB/gc
【评析】如果遇到的是比较有板有眼的块型文档,可以使用awk命令直接切块,也可以在vim状态下使用ctrl+v切块,然后y一下确定所切块的范围,最后在需要粘贴的地方p一下。
12、手动安装grub
grub-install /dev/sda/
13、检测并修复/dev/hda5
e2fsck -p /dev/hda5
【评析】如果要求是“检查 /dev/hda5 是否正常,如果有异常便自动修复,并且设定若有问答,均回答[是] ”,那么语句就是e2fsck -a -y /dev/hda5
14、在1-39内取随机数
echo $[$RANDOM%39]
【评析】echo $RANDOM就是随机在0~32767出数。这个知识点和上面那个随机出32位密码的还是蛮常考的。
15、限制apache每秒新建连接数为1,峰值为3
iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m limit --limit 1/second -j ACCEPT
16、FTP的主动模式和被动模式
主动模式:客户机向服务器的21端口主动发送请求,账户密码验证成功之后,客户机打开一个随机端口(应该是大于1024的口)然后用port命令通知服务器端,“我已经摆好姿势,一个大于1024的口在等待你”,然后服务器端的20口跟客户端的口建立连接,开始数据的传输。在主动模式里,是服务器端主动把数据给客户端。
被动模式:客户机向服务器的21端口主动发送请求,账户密码验证成功之后,服务器端开启一个随机端口,然后用pasv命令告诉给客户端,“我已经摆好姿势,一个随机口在等待你”,然后服务器端也开启一个随机的端口,然后两个随机的端口连接起来用来互通数据。在被动模式里,是客户端把数据从服务器端拉取到自己的电脑内。
【评析】无论是主动模式还是被动模式都是针对服务器而言的,画个图来解释一下主动模式:
被动模式的图如下:
补充一下,如果服务器端的iptables只开启了20端口和21端口,其他的全部都reject的话,是无法启动被动模式的,因为没有一个随机端口去用来发送数据,而且被动模式能用就用,主动模式能不用就不用。
17、显示/etc/inittab中以#开头,且后面跟了一个或者多个空白字符,而后又跟了任意非空白字符的行
grep '^# \{1,\}[^ ]' /etc/inittab
18、显示/etc/inittab中包含了:一个数字:(即两个冒号中间一个数字)的行
grep '\:[1-9]\{1\}\:' /etc/inittab
19、统计/data/mysql目录里的普通文件个数
find /data/mysql/ -type f|wc -l
【评析】是-type f不是type -f,这个细节上别犯错。
20、用33m的颜色打出“天下英雄唯使君与操耳”这句话。
echo -e "\E[1;33m 天下英雄唯使君与操耳 \E[1;31m"
或者 echo -e "\E[1;33m" "天下英雄唯使君与操耳" $(tput sgr0)
21、怎么把脚本添加到系统服务里,即用service来调用
#!/bin/bash
# chkconfig: - 90 10
# description: just a test
echo "Hello,$1"
# mv test /etc/init.d/
# chmod +x /etc/init.d/test
# chkconfig --add test
# service test start //可以看到Hello,start表示成功
22、写一个脚本,实现批量添加20个用户,用户名为user1-20,密码为user后面跟5个随机字符
Shell
#!/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 �Cstdinuser$i >/dev/null 2>&1
done
23、写一个脚本,实现判断192.168.1.0/24网络里,当前在线的IP有哪些,能ping通则认为在线
#!/bin/bash
for ip in `seq 1 255`
do
{
ping -c 1 192.168.1.$ip > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo 192.168.1.$ip UP
else
echo 192.168.1.$ip DOWN
fi
}&
done
24、写一个脚本,判断一个指定的脚本是否是语法错误;如果有错误,则提醒用户键入Q或者q无视错误并退出其它任何键可以通过vim打开这个指定的脚本
#!/bin/bash
read -p "please input check script->" file
if [ -f $file ]; then
sh -n $file > /dev/null 2>&1
if [ $? -ne 0 ]; then
read -p “You input $file syntax error,[Type q to exit or Type vim toedit]” answer
case $answer in
q | Q)
exit 0
;;
vim)
25、数据中有10000个数,其中某个数重复率打到50%以上,求快速找出这数的方法的思路
10000个数分成两两一组,然后比较不相同去掉,相同的留下,如果一次不能得到结果,再做一次,最终会得到结果
=================================分割线============================================
这套题很经典,一些比较牛掰的公司拿来做笔试题是很够格的,问的东西很常用而且还需要一点绕弯弯。但是这套题最好是理解而不是100%的死记硬背,因为这套题实在是臭了大街了,几乎每个论坛都有。面试官应该不会再原模原样的拿出来考人。
几个脚本的编写也很经典,但是笔试的时候应该考的可能性不大,因为写出来太费时间,即使写出来了面试官也不能一下子就看出来个准确,主要是给大家练手。