无锡网站建设原则,企业网站规划要求,简单网站建设合同,外贸网站优化哪家好Linux 面试题-(腾讯,百度,美团,滴滴)
分析日志t.log(访问量)#xff0c;将各个ip 地址截取#xff0c;并统计出现次数,并按从大到小排序(腾讯)
http://192.168.200.10/index1.html http://192.168.200.10/index2.html http://192.168.200.20/index1.html http://192.168.20…Linux 面试题-(腾讯,百度,美团,滴滴)
分析日志t.log(访问量)将各个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 t.txt | cut -d ‘/’ -f 3 | sort | uniq -c | sort -nr
统计连接到服务器的各个ip 情况并按连接数从大到小排序(腾讯)
netstat -an | grep ESTABLISHED | awk -F ‘{print $5}’ | cut -d “:” -f 1 | sort | uniq -c| sort -nr 问题如忘记了mysql5.7 数据库的ROOT 用户的密码如何找回? (滴滴)
修改 vim /etc/my.cnf 添加一句话 跳过权限表 skip -grant -tables 这就意味这你登录的时候不走认证所以空密码也可以登录 重启 数据库 mysqld restart 这样刚刚配置的才会生效
在这里插入图片描述
登录 mysql -u root -p 不输入密码直接回车 查看所有的数据库 使用 mysql数据库 看看有哪些表 使用user表 查看这个字段 修改这个字段 打马赛克的是自己设的密码 刷新权限 flush privileges; 退出 再打开vim /etc/my.cnf 注销第2步的跳过权限认证 重启 写出指令统计ip 访问情况要求分析nginx 访问日志(access.log)找出访问页面数量在前2 位的ip(美团)
cat access.log | awk -F ‘{print $1}’ | sort | uniq -c | sort -nr | head -2
使用tcpdump 监听本机, 将来自ip 192.168.200.1tcp 端口为22 的数据保存输出到tcpdump.log , 用做将来数据分析(美团) tcpdump -i ens33 host 192.168.200.1 and port 22 /home/tcpdump.log
常用的Nginx 模块用来做什么(头条)
rewrite 模块实现重写功能
access 模块来源控制
ssl 模块安全加密
ngx_http_gzip_module网络传输压缩模块
ngx_http_proxy_module 模块实现代理
ngx_http_upstream_module 模块实现定义后端服务器列表
ngx_cache_purge 实现缓存清除功能
如果你是系统管理员在进行Linux 系统权限划分时,应考虑哪些因素?腾讯
首先阐述Linux 权限的主要对象 根据自己实际经验谈考虑因素 注意权限分离比如: 工作中Linux 系统权限和数据库权限不要在同一个部门 权限最小原则(即:在满足使用的情况下最少优先) 减少使用root 用户尽量用普通用户sudo 提权进行日常操作。 重要的系统文件比如/etc/passwd, /etc/shadow etc/fstab/etc/sudoers 等,日常建议使用chattr(change attribute)锁定,需要操作时再打开。
使用SUID, SGID, Sticky 设置特殊权限。
可以利用工具比如chkrootkit/rootkit hunter 检测rootkit 脚本rootkit 是入侵者使用工具,在不察觉的建立了入侵系统途径
利用工具Tripwire 检测文件系统完整性 权限操作思考题 用户tom 对目录/home/test 有执行x 和读r 写w 权限/home/test/hello.java 是只读文件问tom 对hello.java 文件能读吗(ok)? 能修改吗(no)能删除吗?(ok) 用户tom 对目录/home/test 只有读写权限/home/test/hello.java 是只读文件问tom 对hello.java 文件能读吗(no)? 能修改吗(no)能删除吗(no)?
用户tom 对目录/home/test 只有执行权限x/home/test/hello.java 是只读文件问tom 对hello.java 文件能读吗(ok)?能修改吗(no)能删除吗(no)?
用户tom 对目录/home/test 只有执行和写权限/home/test/hello.java 是只读文件问tom 对hello.java 文件能读吗(ok)? 能修改吗(no)能删除吗(ok)?
问题列举Linux 高级命令至少6个(百度)
netstat //网络状态监控top //系统运行状态lsblk //查看硬盘分区find
ps -aux //查看运行进程chkconfig //查看服务启动状态systemctl //管理系统服务器
问题Linux 查看内存、io 读写、磁盘存储、端口占用、进程查看命令是什么?(瓜子)
top, iotop, df -lh , netstat -tunlp , ps -aux | grep 关心的进程
使用Linux 命令计算t2.txt 第二列的和并输出(美团)
张三40
李四50
王五60
cat t2.txt | awk -F ‘{sum$2} END {print sum}’
Shell 脚本里如何检查一个文件是否存在并给出提示(百度)
if [ -f 文件名] then echo “存在” else echo “不存在” fi
用shell 写一个脚本对文本t3.txt 中无序的一列数字排序, 并将总和输出(百度)
9
8
7
6
5
4
3
2
10
sort -nr t3.txt | awk {sum$0; print $0} END {print 和sum}请用指令写出查找当前文件夹/home下所有的文本文件内容中包含有字符“cat”的文件名称(金山)
grep -r “cat” /home |cut -d “:” -f 1
请写出统计/home 目录下所有文件个数和所有文件总行数的指令(在金山面试题扩展)
find /home/test -name *.* | wc -l
find /home/test -name *.* | xargs wc -l列出你了解的web 服务器负载架构(滴滴)
Nginx
Haproxy
Keepalived
LVS
每天晚上10 点30 分打包站点目录/var/spool/mail 备份到/home 目录下每次备份按时间生成不同的备份包比如按照年月日时分秒(滴滴) 如何优化Linux 系统 说出你的方法(瓜子)
对Linux 的架构的优化和原则分析(示意图) 对linux 系统本身的优化-规则 (1) 不用root ,使用sudo 提示权限 (2) 定时的自动更新服务时间,使用nptdate npt1.aliyun.com , 让croud 定时更新 (3) 配置yum 源指向国内镜像(清华163) (4) 配置合理的防火墙策略,打开必要的端口关闭不必要的端口 (5) 打开最大文件数(调整文件的描述的数量) vim /etc/profile ulimit -SHn 65535 (6) 配置合理的监控策略 (7) 配置合理的系统重要文件的备份策略 (8) 对安装的软件进行优化比如nginx ,apache (9) 内核参数进行优化/etc/sysctl.conf (10) 锁定一些重要的系统文件chattr /etc/passwd /ect/shadow /etc/inittab (11) 禁用不必要的服务setup , ntsysv
说明Centos7 启动流程并说明和CentOS6 相同和不同的地方(腾讯) 第一步、硬件启动阶段
这一步和CentOS6差不多详细请看图
第二步、GRUB2引导阶段
从这一步开始CentOS6和CentOS7的启动流程区别开始展现出来了。CentOS7的主引导程序使用的是grub2。
这一步的流程显示加载两个镜像再加载MOD模块文件把grub2程序加载执行接着解析配置文件/boot/grub2/grub.cfg根据配置文件加载内核镜像到内存之后构建虚拟根文件系统最后转到内核。
第三步、内核引导阶段
这一步与CentOS6也差不多加载驱动切换到真正的根文件系统唯一不同的是执行的初始化程序变成了/usr/lib/systemd/systemd
第四步、systemed初始化阶段又叫系统初始化阶段
主要区别
CentOS7中我们的初始化进程变为了systemd。执行默认target配置文件/etc/systemd/system/default.target
这是一个软链接与默认运行级别有关。然后执行sysinit.target来初始化系统和basic.target来准备操作系统。
接着启动multi-user.target下的本机与服务器服务
并检查/etc/rc.d/rc.local文件是否有用户自定义脚本需要启动。
最后执行multi-user下的getty.target及登录服务检查default.target是否有其他的服务需要启动。注意/etc/systemd/system/default.target指向了/lib/systemd/system/目录下的graphical.target或multiuser.target。而graphical.target依赖multiuser.targetmultiuser.target依赖basic.targetbasic.target依赖sysinit.target所以倒过来执行。
System概述了解systemd即为system daemon是Linux下的一种init软件开发目标是提供更优秀的框架以表示系统服务间的以来关系并依此实现系统初始化时服务的并行启动同时达到降低Shell系统开销的效果最终代替现在常用的System V与BSD风格的init程序。
与多数发行版使用的System V风格的init相比systemd采用了以下的新技术A.采用Socket激活式与总线激活式服务以提高相互依赖的各服务的并行运行性能B.用Cgroup代替PID来追踪进程即使是两次fork之后生成的守护进程也不会脱离systemd的控制。
unit对象unit表示不同类型的systemd对象通过配置文件进行标识和配置文件中主要包含了系统服务、监听socket、保存的系统快照以及其他与init相关的信息。也就是CentOS6中的服务器启动脚本