小白面试题(三)

1、使用ln命令将生成了一个指向文件old的符号链接new,如果你将文件old删除,是否还能够访问文件中的数据?
A. 不可能再访问
B. 仍然可以访问
C. 能否访问取决于文件的所有者
D. 能否访问取决于文件的权限

正确答案:A

 

2、多数Linux发行版本中,图形方式的运行级定义为?
A. 1
B. 2
C. 3
D. 5

正确答案:D

 

3、如何在文件中查找显示所有以"*"打头的行?
A. find \* file
B. wc -l * < file
C. grep -n * file
D. grep ‘^\*’ file

正确答案:D

 

4、在ps命令中什么参数是用来显示所有用户的进程的?
A. a
B. b
C. u
D. x

正确答案:A

 

5、命令 kill 9 的含义是:

A. kills the process whose PID is 9.

B. kills all processes belonging to UID 9.

C. sends SIGKILL to the process whose PID is 9.

D. sends SIGTERM to the process whose PID IS 9.

正确答案:D

 

6、使用什么命令可以在今天午夜运行命令 cmd1 ?
A. at midnight cmd1
B. cron -at "00:00" cmd1
C. batch -t "00:00" < cmd1
D. echo "cmd1" | at midnight

正确答案:D

 

7、对所有用户的变量设置,应当放在哪个文件下?
A. /etc/bashrc
B. /etc/profile
C. ~/.bash_profile
D. /etc/skel/.bashrc

正确答案:B

 

8、Linux系统中,一般把命令 ls 定义为 ls --color 的别名,以便以不同颜色来标识不同类型的文件。但是,如何能够使用原先的ls命令?
A. \ls
B. ;ls
C. ls $$
D. ls --noalias

正确答案:A

 

9、下面哪种写法表示如果cmd1成功执行,则执行cmd2命令?
A. cmd1&&cmd2
B. cmd1|cmd2
C. cmd1;cmd2
D. cmd1||cmd2

正确答案:A

 

10、下面哪个协议使用了二个以上的端口?
A. telnet
B. FTP
C. rsh
D. HTTP

正确答案:B

 

11、对于Apache服务器,提供的子进程的缺省的用户是:
A. root
B. apached
C. httpd
D. nobody

正确答案:D

 

12、apache的主配置文件是:
A. httpd.conf
B. httpd.cfg
C. access.cfg
D. apache.conf

正确答案:A

 

13、在 bash shell 环境下,当一命令正在执行时,按下 control-Z 会: 
A. 中止前台任务 
B. 给当前文件加上 EOF.
C. 将前台任务转入后台 
D. 注销当前用户

正确答案:C

 

14、什么命令解压缩tar文件?
A. tar -czvf filename.tgz
B. tar -xzvf filename.tgz
C. tar -tzvf filename.tgz
D. tar -dzvf filename.tgz

正确答案:B

 

15、命令 netstat -a 停了很长时间没有响应,这可能是哪里的问题?
A. NFS.
B. DNS.
C. NIS.
D. routing.

正确答案:B

 

16、下面哪个命令不是用来查看网络故障的?
A. ping
B. init
C. telnet
D. netstat

正确答案:B

 

17下面哪个文件定义了网络服务的端口?
A. /etc/netport
B. /etc/services
C. /etc/server
D. /etc/netconf

正确答案:B

 

18、某公司有www.benet.comwww.accp.com两个站点,使用相同的公网IP地址,若要在一台RHEL5主机中提供两个站点的Web服务,可行的最佳方案为(       )。(选择一项)

A、安装两个httpd软件包,每个软件包对应一个web站点

B、安装一个httpd软件包,使用httpd1.conf、httpd2.conf两个独立配置文件

C、安装一个httpd软件包,为两个web站点配置基于域名的虚拟主机

D、安装一个httpd软件包,为两个web站点指定基于IP地址的虚拟主机

正确答案:C

 

简答题:

1、bash shell 中的 hash 命令有什么作用?

参考答案:
linux 命令’hash’管理着一个内置的哈希表,记录了已执行过的命令的完整路径,用该命令可以打印出你所使用过的命令以及执行的次数。

[root@localhost ~]# hash

hits command2 /bin/ls2 /bin/su

 

2、CentOS查看/监测网卡流量的命令

参考答案:

watch more /proc/net/dev

watch可以监控命令的运行结果

 

3、你的系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?

参考答案:
使用 linux 命令 ’disown -r ’可以将所有正在运行的进程移除。

 

4、哪个命令专门用来查看后台任务?

参考答案:
job -l

 

5、把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令?

