文章目录
Linux面试题
1.截取ip,统计访问次数,从大到小
http://192.168.200.10/index1.html
http://192.168.200.10/index2.html
http://192.168.200.20/index1.html
http://192.168.200.30/index1.html
http://192.168.200.40/index1.html
http://192.168.200.30/order.html
http://192.168.200.10/order.html
cat test.txt |cut -d '/' -f 3 |sort |uniq -c |sort -nr
3 192.168.200.10
2 192.168.200.30
1 192.168.200.40
1 192.168.200.20
2.统计链接到服务器的IP数,从大到小
netstat -an |grep ESTABLISHED |awk -F ' ' '{print $5}'|cut -d ':' -f 1|sort |uniq -c|sort -nr
2 192.168.204.1
3.mysql忘记root密码
1.skip鉴权
vi /etc/my.cnf
追加skip-grant-tables
service mysqld restart
2.不用输入密码登录mysql,重置root密码
mysql -u root -p
use mysql
update user set authentication_string=password("jianzongtianxiadiyi") where user='root';
flush privilege
exit
3.注销skip鉴权
vi /etc/my.cnf
#skip-grant-tables
4.统计访问量前两位的ip
cat acccess.log |awk -F ' ' '{print $1}' |sort |uniq -c |sort -nr|head -2
7 192.168.130.20
2 192.168.130.25
5.使用tcpdump监听本机,将来自ip:port的数据保存输出到log
tcpdump:抓包工具
tcpdump -i ens33 host 192.168.204.1 and port 22 >> /opt/tcpdump.log
6.Linux权限系统划分时,应该考虑那些因素
1.权限分离:例如Linux系统权限与数据库权限不要在同一部门
2.权限最小原则:
3.减少使用root用户,尽量使用sudo
4.锁定重要系统文件,如chattr +i /etc/paaswd
,任何用户都不能useradd
解锁:chattr -i /etc/passwd
进一步增加安全性:移动chattr
命令到其他路径下,并改名。
5.使用chkrootkit
检测rootkit脚本
6.利用Tripwire
检测文件系统完整性
7.列举Linux高级命令,至少6个
netstat //网络状态监控
top //进程监控
lsblk //查看磁盘分区
ps -aux //查看进程
chkconfig //查看服务启动状态
systemctl //服务管理工具
8.Linux查看内存、io读写、磁盘存储、端口占用、进程查看的命令
top //查看内存
iotop //io读写
df -lh //磁盘存储
netstat -tunlp //端口占用
ps -aux //进程查看
9.第二列求和
cat test123.txt |awk -F ' ' '{SUM+=$2} END {print SUM}'
10.shell脚本检测一个文件是否存在
if [ -f 文件名 ];then
echo "存在"
else
echo "不存在"
fi
11.写一个shell,对一列数字排序、将总和输出
sort -nr t.txt |awk '{SUM+=$0; print $0} END {print SUM}'
12.文本文件中包含有cat的所有文件
grep -r "cat" /home |grep -w "cat"|cut -d ":" -f 1
13.统计某目录文件数、总行数
# 统计文件数
find /home/zyt -name "*.*" |wc -l
# 统计总行数
find /home/zyt -name "*.*" |xargs wc -l
14.web服务器负载架构
Nginx
Haproxy
Keepalived
LVS
15.定时备份
#!/bin/bash
cd /opt
tar -zcf /opt/mysql/jdk-`date +%Y-%m-%d_%H:%M:%S`.tar.gz jdk/
30 20 * * * /opt/test.sh
16.如何优化Linux
架构优化、原则分析
1.单体变集群
2.网络
3.磁盘IO
4.文件数
5.安全性
6.防火墙
7.内存
Linux本身优化
1.不用root,实用sudo
2.定时自动更新服务器时间
3.配置yum源指向国内镜像
4.配置合理的防火墙原则
5.打开最大文件数vim /etc/profile ulimit -SHn 65535
6.配置合理的监控策略
7.配置合理的系统重要文件备份策略
8.对安装的软件进行优化
9.内核参数优化
10.锁定重要系统文件
11.禁用不必要服务setup
ntsysv