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系统管理面试题的更多相关文章

  1. 39条常见的Linux系统简单面试题

    39条常见的Linux系统简单面试题 本文主要分享39条常见的Linux系统简单面试题,其中包括如何看当前Linux系统有几颗物理CPU和每颗CPU的核数.如何实时查看网卡流量为多少等等,希望对你有所 ...

  2. 【面试突击】- 2019年125条常见的java面试笔试题汇总(二)

    26.什么时候用assert. assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制.在实现中,assertion就是在程序中的一条语句,它对一个boolean表达 ...

  3. 【面试突击】- 2019年125条常见的java面试笔试题汇总(一)

    1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部 问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二 ...

  4. [Linux]经典面试题 - 系统管理 - 备份策略

    [Linux]经典面试题 - 系统管理 - 备份策略 目录 [Linux]经典面试题 - 系统管理 - 备份策略 一.备份目录 1.1 系统目录 1.2 服务目录 二.备份策略 2.1 完整备份 2. ...

  5. 嵌入式Linux C笔试题积累(转)

    http://blog.csdn.net/h_armony/article/details/6764811 1.   嵌入式系统中断服务子程序(ISR) 中断是嵌入式系统中重要的组成部分,这导致了很 ...

  6. Linux 经典面试题

    [Linux  经典面试题] 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文 ...

  7. linux驱动面试题整理

    1.字符型驱动设备你是怎么创建设备文件的,就是/dev/下面的设备文件,供上层应用程序打开使用的文件? 答:mknod命令结合设备的主设备号和次设备号,可创建一个设备文件. 评:这只是其中一种方式,也 ...

  8. Linux系统管理常用命令

    Linux系统管理常用命令 分类: Linux2011-01-10 18:26 1538人阅读 评论(0) 收藏 举报 linuxcommandservicenginxuserunix 目录(?)[+ ...

  9. linux 系统管理--进程管理

    目录 linux 系统管理--进程管理 一.进程基本概述 二.监控进程状态 三.进程的优先级[进阶] 四.企业案例,Linux假死是怎么回事 五.后台进程管理 六.系统平均负载[进阶] linux 系 ...

随机推荐

  1. JS中的加号+运算符详解

    加号+运算符 在 JavaScript 中,加法的规则其实很简单,只有两种情况: 把数字和数字相加 把字符串和字符串相加 所有其他类型的值都会被自动转换成这两种类型的值. 为了能够弄明白这种隐式转换是 ...

  2. [Spring MVC]学习笔记--@Controller

    在讲解@Controller之前,先说明一下Spring MVC的官方文档在哪. 可能会有人和我一样,在刚接触Spring MVC时,发现在Spring的网站上找不到Spring MVC这个项目. 这 ...

  3. poj3159

    Candies Time Limit: 1500MS   Memory Limit: 131072K Total Submissions: 28133   Accepted: 7766 Descrip ...

  4. 《从零开始学Swift》学习笔记http(Day1)——我的第一行Swift代码

    Swift 2.0学习笔记(Day1)——我的第一行Swift代码 原创文章,欢迎转载.转载请注明:关东升的博客 当第一次看到下面代码时我石化了,这些代码是什么东东?单词拼出来的? import Fo ...

  5. 统计TCP网络连接情况

    #!/bin/bash metric=$1 tmp_file=/tmp/tcp_status.txt /bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a i ...

  6. js模块化方法的写法

    详细:一点点白 http://www.cnblogs.com/LoveOrHate/p/4454852.html 原始写法: function m1(){} function m2(){} 对象写法: ...

  7. offset,scroll,client系列

    offsetHeight: 元素高,height+border+paddingoffsetWidth: 元素宽,width+border+paddingoffsetTop: 距离offsetParen ...

  8. tomcat 的 Pipeline 机制

    一.server.xml 在每个容器对象里面都有一个pipeline,Pipeline就像是每个容器的逻辑总线. <Host name="localhost" appBase ...

  9. Django工作小笔记

    场景一:如果model中字段用CharField,然而你想用数字(类似IntegerField)排序,此时可以用django的extra函数直接调用原生sql的CAST函数即可 Score.objec ...

  10. 1.5 使用电脑测试MC20的发送英文短信功能

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...