一、基础面试题
1、解释Linux中的目录结构和文件路径的含义。
答案:Linux中的目录结构是一个树形结构,根目录为/,每个目录都有一个唯一的路径名。文件路径是用来指定文件位置的字符串,由目录和文件名组成,中间用斜杠分隔。1
2、解释apt-get命令和yum命令的区别。
答案:apt-get是Debian系列Linux发行版的包管理工具,基于Debian的包管理机制,具有严格的权限控制,适合服务器使用。yum是Red Hat系列Linux发行版的包管理工具,基于RPM包管理机制,权限控制较为宽松,适合个人用户使用。
3、解释硬链接和软链接的区别。
答案:硬链接是对文件或目录的引用计数,与文件或目录在同一个文件系统中。软链接(符号链接)是一个指向文件或目录的路径的文本文件,可以在不同的文件系统中创建。
软链接可以建立对于文件和目录的链接.可以跨文件系统,即可以跨磁盘分区.软链接的文件类型位是l,链接文件具有新的i节点.
硬链接不可以跨文件系统.它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的i节点同被链接文件的i节点相同.
4、解释超级用户和普通用户的区别。
答案:超级用户(root)拥有对系统的完全控制权,可以更改系统设置、安装软件、修改文件等。普通用户则受到一定的权限限制,不能进行一些超级用户才能进行的操作。
5、解释文件权限位和执行位的作用。
答案:文件权限位用于指定文件所有者、组和其他用户的读、写和执行权限。执行位表示可执行文件是否可以被执行。
6、解释日志文件的作用和常见的日志文件有哪些。
答案:日志文件记录了系统运行过程中发生的事件和数据,用于监控系统状态、排查问题等。常见的日志文件包括/var/log/messages、/var/log/auth、/var/log/syslog等。
7、解释防火墙的作用和使用方法。
答案:防火墙用于保护网络边界和内部网络的安全,可以根据预设的规则允许或拒绝数据包的传输。常见的防火墙工具有iptables、firewalld等。
8、简述vim,less,more的区别和联系。
区别:vim可查看更改文件内容,less可上下查看,more只能向下查看
联系:都可以查看文件内容,more和less可按v键进行vim编辑文件
9、Linux下,如何查看所有用户
cat /etc/passwd
13k
10、安装vim命令:
yum -y install vim*
二.进阶简答题
1.简述buffer和cache的区别
buffer和cache都是内存中的一块区域,当CPU需要写数据到磁盘时,由于磁盘速度比较慢,所以CPU先把数据存进buffer,然后CPU去执行其他任务,buffer中的数据会定期写入磁盘;当CPU需要从磁盘读入数据时,由于磁盘速度比较慢,可以把即将用到的数据提前存入cache,CPU直接从Cache中拿数据要快的多
2.简述linux网络无法连接的排错思路
(1)网线是否插好
(2)网卡驱动是否正常,通过ping 127查看
(3)使用ip a命令查看ip是否正确,路由信息是否正确
(4)查看dns的状态
(5)查看防火墙设置
3.简述客户端无法连接服务器某个端口的排错思路
(1)服务器上查看端口是否存在
(2)查看防火墙设置
(3)查看TCP wrapper的设置
(4)查看selinux设置
(5)查看启动该端口的服务对客户端连接的配置
(6)查看是否是该客户端问题
4.在本地linux上为192.168.1.10的root用户设置免密码登录的方式
(1)通过ssh-keygen设置公私钥
(2)通过ssh-copy-id 192.168.1.10将公钥发送到10服务器
(3)执行ssh 192.168.1.10验证免密码登录
5.离线环境,如何配置本地yum源,说说大致过程。
(1)创建镜像挂载点:
mkdir /mnt/dvd
(2)挂载镜像
mount /dev/cdrom /mnt/dvd
或mount -t iso9660 /dev/cdrom /mnt/cdrom
永久保存:echo “mount -t iso9660 /dev/cdrom /mnt/cdrom” >> /etc/rc.local
(3)创建yum备份
cd /etc/yum.repos.d
mkdir back
mv * back
(4)配置本地yum源文件(也可以从从back目录中拷贝出模板文件:CentOS-Media.repo)
vim /etc/yum.repos.d/local.repo
[RHEL6] //仓库名称,可随意
name=all rhel6 packages //名称,可随意
baseurl=file:///mnt/dvd //源路径,很重要,根据你的实际情况进行填写
gpgcheck=0 //不开启检查
enable=1 //启用本yum源
5、简述nginx的文件结构
1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
4、server块:配置虚拟主机的相关参数,一个http中可以有多个server。
5、location块:配置请求的路由,以及各种页面的处理情况。
6、nginx负载均衡模式有哪些,如何配置负载均衡
Nginx 提供轮询(round robin)、IP 哈希(client IP)和加权轮询 3 种方式,默认情况下,Nginx 采用的是轮询
轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
upstream backserver {
server 192.168.1.14;
server 192.168.1.15;
}
加权轮询
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
upstream backserver {
server 192.168.1.14 weight=1;
server 192.168.1.15 weight=2;
}
ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream backserver {
ip_hash;
server 192.168.0.14;
server 192.168.0.15;
}
重试策略
可以为每个 backserver 指定最大的重试次数,和重试时间间隔,所使用的关键字是 max_fails 和 fail_timeout。
upstream backserver {
server 192.168.1.14 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.1.15 weight=2 max_fails=2 fail_timeout=30s;
}
失败重试次数为3,且超时时间为30秒。
热机策略
upstream backserver {
server 192.168.1.14 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.1.15 weight=2 max_fails=2 fail_timeout=30s;
server 192.168.1.16 backup;
}
当所有的非备机(non-backup)都宕机(down)或者繁忙(busy)的时候,就会使用由 backup 标注的备机。必须要注意的是,backup 不能和 ip_hash 关键字一起使用。
3):
配置静态资源缓存需要在http块中增加
##cache##
proxy_connect_timeout 500;
#跟后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_read_timeout 600;
#连接成功后_等候后端服务器响应的时间_其实已经进入后端的排队之中等候处理
proxy_send_timeout 500;
#后端服务器数据回传时间_就是在规定时间内后端服务器必须传完所有数据
proxy_buffer_size 128k;
#代理请求缓存区_这个缓存区间会保存用户的头信息以供Nginx进行规则处理_一般只要能保存下头信息即可
proxy_buffers 4 128k;
#同上 告诉Nginx保存单个用的几个Buffer最大用多大空间
proxy_busy_buffers_size 256k;
#如果系统很忙的时候可以申请更大的proxy_buffers 官方推荐*2
proxy_temp_file_write_size 128k;
#proxy缓存临时文件的大小
proxy_temp_path E:/nginx/temp;
#用于指定本地目录来缓冲较大的代理请求
proxy_cache_path E:/nginx/cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=10g;
##cache##
然后在使用的server块中增加location
location ~ .*.(gif|jpg|jpeg|png|bmp|swf|ioc|ico|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma|css|js|html|htm)$ {
#所有静态文件直接读取硬盘
proxy_redirect off;
proxy_pass http://assets; #转发到具体的静态。如果是前后端分离。转发的就是配置的具体路径
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache cache_one;
expires 30d;
# proxy_connect_timeout 1; #多个服务做负载。一台服务挂了。立马做切换
# proxy_send_timeout 30;
# proxy_read_timeout 60;
}