Linux 模糊面试题
1.linux 中管道“|” 的作用?
将前一个的输出结果,交由后面的命令处理,当做后面命令的参数。
==========================================================
2.编译源码包过程介绍:
采用源码编译的方式安装软件包,有哪些基本过程、各自的作用是什么?
答:tar解包:解压、释放安装包内的文件。
.configgure 配置:针对当前系统环境指定安装目录、选择功能等设置。
Make编译:将源代码编译成二进制的可执行程序、库文件扥数据。
Make install:将编译好的程序文件、配置文档等复制到对应的安装目录。
==========================================================
3.Linux 目录结构介绍:
Linux 系统的根目录下主要包括哪些文件夹,各自的作用是什么?
/boot 存放Linux内核、引导配置等启动文件
/bin 存放最基本的用户命令,普通用户有权限执行。
/dev 存放硬盘、键盘、鼠标、光驱等各种设备文件。
/etc 存放各种配置文件、配置目录
/home 存放普通用户的默认工作文件夹(即 宿主目录、家目录)
/root Linux系统管理员(超级用户)root的宿主目录。
/sbin 存放最基本的管理命令,一般是管理员才有权限执行。
/usr 存放额外安装的应用程序、源码编译文件、文档等各种用户资料
/var 存放日志文件、用户邮箱目录、进程运行数据等变化的文档。
/tmp 存放系统运行过程中使用的一些临时文件。
================================================
4.find命令的扩展
在Linux中find常见的选项都有哪些,都有什么作用?
答: -type:按照文件类型查找
-name:按照文件名称查找
-size:按照文件大小查找
-mtime:按照内容修改的时间
-iname:根据名称查找,忽略大小写
-uid:根据UId查找,属于这个用户的文件
-gid:根据gid查找,属于这个组的文件
-user:根据用户名查找,查找属于这个用户的
-group:根据组名查找,查找属于这个组的
-nouser:查找这个文件不属于任何用户
-nogroup:查找这个文件不属于任何组的
-maxdepth:限制目录查找的深度
-inum:根据文件i节点编号查找
==========================================================
5.描述RHEL 6.X 系统的引导过程?
答:加载BIOS,检查硬件信息
读取并执行第一个开机设备内MBR
运行grup引导加载kernel
内核启动/sbin/init程序
Init系统初始化
确定默认的运行级别
触发runlevel 事件,运行/etc/rc.d/rc
最后执行/etc/rc.d/rc.local
加载终端或X-Window接口
===================================================
6.SSH协议简介
OpenSSH 服务器使用的协议、默认端口、主配置文件分别是什么?SSH与Telnet应用的区别在哪里?
答:OpenSSH使用TCP协议,默认端口是22,配置文件/etc/ssh/sshd_config.
SSH 的英文全称是Secure Shell,即安全外壳,SSH会把传输过程中的数据加密,且支持压缩以提高传输速度,而Telnet在网络上以明文传送口令和数据,安全级别低,容易受攻击。
==========================================================
7.Linux 常见的系统日志文件都有哪些,各自的用途?
答:/var/log/messages 内核及公共消息日志
/var/log/cron 计划任务日志
/var/log/dmesg 系统引导日志
/var/log/maillog 邮件系统日志
/var/log/secure 记录与访问限制相关日志
================================================
8.常见的Linux开机设置文件
/etc/fatab: 实现开机自动挂载设备的配置文件
/etc/initab:定义开机进入默认级别的配置文件
/etc/rc.local: 定义开机自定义任务的配置文件
==========================================================
9.FTP协议简介:
FTP服务器在传输层使用的协议,默认端口、FTP主目录绝对路径?
答:
FTP服务器在传输层使用的协议是tcp
默认端口:21
FTP主目录绝对路径:/var/ftp
==========================================================
10.Suid,sgid,sticky bit的作用?
Suid: 以属主的身份运行程序
Sgid:在目录中创建的文件继承所在目录的属主
Stricky bit :用户只能修改,删除自己的文件
==========================================================
11.描述Linux系统优化的12个步骤:
(1)登录系统:不使用root登录,通过sudo授权管理,使用普通用户登录。
(2)禁止SSH远程:更改默认的远程连接SSH服务及禁止root远程连接。
(3)时间同步:定时自动更新服务器时间。
(4)配置yum更新源,从国内更新下载安装rpm包。
(5)关闭selinux及iptables(iptables 工作场景如有wan ip,一般需要打开,高并发除外)。
(6)调整文件描述符数量,进程及文件的打开都会消耗文件描述符。
(7)定时自动清理/var/spool/clientmquene/目录垃圾文件,防止节点被占满(C6.4 默认没有sendmail,因此可以不配)。
(8)精简开机启动服务(crond、sshd、network、rsyslog)
(9)Linux内核参数优化/etc/sysctl.conf,执行sysct -p 生效
(10)更改字符集,支持中文,但是还是建议使用英文,防止乱码问题出现。
(11)锁定关键系统文件(chattr +i /etc/passwd / etc/shadow /etc/group /etc/gshadow /etc/inittab 处理以上内容后,把chatter改名,就更安全了)
(12)清空/etc/issue,去除系统及内核版本登录前的屏幕显示。
==========================================================
12.描述Linux运行级别0-6的各自含义:
0:关机模式
1:单用户模式<==破解root 密码
2:无网络支持的多用户模式
3:有网络支持的多用户模式(文本模式,工作中最常用的模式)
4:保留,未使用
5:有网络支持的X-window 支持多用户模式(桌面)
6:重新引导系统,即重启。
==========================================================
13.描述Linux下软连接和硬链接的区别:
在Linux系统中,链接有两种,一种是硬链接(Hard link),另一种称为符合链接或者软连接(Symboilc Link ).
1)默认不带参数的情况下,ln 创建的是硬链接,带-s参数的ln命令创建的是软连接。
2)硬链接文件与源文件的inode节点相同,而软连接文件的inode节点号,与源文件不同。
3)Ln命令不能对目录创建硬链接,但可以创建软连接,对目录的软连接会经常使用到。
4)删除文件的硬链接文件,对源文件及软连接文件没有任何影响。
5)删除文件的硬链接文件,对源文件及软连接文件无任何影响。
6)删除连接文件的源文件,对硬链接文件无影响,会导致其软连接失效(红底白字闪烁状)
7)同时删除源文件及其硬链接文件,整个文件会被真正的删除。
8)很多硬件设备的快照功能,使用的就是类似硬链接的原理。
9)软连接可以跨文件系统,硬链接不可以跨文件系统。
===========================================================
14.生产场景如何对Linux系统进行合理规划分区?
分区的根本原则就是简单,易用,方便批量管理
根据角色定位建议如下:
1)单机服务器:如8G内存,300G硬盘
分区: /boot 100-200M, swap 16G ,内存大小 8G*2, / 80G,
/var 20G(可以不分), /data 180G(存放web及db数据)
优点:数据盘和系统盘分开,有利于出问题时维护。
RAID方案:视数据及性能要求,一般可采用raid5 折中。
========================================================
2)负载均衡(如LVS等)
分区: /boot 100-200M , swap 内存的1.5倍, / 。
优点:简单方便,只做转发数据量很少。
RAID方案:数据量小,重要性高,可采用RAID1
3)负载均衡下的RS server
分区:/boot 100-200M ,swap 内存的1.5倍, / 。
优点:简单方便,因为有多机对数据要求低。
RAID方案:数据量大,重要性不高,有性能要求,数据要求低,可采用RAID 0。
===========================================================
4)数据库服务器mysql及oracle 如16/32G内存
分区:/boot 100-200M ,swap 16G , 内存的1倍, / 100G,
/data 剩余(存放db数据)。
优点:数据盘和系统盘分开,有利于出问题时维护,及保持数据完整。
RAID方案:视数据及性能要求主宰可采用raid10/raid5,从库可采用raid 0 提高性能(读取分离的情况下。)
5)存储服务器:
分区:/boot 100-200M,swap 内存的1.5倍,/ 100G , /data(存放数据)
优点:次服务器不要分区太多,只做备份,性能要求低,容量要大。
RAID方案:可采用SATA盘,raid5。
6)共享存储服务器(如NFS)
分区:/boot 100-200M,swap 内存的1.5倍,/ 100G , /data(存放数据)
优点:次服务器不要分区太多,NFS共享比存储多的要求就是性能要求。
RAID方案:视性能及访问要求可以raid 5,raid10,甚至raid 0(要求高可用或者双写方案)。
7)监控服务器cacti,nagios :
分区:/boot 100-200M,swap 内存的1-2倍, / 。
优点:重要性一般,数据要求也一般。
RAID方案:单盘或双盘raid1 即可。三盘就是RAID5,看容量要求加盘即可。
==========================================================
15.描述Linux下文件删除的原理:
Linux系统是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除。一般来说每个文件两个link计数器来控制i_ciunt和i_nlink.当一个文件被一个程序占用的时候i_count 就加1。当文件的硬链接多一个的时候i_nlink也加1。删除一个文件,就是让这个文件,没有进程占用,同时i_link数量为0。
==========================================================
16.描述Vi编译器的使用:
1)vi编译器是linux系统下最基本和最常用的标准文本编译器。
2)Vi编译器有三种工作模式:普通、编译、命令。
3)普通模式下的键盘输入任何字符都是当作命令来执行的,也可以输入命令进行光标的移动,字符、单词、行的复制、粘贴以及删除等操作。
4)编译模式主要用于文本的输入。在该模式下,用户输入的任何字符都被作为文本的内容保存起来。
5)命令模式下,用户可以对文件进行一些如字符串的查找、替换、显示行号等操作还是必须要进行命令模式的。
6)在普通模式下输入冒号即可进入命令模式,此时vi窗口的状态行会显示冒号,等待用户输入命令。“i”插入模式,即可进行编辑。用户输入完成后,按ESC键之后编译器又会回到普通模式下,在命令模式下,保存退出,可以使用的命令为wq和X,前面加!表示强制退出,强制保存等。
==========================================================
17.描述下列路径的内容是做什么的?
/var/log/messages 系统日志文件
/var/log/secure 系统安全文件(显示登录信息文件)
/var/spool/clientmqueue 例行性任何回执邮件存放文件
/proc/interrupts 当前系统中断报告文件
/etc/fstab 开机自动挂载磁盘的配置文件
/etc/profile 环境变量存放的文件
========================(后续持续更新)==================================