答案:
把后台任务调到前台执行 fg
把停下的后台任务在后台执行起来 bg

 

6、利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息?

答案:
ps -ef (system v 输出) 显示所有命令,连带命令行
ps -aux bsd 格式输出    显示所有包含其他使用者的行程
ps -ef | grep pid

 

7、终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?

答案:
终端 /dev/tty
黑洞文件 /dev/null

 

8、查看文件内容有哪些命令可以使用?

答案:
vi 文件名 #编辑方式查看,可修改
cat 文件名 #显示全部文件内容
more 文件名 #分页显示文件内容
less 文件名 #与 more 相似,更好的是可以往前翻页
tail 文件名 #仅查看尾部,还可以指定行数
head 文件名 #仅查看头部,还可以指定行数

 

9、一台Linux服务器负载高,连接慢,怎么查看

参考答案:

  1. 先用w看负载多少
  2. 用top看哪个进程占用cpu高
  3. 用top按M看哪个进程占用内存多
  4. 用iotop看哪个进程读写频发
  5. 用sar命令或者nload命令查看网卡流量,是否跑满带宽

 

 

10、LVS的负载平衡方式有哪些?

参考答案:

VS/NAT:通过网络地址转换实现的虚拟服务器。Director将用户请求报文的目的地址改成选定的Real Server地址后,转发给Real Server。大并发访问时,调度器的性能成为瓶颈。

VS/DR:直接使用路由技术实现虚拟服务器。通过改写请求报文的MAC地址,将请求发至Real Server,Real Server直接响应客户端。

VS/TUN:通过隧道方式实现虚拟服务器。Director采用隧道技术将请求发至Real Server后,Real Server直接响应客户端。

 

11、集群有哪些类别?

参考答案:

高性能计算集群HPC:通过以集群开发的并行应用程序,解决复杂的科学问题。

负载均衡(LB)集群:客户端访问负载可以在计算机集群中尽可能平均地分摊处理。

高可用(HA)集群:当集群中的一个系统发生故障时,集群软件迅速做出反应,将该系统的任务分配到集群中其它正在工作的系统上执行。

 

12、nginx 你用到哪些模块,在 proxy 模块中你配置哪些参数

参考答案:

ngx_http_core_module(核心模块,包含 http、server_name、root 等配置参数)

ngx_http_access_module(访问控制模块,包含 allow 和 deny 配置参数)

ngx_http_auth_basic_module(用户认证模块,包含 auth_basic 等配置参数)

ngx_http_charset_module(字符集模块,包含 charset utf8 等配置参数)

ngx_http_fastcgi_module(fastcgi 模块,包含 fastcgi_pass 等配置参数)

ngx_http_gzip_module(压缩模块,包含 gzip、gzip_type 等配置参数)

ngx_http_limit_conn_module(限制并发量模块,包含 limit_conn 等参数)

ngx_http_log_module(日志模块,包含 access_log 等配置参数)

ngx_http_proxy_module(代理模块,包含 proxy_pass 等配置参数)

ngx_http_rewrite_module(地址重写模块,包含 rewrite、break、last 等配置参数)

ngx_http_ssl_module(加密模块,包含 ssl_certificate、ssl_certificate_key 等配置参数)

ngx_http_stub_status_module(状态模块,包含 stub_status 配置参数)

ngx_http_upstream_module(调度器模块,包含 upstream、hash、ip_hash 等配置参数)

ngx_stream_core_module(4 层代理模块)

在 proxy 模块中有 proxy_pass、proxy_cache、proxy_cache_path、proxy_connect_timeout、

proxy_limit_rate 等参数)

 

13、使用sed命令在文件file1中第一行和第三行后增加字符串“hello world”

参考答案:

sed  -i  '1s/$/hello world/;3s/$/hello world/'  txt

sed ‘1a helloworld;3a helloworld’  txt

 

 

14、在1-39内取随机数

参考答案:

echo $[$RANDOM%39]

 

15、假设name.txt的内容如下,请做一个脚本能够统计所搜索的单词出现的次数。

[root@ChrisChan mysql]cat name.txt

james

james

james

wade

wade

bosh

curry

curry

curry

curry

 

#!/bin/bash

read -p "plwase enter a word: " word

a=0

for i in $(cat name.txt)

        do

                if [ $i == $word ]

                        then

                                let a=a+1

                fi

        done

echo $word出现了$a次。

 

16、在 linux 系统中,一般都会有 swap 内存,你觉得使用 swap 内存有什么好处,在什么情况下 swap内存才会被使用?你觉得在生产环境中要不要用 swap 内存?

