linux企业运维面试题精讲

@linux企业运维面试题精讲
一、口述题
1、解释下什么是 GPL GNU,自由软件
GPL全称为 General Public License,中文名为通用公共许可,是一个最著名的开源
许可协议,开源社区最著名的 Linux内核就是在GPL许可下发布的。GPL许可是由自
由软件基金会创建的。
GNU计划由Richard Stallman(理查德•马修•斯托曼)发起,主要目标是创建GNU操作系统,其内容软件完全以GPL方式发布。GNU名称来自GNU’s Not Unix!的缩写,汉语意思即gnu不是unix系统。1985年理查德•马修•斯托曼又创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持。
2、如何选择 linux操作系统版木?
学习 Linux 操作系统,需要选择不同的发行版本,Linux 操作系统是一个大类别,Linux
操作系统主流发行版本包括:Red Hat Linux、CentOS、Ubuntu、SUSE Linux、Fedora Linux

  1. Red Hat Linux
    Red Hat Linux 是最早的 Linux 发行版本之一,同时也是最著名的 Linux 版本,Red Hat
    Linux 已经创造了自己的品牌,也是读者经常听到的“红帽操作系统”。Red Hat 1994 年创立,目前公司全世界有 3000 多人,一直致力于开放的源代码体系,向用户提供一套完整的服务,这使得它特别适合在公共网络中使用。这个版本的 Linux 也使用最新的内核,还拥有大多数人都需要使用的主体软件包
  2. CentOS
    社区企业版操作系统(Community Enterprise Operating System,CentOS)是 Linux 发行
    版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码所编译而成。由于出自同样的
    源代码,因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux使用。CentOS 于 Red Hat Linux 不同之处在于 CentOS 并不包含封闭的源代码软件,可以开源免费使用,得到运维人员、企业、程序员的青睐,CentOS 发行版操作系统是目前企业使用最多的系统之一,2016年12月12日,CentOS基于 Red Hat Enterprise Linux 的 CentOS Linux7 (1611) 系统正式对外发布。
  3. Ubuntu
    Ubuntu 是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨
    语的“ubuntu”一词(译为吾帮托或乌班图),意思是“人性”、“我的存在是因为大家的存在”,
    是非洲传统的一种价值观。
    Ubuntu 基于 Debian 发行版和 GNOME 桌面环境, Ubuntu 发行版操作系统的目标在于
    为一般用户提供一个最新的、同时稳定的以开放自由软件构建而成的操作系统,目前 Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。
  4. SUSE Linux
    SUSE(发音 /ˈsuːsə/),SUSE Linux 出自德国,SuSE Linux AG 公司发行维护的 Linux 发
    行版,是属于此公司的注册商标 2003 年 11 月 4 日,Novell 表示将会对 SUSE 提出收购。收购的工作于 2004 年 1 月完成。Novell 也向大家保证 SUSE 的开发工作仍会继续下去,Novell 更把公司内全线电脑的系统换成 SUSE LINUX,并同时表示将会把 SUSE 特有而优秀的系统管理程序 - YaST2 以 GPL授权释出
  5. Fedora Linux
    Fedora 是一个知名的 Linux 发行版,是一款由全球社区爱好者构建的面向日常应用的快
    速、稳定、强大的操作系统。它允许任何人自由地使用、修改和重发布,无论现在还是将来。
    它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码
    的软件和开放的标准。
    3、安装系统时如何给 linux操作系统分区?
    方案1:针对网站集群架构中的某个节点服务器分区,该服务器上的数据有多份(其他节点也有)且数据不太重要,建议的分区方案如下。
    /boot:设置为100~200MB。
    swap:物理内存的1.5倍,当内存大于或等于8GB时,配置为8~16GB即可。
    /:剩余硬盘空间大小(/usr、home、/var等分区和“/”共用一个分区,这相当于在 Windows系统中只有一个C盘,所有数据和系统文件都放在一起)。
    方案2:针对数据库及存储角色的服务器分区,该服务器的业务有大量重要的数据,建议分区方案如下。
    /boot:设置为100~200MB。
    /:大小设置为50~200GB,只存放系统相关文件,网站等的业务数据不放在这里。
    swap:物理内存的1.5倍,当内存大于或等于8GB时,配置为8~16GB即可。
    data:剩余硬盘空间大小,放数据库及存储服务等重要数据。当然,data的名称也可以换成别的名字。
    本方案其实就是把重要数据单独分区,便于备份和管理。
    方案3:针对大网站或门户级别企业的服务器进行分区
    /boot:大小设置为100MB。
    swap:物理内存的1.5倍,当内存大于或等于8GB时,配置为8~16GB即可。
    /:大小设置为50~200GB,只存放系统相关文件,网站等的业务数据不存放在这里。
    剩余的磁盘空间保留,不再进行分区,将来分配给不同的使用部门,由他们自己根
    据需求再分!
    此种分区方案更灵活,比较适合业务线比较多、需求不确定的大企业使用
    4、描述 Linux系统的启动过程?
    (1) 加载 BIOS(2) 读取 MBR(3) GRUB 引导(4) 加载 Kernel
    (5) 设定 Inittab 运行等级(6) 加载 rc.sysinit(7) 加载内核模块
    (8) 启动运行级别程序(9) 读取 rc.local 文件(10) 执行/bin/login 程序

