功能
归档
363
2017 年 01 月 06 日
常见的Linux系统简单面试题(一)

用于Linux运维面试专用,持续更新中~

适用与任何一名运维工程师

2017-01-06更新


1.如何查看当前Linux系统有几颗物理CPU和每颗CPU的核数?

cat /proc/cpuinfo | grep -c 'physical id'
cat /proc/cpuinfo | grep -c 'processor'

2.如何查看系统负责?

w
 10:27:34 up 10 days, 53 min,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/1    180.175.44.36    Fri16    6.00s  0.09s  0.00s w
root     pts/2    180.175.44.36    Fri16   11:42   0.18s  0.18s -bash

uptime
 10:27:40 up 10 days, 54 min,  2 users,  load average: 0.00, 0.01, 0.05
#其中load average即系统负载,三个数值分别表示一分钟、五分钟、十五分钟内系统的平均负载,即平均任务数。

3.vmstart命令的含义?

#一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数
vmstat 2 1

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 4  0      0 162904 144716 593008    0    0     1    98   25   15  1  0 99  0  0
#2表示每个两秒采集一次服务器状态,1表示只采集一次。如果不加次数,表示一直采集下去,不想监控了,便直接结束即可。

#r 即running,表示正在跑的任务数
#b 即blocked,表示被阻塞的任务数
#swpd 虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了
#free 空闲的物理内存的大小
#buff Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存
#cache cache直接用来记忆我们打开的文件,给文件做缓冲
#si 表示有多少数据从交换分区读入内存
#so 表示有多少数据从内存写入交换分区
#bi 表示有多少数据从磁盘读入内存
#bo 表示有多少数据从内存写入磁盘
#in 每秒CPU的中断次数,包括时间中断
#cs 每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目
#us 用户CPU时间
#sy 系统CPU时间
#id  空闲 CPU时间
#wa st 等待IO CPU时间

#简记:i --input,进入内存
#o --output,从内存出去
#s --swap,交换分区
#b --block,块设备,磁盘
单位都是KB

4.linux系统里,您知道buffer和cache如何区分吗?

buffer和cache都是内存中的一块区域,当CPU需要写数据到磁盘时,由于磁盘速度比较慢,所以CPU先把数据存进buffer,然后CPU去执行其他任务,buffer中的数据会定期写入磁盘;当CPU需要从磁盘读入数据时,由于磁盘速度比较慢,可以把即将用到的数据提前存入cache,CPU直接从Cache中拿数据要快的多。

5.如何实时查看网卡流量为多少?如何查看历史网卡流量?

安装sysstat包,使用sar命令查看
yum install -y sysstat      #安装sysstat包

sar -n DEV          #查看网卡流量,默认10分钟更新一次
sar -n DEV 1 10     #一秒显示一次,一共显示10次
sar -n DEV -f /var/log/sa/sa22  #查看指定日期的流量日志

6.能否给一个网卡配置多个IP? 如果能,怎么配置?

拷贝原网卡配置文件重名为ifcfg-eth0:1文件
cp -p /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1
vim /etc/sysconfig/network-scripts/ifcfg-eth0:1

DEVICE="eth0:1"
BOOTPROTO="dhcp"
IPV6INIT="no"
MTU="1500"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="5200c8cb-aace-4850-9807-1dc868f9a1cf"
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
DNS1=114.114.114.114
DNS2=8.8.8.8

重启网络服务
service network restart

7.如何备份某个用户的任务计划?

cd /var/spool/cron/
ls
root
#备份root文件即可

8.如何可以把系统中不用的服务关掉?

(1)使用可视化工具:ntsysv
(2)使用命令:chkconfig servicename off

9.rsync 同步命令中,下面两种方式有什么不同呢?

(1) rsync -av  /dira/  ip:/dirb/
(2) rsync -av  /dira/  ip::dirb

(1)前者是通过ssh方式同步的
(2)后者是通过rsync服务的方式同步的

10.rsync 同步时,如果要同步的源中有软连接,如何把软连接的目标文件或者目录同步?

同步源文件需要加-L选项

11.某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?

用户身份验证过程记录在/var/log/secure中
登录成功的信息记录在/var/log/wtmp。

12.分别使用xargs和exec实现这样的需求,把当前目录下所有后缀名为.txt的文件的权限修改为777

(1) find ./ -type f -name "*.txt" | xargs chmod 777
(2) find ./ -type f -name "*.txt" -exec chmod 777 {} ;

13.在Linux下如何指定dns服务器,来解析某个域名?

使用dig命令:dig @DNSip  domain.com
eg:dig @8.8.8.8 www.baidu.com#使用谷歌DNS解析百度

14.发现公司网站访问速度变的很慢很慢,你该怎么办呢?

(服务器可以登陆,提示:你可以从系统负载和网卡流量入手)

可以从两个方面入手分析:分析系统负载,使用w命令或者uptime命令查看系统负载,如果负载很高,则使用top命令查看CPU,MEM等占用情况,要么是CPU繁忙,要么是内存不够,如果这二者都正常,再去使用sar命令分析网卡流量,分析是不是遭到了攻击。一旦分析出问题的原因,采取对应的措施解决,如决定要不要杀死一些进程,或者禁止一些访问等。

15.rsync使用服务模式时,如果我们指定了一个密码文件,那么这个密码文件的权限应该设置成多少才可以?

600或400
zhifubao_pay                weixin_pay

本站的发展离不开您的资助,金额随意,感谢来赏!


转载原创文章请注明,转载自: 林里克斯 » 常见的Linux系统简单面试题(一)
留言
Loading...

发表评论

电子邮件地址不会被公开。 必填项已用*标注