分享

2018 新浪 Linux 运维面试题

 万皇之皇 2018-01-24

1. 查找文件后缀是 log 的三天前的文件删除和三天内没修改过的文件

find / -name “.log” -mtime +3 -exec rm fr {} ; find /log ! -mtime -3

2. 写一个脚本将目录下大于 100kb 的文件移动到 /tmp 下

fimd / -size +100k -exec mv {} /tmp ;

3. 将数据库备份并打包传递到远程服务器 192.168.1.1 的 /backup 目录下

mysqldump -u root -p database > database.sql ;tar -czvf database.tar.gz database.sql ; rsync -avP ./database.tar.gz root@192.168.1.1:/backup

4. 日志如下统计访问 ip 最多的前 10 个

awk ‘{print $1}’ *.log | sort | uniq -c | sort -nr | head -n

5. 把 /usr/local/ 替换成其他的目录

sed -i ‘s//usr/local// 目录 /g’ 文件

6. 查看服务器程序运行级别和修改运行级别,和服务的运行级别

查看:who -r 修改:etc/inittab 服务运行级别 chkconfig –list vsftp 修改:chkconfig –level 345 vsftp on

7. 用 tcpdump 截取本机 ip 192.168.23.1 80 端口的包

tcpdump tcp port 80 host 192.168.23.1

Tcpdump -w test host 192.168.1.1 and tcp port 80

8. 用 tcpdump 截取 ip 192.168.23.1 访问主机 ip 192.168.23.2 的 80 端口的包

tcpdump host 192.168.23.1 and 192.168.23.2 and dst port 80

9. 用 iptables 将 192.168.0.100 的 80 端口映射到 59.15.17.231 的 8080 端口

iptables -t nat -A PREROUTINT -p tcp -d 192.168.0.100 –dport 80 -j DNAT –to-destination 59.15.17.231:8080

10. 本机的 80 端口转发到 8080

iptables -t nat -A PREROUTING -p tcp –dport -j REDIRECT –to-ports 8080

11. 禁止一个用户登录,但可以使用 ftp

修改 etc/passwd 最后一个字段 改成 /bin/nologin

12. 获取 1.txt 中第二行第三列的数据,输出到 2.txt

cat 1.txt|awk ‘NR==2{print $3}’ > 2.txt

13. 查看 Linux 系统当前单个共享内存段的最大值

ipcs -a

14. 用什么命令查询指定 IP 地址的服务器端口

nmap 127.0.0.1

15. 如何让 history 命令显示具体时间

HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S'

16. 查看 Linux 系统当前加载的库文件

lsof |grep /lib

17. 查看当前系统某一硬件的驱动版本。比如网卡

ethtool –i eth0

18.DNS 服务器有哪三种类型

主 从 转发

19. 查看 3306 端口被谁 占用

lsof -i:3306

20. 查看占用内存最大的 5 个进程

ps -aux|sort -k4nr|head -n 5

21. 查看占用内存最大的进程的 PID 和 VSZ

ps -aux|sort -k5nr|awk ‘BEGIN{print “PID VSZ”}{print $2,$5}’|awk ‘NR<3’

22. lsof -p 12 看进程号为 12 的进程打开了哪些文件

23. 同时执行 a 和 b 等 a 和 b 都执行完执行 c

#!/bin/bash

./a.sh &

./b.sh &

wait

echo adf

24.snmpdf 通过 SNMP 监视远程主机的磁盘空间

snmpdf -v 1 -c public localhost

获取 192.168.6.53 的所有开放端口状态

snmpnetstat -v 2c -c public -a 192.168.6.53

25. 简述编译 kernel 的大体步骤

(1) 下载解压缩新版本的内核到 /usr/src 下

(2) 将以前版本链接删除,建立新的连接

(3) 编译内核,编译模块,安装模块

(4) 修改 grub.conf ,然后重启

26.diff/patch 的作用和用法

命令 diff A B > C , 一般 A 是原始文件,B 是修改后的文件,C 称为 A 的补丁文件。

patch A C 就能得到 B, 这一步叫做对 A 打上了 B 的名字为 C 的补丁

27. 执行 bin/myprog 返回 0 打印 ok 1 打印 bad 2 打印 error 其他打印 wrony

./bin/myprog

if $? = 0 ;then

echo'OK'

elif $? =1 ;then

echo'bad'

else

echo'error'

fi

28. 求一组数的最大值和最小值

#!/bin/sh

min=$1

max=$1

sum=$1

shift

while [$# -gt 0]

do

if [$min -gt $1]

then

min=$1

fi

if [$max -lt $1]

then

max=$1

fi

sum=expr $sum +$1

shift

done

sum=echo '$sum/5'|bc -l

echo min=$min

echo max=$max

echo aver=$sum

28. 执行可执行程序 test 并把输出和错误写到 err.log

./test > & err.log

29. 用 telnet 连接校内服务器 mail.xiaonei.com 发一封信

mail -v -s “hello” root@192.168.23.1

30. 添加路由表并查看

route add -net 203.208.39.104 netmask 255.255.255.255 gw 192.168.1.1

netstat –r

31. 正则匹配 ip

((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d).){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[1-9])

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多