5、请说出你知道的20个Linux命令及作用
Mkdir touch vi vim cat cp rm cd mv ls echo grep tar zip yum rpm find tree sed chown chmod useradd userdel usermod groupadd groupdel groupmod rz alias unalias head tail pwd seq ln mount df fdisk ifconfig ping wget clear id su passwd ifup ifdown setup nl date man xrags free
./configure make parted
6、请解释下linux的运行级别。
0关机模式
1单用户模式
2无NFS的多用户模式
3文本模式(完整的多用户模式)
4未使用的
5图形模式
6重启模式
7、32位和64位系统的区别及如何选择?
32 位操作系统表示 32 位 CPU 对内存寻址的能力;
 64 位操作系统表示 64 位 CPU 对内存寻址的能力;
 32 位的操作系统安装在 32 位 CPU 处理器和 64 位 CPU 处理器上;
 64 位操作系统只能安装 64 位 CPU 处理器上;
 32 位操作系统对内存寻址不能超过 4GB;
64 位操作系统对内存寻址可以超过 4GB,企业服务器更多安装 64 位操作系统,支
持更多内存资源的利用;
 64 位操作系统是为高性能处理需求设计,数据处理、图片处理、实时计算等领域需求;
 32 位操作系统是为普通用户设计,普通办公、上网冲浪等需求64 位操作系统对内存寻址可以超过 4GB,企业服务器更多安装 64 位操作系统,支持更多内存资源的利用;
 64 位操作系统是为高性能处理需求设计,数据处理、图片处理、实时计算等领域需求;
 32 位操作系统是为普通用户设计,普通办公、上网冲浪等需求