参考答案:

Swap的功能就是在应付物理内存不足的情况下所造成的内存扩展记录的功能。 

Swap的主要功能是当物理内存不够时,将某些在内存当中所占的程序暂时移动到swap当中,让物理内存可以被需要的程序使用。

另外,如果你的主机支持电源管理模式, 也就是说,你的Linux主机系统可以进入“休眠”模式的话,那么,运行当中的程序状态则会被记录到swap中,以作为“唤醒”主机的状态依据。另外,某些程序在运行时,本来就会利用swap的特性来存放一些数据段,所以,swap还是需要创建的,只是不需要太大,建议为物理内存的1.5到2倍之间。

 

17、Apache 配置基于端口的虚拟主机,需要配置那几个项?

参考答案:

Listen 端口

IP:不同端口>

         DocumentRoot  

         ServerName

 

18、系统管理员的职责包括那些?管理的对象是什么?

参考答案:

系统管理员的职责是进行系统资源管理、设备管理、系统性能管理、安全管理和系统性能监测。管理的对象是服务器、用户、服务器的进程及系统的各种资源等。

 


19、当你在浏览器输入一个网址,如http://www.didichuxing.com,按回车之后发生了什么?请从技术的角度描述,如浏览器、网络(UDP、TCP、HTTP等),以及服务器等各种参与对象上由此引发的一系列活动,请尽可能的涉及到所有的关键技术点。

参考答案:

DNS域名解析:浏览器缓存、系统缓存、路由器、ISP的DNS服务器、根域名服务器。把域名转化成IP地址。

与IP地址对应的服务器建立TCP连接,经历三次握手:SYN,ACK、SYN,ACK

以get,post方式发送HTTP请求,get方式发送主机,用户代理,connection属性,cookie等获得服务器的响应,显示页面

 

 

20、nginx有哪几种调度算法,解释一下ip  hash和轮询有啥不一样?

参考答案:

常用的有3种调度算法(轮询、ip hash、权重)。

轮询:upstream按照轮询(默认)方式进行负载,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

ip hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

权重:指定轮询几率,权重(weight)和访问比率成正比,用于后端服务器性能不均的情况。

 

21、你在shell脚本中用过哪些语法,case语法会用到哪些地方?

参考答案:

   一般会用到if语句、for语句、while语句、case语句以及function函数的定义;

case语句为多选择语句,可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。最典型的case语法会用到启动服务脚本的处理。

 

22、我要过滤一段文本(test.txt)中第二列的内容?如果这段文件有很多特殊符号,比如用:(冒号)怎么过滤它的第二段?如果我要过滤这段文本中,其中有一行只有7个符如何实现?

参考答案:

awk '{print $2}'   tset.txt

awk -F':'  '{print $2}'   tset.txt

 

23、有个文件内容如下:

http://a.domain.com/l.html

http://b.domain.com/l.html

http://c.domain.com/l.html

http://a.domain.com/2.html

http://b.domain.com/2.html

http://a.domain.com/3.html

要求:得到主机名(和域名),并统计每个网址出现的次数,并排序。可以 shell 或 C

参考答案:

得到的结果应该是:

#/bin/bash

awk-F"[/.]" '{print $3}' txt

awk -F"[/]" '{print $3}' txt |awk '{IP[$1]++} END {for(i in IP){print IP[i],i}}' |sort –n

 

输出结果:1 c.domain.com

2 b.domain.com

3 a.domain.com

 

24、怎么编写一个定时计划任务?里面用到的最小单位是什么?

参考答案:

crontab -e,最小单位是分钟

 

25、某系统管理员需要每天做一定的重复工作,请按照要求写一个方案(crontab)

1)在下午4:50删除/abc目录下的所有子目录和全部文件

2)从早8:00至下午6:00每小时读取/aa.txt文件中的全部数据加入到/bb.txt文件中

参考答案:

crontab -e

