39条常见的Linux系统简单面试题
39条常见的Linux系统简单面试题
本文主要分享39条常见的Linux系统简单面试题,其中包括如何看当前Linux系统有几颗物理CPU和每颗CPU的核数、如何实时查看网卡流量为多少等等,希望对你有所帮助。
1、如何看当前Linux系统有几颗物理CPU和每颗CPU的核数?
答:[root@centos6 ~ 10:55 #35]# cat /proc/cpuinfo|grep -c 'physical id'
4
[root@centos6 ~ 10:56 #36]# cat /proc/cpuinfo|grep -c 'processor'
4
2、查看系统负载有两个常用的命令,是哪两个?这三个数值表示什么含义呢?
答:[root@centos6 ~ 10:56 #37]# w
10:57:38 up 14 min, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.147.1 18:44 0.00s 0.10s 0.00s w
[root@centos6 ~ 10:57 #38]# uptime
10:57:47 up 14 min, 1 user, load average: 0.00, 0.00, 0.00
其中load average即系统负载,三个数值分别表示一分钟、五分钟、十五分钟内系统的平均负载,即平均任务数。
3、vmstat r, b, si, so, bi, bo 这几列表示什么含义呢?
答:[root@centos6 ~ 10:57 #39]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 1783964 13172 106056 0 0 29 7 15 11 0 0 99 0 0
r即running,表示正在跑的任务数
b即blocked,表示被阻塞的任务数
si表示有多少数据从交换分区读入内存
so表示有多少数据从内存写入交换分区
bi表示有多少数据从磁盘读入内存
bo表示有多少数据从内存写入磁盘
简记: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、使用top查看系统资源占用情况时,哪一列表示内存占用呢?
答: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
301 root 20 0 0 0 0 S 0.3 0.0 0:00.08 jbd2/sda3-8
1 root 20 0 2900 1428 1216 S 0.0 0.1 0:01.28 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
VIRT虚拟内存用量
RES物理内存用量
SHR共享内存用量
%MEM内存用量
6、如何实时查看网卡流量为多少?如何查看历史网卡流量?
答:安装sysstat包,使用sar命令查看。
yum install -y sysstat#安装sysstat包,获得sar命令
sar -n DEV#查看网卡流量,默认10分钟更新一次
sar -n DEV 1 10#一秒显示一次,一共显示10次
sar -n DEV -f /var/log/sa/sa22#查看指定日期的流量日志
7、如何查看当前系统都有哪些进程?
答:ps -aux 或者ps -elf
[root@centos6 ~ 13:20 #56]# ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 2900 1428 ? Ss 10:43 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 10:43 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 10:43 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 10:43 0:00 [ksoftirqd/0]
……
[root@centos6 ~ 13:21 #57]# ps -elf
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 0 0 80 0 - 725 - 10:43 ? 00:00:01 /sbin/init
1 S root 2 0 0 80 0 - 0 - 10:43 ? 00:00:00 [kthreadd]
1 S root 3 2 0 -40 - - 0 - 10:43 ? 00:00:00 [migration/0]
1 S root 4 2 0 80 0 - 0 - 10:43 ? 00:00:00 [ksoftirqd/0]
1 S root 5 2 0 -40 - - 0 - 10:43 ? 00:00:00 [migration/0]
8、ps 查看系统进程时,有一列为STAT, 如果当前进程的stat为Ss 表示什么含义?如果为Z表示什么含义?
答:S表示正在休眠;s表示主进程;Z表示僵尸进程。
9、如何查看系统都开启了哪些端口?
答:[root@centos6 ~ 13:20 #55]# netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1035/sshd
tcp 0 0 :::22 :::* LISTEN 1035/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 931/dhclient
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 6825 1/init @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 8429 1003/dbus-daemon /var/run/dbus/system_bus_socket
10、如何查看网络连接状况?
答:[root@centos6 ~ 13:22 #58]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 192.168.147.130:22 192.168.147.1:23893 ESTABLISHED
tcp 0 0 :::22 :::* LISTEN
udp 0 0 0.0.0.0:68 0.0.0.0:*
……
11、想修改ip,需要编辑哪个配置文件,修改完配置文件后,如何重启网卡,使配置生效?
答:使用vi或者vim编辑器编辑网卡配置文件/etc/sysconfig/network-scripts/ifcft-eth0(如果是eth1文件名为ifcft-eth1),内容如下:
DEVICE=eth0
HWADDR=00:0C:29:06:37:BA
TYPE=Ethernet
UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.147.130
NETMASK=255.255.255.0
GATEWAY=192.168.147.2
DNS1=192.168.147.2
DNS2=8.8.8.8
修改网卡后,可以使用命令重启网卡:
ifdown eth0
ifup eth0
也可以重启网络服务:
service network restart
12、能否给一个网卡配置多个IP? 如果能,怎么配置?
答:可以给一个网卡配置多个IP,配置步骤如下:
cat /etc/sysconfig/network-scripts/ifcfg-eth0#查看eth0的配置
DEVICE=eth0
HWADDR=00:0C:29:06:37:BA
TYPE=Ethernet
UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.147.130
NETMASK=255.255.255.0
GATEWAY=192.168.147.2
DNS1=192.168.147.2
DNS2=8.8.8.8
(1)新建一个ifcfg-eth0:1文件
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1
(2)修改其内容如下:vim /etc/sysconfig/network-scripts/ifcfg-eth0:1
DEVICE=eth0:1
HWADDR=00:0C:29:06:37:BA
TYPE=Ethernet
UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.147.133
NETMASK=255.255.255.0
GATEWAY=192.168.147.2
DNS1=192.168.147.2
DNS2=8.8.8.8
(3)重启网络服务:
service network restart
13、如何查看某个网卡是否连接着交换机?
答:mii-tool eth0 或者 mii-tool eth1
14、如何查看当前主机的主机名,如何修改主机名?要想重启后依旧生效,需要修改哪个配 置文件呢?
答:查看主机名:hostname
centos6.5
修改主机名:hostname centos6.5-1
永久生效需要修改配置文件:vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=centos6.5-1
15、设置DNS需要修改哪个配置文件?
答:(1)在文件 /etc/resolv.conf 中设置DNS
(2)在文件 /etc/sysconfig/network-scripts/ifcfg-eth0 中设置DNS
16、使用iptables 写一条规则:把来源IP为192.168.1.101访问本机80端口的包直接拒绝
答:iptables -I INPUT -s 192.168.1.101 -p tcp --dport 80 -j REJECT
17、要想把iptable的规则保存到一个文件中如何做?如何恢复?
答:使用iptables-save重定向到文件中:iptables-save > 1.ipt
使用iptables-restore反重定向回来:iptables-restore < 1.ipt
18、如何备份某个用户的任务计划?
答:将/var/spool/cron/目录下指定用户的任务计划拷贝到备份目录cron_bak/下即可
cp /var/spool/cron/rachy /tmp/bak/cron_bak/
19、任务计划格式中,前面5个数字分表表示什么含义?
答:依次表示:分、时、日、月、周
20、如何可以把系统中不用的服务关掉?
答:(1)使用可视化工具:ntsysv
(2)使用命令:chkconfig servicename off
21、如何让某个服务(假如服务名为 nginx)只在3,5两个运行级别开启,其他级别关闭?
答:先关闭所有运行级别:chkconfig nginx off
然后打开35运行级别:chkconfig --level 35 nginx on
22、rsync 同步命令中,下面两种方式有什么不同呢?
(1) rsync -av /dira/ ip:/dirb/
(2) rsync -av /dira/ ip::dirb
答:(1)前者是通过ssh方式同步的
(2)后者是通过rsync服务的方式同步的
23、rsync 同步时,如果要同步的源中有软连接,如何把软连接的目标文件或者目录同步?
答:同步源文件需要加-L选项
24、某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?
答:用户身份验证过程记录在/var/log/secure中,登录成功的信息记录在/var/log/wtmp。
25、网卡或者硬盘有问题时,我们可以通过使用哪个命令查看相关信息?
答:使用命令dmesg
26、分别使用xargs和exec实现这样的需求,把当前目录下所有后缀名为.txt的文件的权限修改为777
答:(1)find ./ -type f -name "*.txt" |xargs chmod 777
(2)find ./ -type f -name "*.txt" -exec chmod 777 {} ;
27、有一个脚本运行时间可能超过2天,如何做才能使其不间断的运行,而且还可以随时观察脚本运行时的输出信息?
答:使用screen工具
28、在Linux系统下如何按照下面要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
答:tcpdump -nn -s0 host 192.168.0.111 and port 80 -c 1000 -w 1.cap
29、rsync 同步数据时,如何过滤出所有.txt的文件不同步?
答:加上--exclude选项:--exclude=“*.txt”
30、rsync同步数据时,如果目标文件比源文件还新,则忽略该文件,如何做?
答:保留更新使用-u或者--update选项
31、想在Linux命令行下访问某个网站,并且该网站域名还没有解析,如何做?
答:在/etc/hosts文件中增加一条从该网站域名到其IP的解析记录即可,或者使用curl -x
32、自定义解析域名的时候,我们可以编辑哪个文件?是否可以一个ip对应多个域名?是否一个域名对应多个ip?
答:编辑 /etc/hosts ,可以一个ip对应多个域名,不可以一个域名对多个ip
33、我们可以使用哪个命令查看系统的历史负载(比如说两天前的)?
答:sar -q -f /var/log/sa/sa22 #查看22号的系统负载
34、在Linux下如何指定dns服务器,来解析某个域名?
答:使用dig命令:dig @DNSip domain.com
如:dig @8.8.8.8 www.baidu.com#使用谷歌DNS解析百度
35、使用rsync同步数据时,假如我们采用的是ssh方式,并且目标机器的sshd端口并不是默认的22端口,那我们如何做?
答:rsync "--rsh=ssh -p 10022"或者rsync -e "ssh -p 10022"
36、rsync同步时,如何删除目标数据多出来的数据,即源上不存在,但目标却存在的文件或者目录?
答:加上--delete选项
37、使用free查看内存使用情况时,哪个数值表示真正可用的内存量?
答:free列第二行的值
38、有一天你突然发现公司网站访问速度变的很慢很慢,你该怎么办呢?
(服务器可以登陆,提示:你可以从系统负载和网卡流量入手)
答:可以从两个方面入手分析:分析系统负载,使用w命令或者uptime命令查看系统负载,如果负载很高,则使用top命令查看CPU,MEM等占用情况,要么是CPU繁忙,要么是内存不够,如果这二者都正常,再去使用sar命令分析网卡流量,分析是不是遭到了攻击。一旦分析出问题的原因,采取对应的措施解决,如决定要不要杀死一些进程,或者禁止一些访问等。
39、rsync使用服务模式时,如果我们指定了一个密码文件,那么这个密码文件的权限应该设置成多少才可以?
答:600或400
39条常见的Linux系统简单面试题的更多相关文章
- 39条常见的linux系统管理面试题
1.如何看当前Linux系统有几颗物理CPU和每颗CPU的核数? 答:[root@centos6 ~ 10:55 #35]# cat /proc/cpuinfo|grep -c 'physical i ...
- 实验二:Linux系统简单文件操作命令
項目 内容 这个作业属于哪个课程() 课程链接 这个作业的要求在哪里 实验要求 学号-姓名 17043133-木腾飞 作业学习目标 学习在Linux系统终端下进行命令行操作: 学习掌握常用命令行操作并 ...
- 总结四条对学习Linux系统有帮助的方法
网络是一个很神奇的东西,现代人的生活离不开网络,网络已深入人们的工作,生活,娱乐等方方面面.网络之所以无处不在,是因为它提供了诸多的网络服务,所以网络服务是网络的灵魂. 互联网上的各种网络服务是架构在 ...
- linux系统执行多条命令,linux系统执行复合命令
在操作linux系统的时候,你是否遇到过打开一个目录,然后查看一个文件里面的内容. 我们可以使用命令 cd + 目录 cat + 文件名,我们需要输入两次,点击两次 enter 有没有 ...
- 实验二——Linux系统简单文件操作命令
项目 内容 这个作业属于那个课程 这里是链接 作业要求在哪里 这里是链接 学号-姓名 17041506-张政 作业学习目标 学习在Linux系统终端下进行命令行操作,掌握常用命令行操作并能通过命令行操 ...
- 实验二 Linux系统简单文件操作命令
项目 内容 这个作业属于哪个课程 班级课程的主页链接 这个作业的要求在哪里 作业要求链接接地址 学号-姓名 17041428-朱槐健 作业学习目标 1.学习在Linux系统终端下进行命令行操作 2.掌 ...
- Linux系统简单易用的上传下载命令rz和sz
一)安装方法汇总 1.安装方法(推荐) yum install lrzsz -y 2.在安装Linux系统时选中"DialupNetworking Support"组包 3.安装系 ...
- 总结5条对学习Linux系统有帮助的经验心得
作为国产手机中的代表厂商,OPPO一直走在国内的前沿.不仅手机出货量在国内遥遥领先,而且在国外也抢占不少的市场份额.前段时间,OPPO在台湾地区签下田馥甄和林宥嘉担任OPPO R9s的代言人外,在东南 ...
- 00常见的Linux系统版本
linux系统内核与linux发行套件系统并不相同: linux系统内核指的是一个由Linus Torvalds负责维护,提供硬件抽象层.硬盘及文件系统控制及多任务功能的系统核心程序. linux发行 ...
随机推荐
- Hibernate课程 初探多对多映射2-2 创建持久化类和映射文件
生成实体类 和 cfg.xml配置 cfg.xml 参照一对多映射 实体类如下: Project 类 package com.ddwei.entity; import java.util.HashSe ...
- Flask文件目录----- db文件
import sqlite3 import click from flask import current_app, g from flask.cli import with_appcontext d ...
- RN的打包
1.首先执行以下命令 在android目录下 keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -key ...
- Excel 解析 (大文件读取)BingExcel
最近在整理一个excel读取与写出的orm框架.使用的saxreader方式,支持百万级别的excel读取. 并且在通常使用中提供了监听的读取方式.如感兴趣的朋友可以稍微了解下 ,项目地址https: ...
- window系统安装jdk,jre
java开发少不了安装jdk.当然如果只是想运行其他人的java项目,只需要安装jre就行了,不需要安装jdk,jdk是编译用的.jdk可以同时安装多个 版本,只需要在项目部署时注意切换版本选择.在这 ...
- android打包代码混淆
android应用打包代码混淆: 1.将project.propertier文件中的proguard.config=proguard-android.txt打开 拷贝指定的文件到应用中 2.更改 ...
- Android Studio使用OpenCV的配置方法
1.下载 进入官网(http://opencv.org/)下载OpenCV4Android并解压.目录结构如下图所示. 其中,sdk目录即是我们开发opencv所需要的类库:samples目录中存放着 ...
- 安装Android模拟器Genymotion【Android学习入门】
安装Android模拟器Genymotion 推荐教程:一个强大的Android模拟器Genymotion具体内容如下: 相信很多Android开发者一定受够了速度慢.体验差效率及其地下的官方模拟器了 ...
- DVB数字电视常见信号指标解释
1. 平均功率与峰值电平 峰值电平在模拟电视广播时用于表征频道信号电平强弱. 模拟电视信号是单极性.不对称的,即电视信号有一个固定黑色参考电平,比黑色亮的信号处在黑色电平线一边,同步脉冲处 ...
- Active Directory域服务备份
此篇介绍如何通过Windows Server Backup工具备份Active Directory域服务 AD 域系统状态 在域控制器上,系统状态通常包括以下内容,但所包含的数据实际上取决于服务器上安 ...