根据以上特点,最好选择64位操作系统
8、什么是PATH环境变量,它有什么作用?
PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径。比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根本不在这个两个目录下,事实上当你输入命令的时候LINUX会去/bin,/usr/bin,/sbin等目录下面去找你此时输入的命令,而PATH的值恰恰就是/bin:/sbin:/usr/bin:……。其中的冒号使目录与目录之间隔开
1.如何过滤出已知当前目录下 中的所有一级目录提示(不包含当前目录下面目
录的子目录及隐藏目录,即只能是一级目录)?
正则表达式:
解答
分析过程:要完成此题,我们首先要想如何区分目录和文件?
思路思想方法:
1、根据颜色区分文件和目录(浅蓝色是目录,默认是深蓝色)。
2、ls -l输出结果中以d(全拼 directory)开头的就是目录。
3、Is -l输出结果中第二列数字大于1的就是目录(文件没有硬链接的情况下是对的)。
在这里插入图片描述
5、通过给目录加标识,然后通过滤标识,就过滤出目录(ls -F或ls -p)。
6、 通过给目录加标识,然后通过滤标识,就过滤出目录(ls -F或ls -p)。
7、通过给目录加标识,然后通过滤标识,就过滤出目录(ls -F或ls -p)。
在这里插入图片描述
其实很简单,下面的ls -l结果中以d开头的就是目录,我们需要做的就是只能把这些目录打印出来。
这就是我们所说的确定要做的目标或分析具体需求。
2假如当前目录是
[ root @songls dzqc]#pwd#=>这是打印当前目录的,最菜的命令了,你该会的。
现在因为需要进入到了tmp目录下进行操作,执行的命令如下:
[root@songls songls ]# cd / tmp
[root@songls songls]# pwd
操作完毕后,希望快速返回上一次进入的目录,即 dzqc目录,该如何做呢?(提示:不
能用cd /dzqc命令)
cd -
3.一个目录中有很多文件(ls查看时好多屏),想最快速度查看到最近更新的文件。如何看?
解答:
本题答案为:
1s -lrt /etc #=>执行这个命令后最新的文件会在最下面。
#→以长格式按照修改时间倒序排列文件和目录,这样最近创建或修改的文件或目录就在窗口最下面了
ls -lrt / etc
4、在配置 apache时执行了 configure -prefix= application /apache22.17来编译 apache,在make install完成后,希望用户的访问路径更简单,需要给/ application/ apache2217目录做个软链接/ application/ apache,使得内部开发或管理人员通过/ application/ apache就可以访问到 apache的安装目录 /application/ apache2217下的内容,请你给出实现的命令。(提示:apache为一个httpd web服务)
解答:对于 linux初学者,本题有点难度,认真看题记住就好了,后面还会讲解。
本题的答案为
Ln -s / application/ apache2.2.17 application/ apache#→-s参数表示为创建软链接。
5、已知 apache服务的访问日志按天记录在服务器本地目录/ app/logs下,由于磁盘空间紧张,
现在要求只能保留最近7天访问日志!请问如何解决?请给出解决办法或配置或处理命令。
(提示:可以从 apache服务配置上着手,也可以从生成出来的日志上着手。)
解答: apache日志测试数据:企业面试题)
为了更好演示,先用以下脚本创建日志文件
for n in seq 8;do date -s "2019/04/KaTeX parse error: Expected group after '_' at position 20: …ouch access_www_̲(date +%F).log;done
紧接着,删除7天以前的日志
find /app/logs -mtime +7 -name “*.log”|xargs rm -rf {}
6、调试系统服务时,希望能实时查看系统日志/var/log/messages更新,如何做?
解答:
方法一:此法最常用
tail-f/var/log/messages
提示:对于没环境测试的同学可以,开两个窗口,然后自己手工通过 echo ‘内容’>/var/log/ messages的方式模拟 messages多次更新测试(也可写脚本),然后另一个窗口tail -f/var/log/ messages查看。
man tail
7、打印配置文件 nginx. conf内容的行号及内容,该如何做?
解答: nginx和 apache是不同的网页服务软件,是同类,就像男人和女人都是人类一样。
解答:这里提供7个方法

  1. nl nginx.conf
    2)cat-n nginx. conf<这个最常用。
    3)less -n nginx.conf
    4)ⅵ文件然后执行: set nu,; set nonu为取消行号。
    5)grep-n./etc/services←对过滤的内容显示行号,想对所有文件显示行号,就得过滤所
    有内容。“.”表示任意单个字符。
    6)awk’{ print NR, $0} messages←NR表示行号,$0表示整行内容。
    7)sed=assess.log| sed‘N;s/\n//’
    8、装完系统后,希望让网络文件共享服务NFS,仅在3级别上开机自启动,该如何做?
    解答:什么是开机自启动,杀毒软件大家都知道吧,例如:360等每次开机都会自动起来对吧,我们就需要360这样,在 linux下软件服务随系统启动而启动的配置。
    方法1:全部关掉然后开启需要的级别的服务
    第一种文件配置方法,可以把要启动的服务的命令放在/etc/rc.local里
    方法2:全部关掉然后开启需要的级别的服务。
    chkconfig nfs off
    #→默认2,3,4,5级别都是开启状态,所以需要先都关了。当然也可以 chkconfig --level l245 nfs off.
    chkconfig --1ist nfs#→直接接服务名效率更佳
    nfs 0: off 1: off 2: off 3: off 4: off 5: off 6: off
    chkconfig --level 3 nfs on
    9、linux系统运行级别一般为0-6,请分别写出每个级别的含义。
    解答:
    0关机模式
    1单用户模式
    2无NFS的多用户模式
    3文本模式(完整的多用户模式)
    4未使用的
    5图形模式
    6重启模式
    10、Iinux系统中查看中文乱码,请问如何解决乱码问题?
    什么是字符集?
    简单的说就是一套文字符号及其编码。常用的字符集有:
    GBK
    定长双字节不是国际标准,支持的系统不少
    UTF-8非定长14字节泛支持, MYSQL也使用UTF-8
    当然了,字符集还有很多,讲到数据库时会详细讲这部分内容。
    解答:
    echo $lANG→这个系统的环境变量就是控制字符显示的。
    提示:要注意字符集的大小写

    echo’LANG=“zh_ CN.UTF-8”’>>etc/ sysconfig/i18n#写到配置文件里永
    久生效。
    [ root@oldboy oldboy]# source/etc/ sysconfig/i18n#→如需让配置立即生效需要执行此步。
    11、系统如何进行合理优化
    12、
    命令总结:
    31、history查看及清理历史记录-c清空所有-d删除指定历史记录
    32、dmseg命令可以系统故障信息↓
    33、ifup和 ifdown启动和停止网卡,可以接网卡名 ifup eth0。小
    34、nlnl- number lines显示行号
    35、less和more相反回车一次一行,空格向下一次一屏,按b可以一次回退一屏。↓
    36、more按页一次一屏。回车一次一行,空格向下一次一屏。不能回退。↓
    37、wc显示-l(1ines)总行数L最大行的长度。
    38、 chkconfig设置服务开机自启动的命令,–1ist查看自动服务↓
    level levels
    chkconfig --level levels sshd off [on]
    chkconfig–1ist显示所有服务
    chkconfig-- list sshd查看指定服务是否开机自启动

猜你喜欢

转载自blog.csdn.net/qq_44865556/article/details/89485398