50  4     *  *  *   rm  -rf  /abc/*

00   8-18  *  *  *   cat /aa.txt  > /bb.txt

 

26、打印出file1文件第1到第3行

参考答案:

sed  -n ’1,3p’ file1
head  -3  file1

 


27、如何在脚本中获取脚本自身的名称?

参考答案:

$0

 

28、如何只用echo命令获取字符串变量的一部分?

参考答案:

echo {变量:开始位置:个数}

 

29、如何查看进程可打开的最大文件数量?

参考答案:

[root@server0 proc]# ulimit -a  #ulimit命令用于控制shell程序的资源

...

open files                      (-n) 1024

...

 

30、如何使用命令查出linux系统下某占用某个端口(如8088)具体是那个进程?

参考答案:

netstat -lnptu | awk -F'[ :/]+'  '$5~/8088/{print $10}'

 

 

31、通过apache访问日志access.log统计IP和每个地址访问的次数,按访问量列出前10名。

日志格式样例如下

192.168.1.247 – - [02/Jul/2010:23:44:59 +0800] “GET / HTTP/1.1″ 200 19

参考答案:

cat access_log | awk ‘{print $1}’ | uniq -c | sort -rn | head -10

注:

sort:排序的功能,默认安装ASCII码来排序,-n安装数值排,-r 按照倒序来排

uniq -c  去重和统计

这个别的方法也能统计,但有些命令是必要的 awk , sort,uniq ,主要看是否这些命令都使用了。

 

32、简述你所理解的虚拟化?

参考答案(开放):

在计算机中,虚拟化(英语: Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。

在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件对资源充分利用

虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。

虚拟化技术具有资源共享、负载动态优化、自动化管理、安全性、节省资源绿色环保、解决平台依赖等优势

 

32、什么叫分布式?你对分布式系统有什么看法和想法?

参考答案(开放):

分布式系统背后是由一系列的计算机组成的,但用户感知不到背后的逻辑,就像访问单个计算机一样。

参考简书:https://www.jianshu.com/p/d31ca70e23b4

 

34、说说你擅长哪一块?具体的?怎么实现?(开放)

 

35、DNS 从服务器无法获取主分区数据的原因有哪些?

参考答案:

主服务器防火墙与 SELinux 规则限制

主服务器没有授权从服务器 IP 地址

主服务器地址解析记录文件没有从的 NS 记录

数据更新,数据的版本号没有修改

从服务器同步数据目录本地权限,没有写入权限

从服务器没有指定主服务器 IP 地址

 

 

36、从日志/opt/bjca3/logs/ca_access.log中截取14点到16点的日志,将截取的日志导入到/tmp/ca_access.txt中,日志格式如下:

[Fri Mar 17 13:59:00 2017] [debug] mod_cmp.c(1600):[client 192.168.97.8] [CMP] CMP_set_status: starting …

[Fri Mar 17 13:59:00 2017] [debug] mod_cmp.c(938):[client 192.168.97.8] [CMP] CMP_cu_integer_set: starting …

[Fri Mar 17 13:59:00 2017] [debug] mod_cmp.c(957):[client 192.168.97.8] [CMP] CMP_cu_integer_set: ending ok …

………

[Fri Mar 17 16:36:00 2017] [debug] mod_cmp.c(1014):[client 192.168.97.8] [CMP] cu_octet_str_set: starting …

[Fri Mar 17 16:36:00 2017] [debug] mod_cmp.c(1037):[client 192.168.97.8] [CMP] cu_octet_str_set: ending ok …

参考答案:

awk '$4>"13:00:00"&&$4<="16:59:00"'   txt

awk ‘{ip[$1]++} END{for(i in ip){print i,ip[i]}}’ access.log  | sort -nr -k2

注释:

利用sort对提取结果排序

-n:按数字升序排列

-k:针对指定的字段进行排序

-r:反转

 

 

37、Tomcat工作模式?

参考答案:

Tomcat作为servlet容器,有三种工作模式:

1、独立的servlet容器,servlet容器是web服务器的一部分;

2、进程内的servlet容器,servlet容器是作为web服务器的插件和java容器的实现,web服务器插件在内部地址空间打开一个jvm使得java容器在内部得以运行。反应速度快但伸缩性不足;

3、进程外的servlet容器,servlet容器运行于web服务器之外的地址空间,并作为web服务器的插件和java容器实现的结合。反应时间不如进程内但伸缩性和稳定性比进程内优;

进入Tomcat的请求可以根据Tomcat的工作模式分为如下两类:

 

Tomcat作为应用程序服务器:请求来自于前端的web服务器,这可能是Apache, IIS, Nginx等;

Tomcat作为独立服务器:请求来自于web浏览器;

 

38、简述DNS进行域名解析的过程。
参考答案:
DNS的解析过程?

答案:第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪

录项,则本地的域名服务器就直接把查询的结果返回。

第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发

给根域名服务器,然后根域名服务器再返回给本地域名服务器一个

所查询域(根的子域)的主域名服务器的地址。

第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求

的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的

域名服务器的地址。

第五步:重复第四步,直到找到正确的纪录。

第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还

将结果返回给客户机。

 

39、如何让系统的普通用户拥有root的权限?什么情况下需要这样做?

参考答案:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(面试)