题目

http://www.itnose.net/detail/6244896.html

一、LINUX基础知识

1.如何不重启修改linux的主机名

方法1:修改network文件:vi /etc/sysconfig/network
           修改这个文件里的主机名
           NETWORKING=yes
           HOSTNAME=主机名

方法2:修改hosts文件
           vi /etc/hosts文件,在文件中增加主机名

方法3:用hostname修改当前主机名,这样就可以不用重启也直接生效。
           hostname 主机名

2.Linux系统中log对应的服务是什么
syslog

3.你了解几个Linux发行版,他们各有什么特点?
(1)RHLE9
(2)CentOS 6.5
(3)Ubuntu
(4)SUSE

4.如何查看当前登录的用户名?
id

5.如何查看系统的所有信息(包括CPU、MEMORY、内核版本信息等)?

6.如何统计当前主机所有HTTP的连接数?
netstat -antulp|grep tcp|uniq -c|sort -rn|wc -l

7.如何删除当前目录下的\a文件?
find .  -name  “\a”  -exec  rm {} \;

8.当前没有文件编辑工具(vim),如何去除/etc/sysconfig文件中的注释和空行?
grep -v "^#"  /etc/sysconfig | grep -v "^$" >> /etc/sysconfig.bak

9.简单描述Linux的启动过程
答案1:加载BIOS–<读取MBR–
启动GRUB/LILO
->加载内核->执行init进程->通过/etc/inittab文件进行初始化->执行/bin/login程序



11.写一个脚本查找最后创建时间是3天前,后缀是*.log的文件并删除。
find . -mtime +3 -name '*.log' -ok rm {} \;

12.如何修改系统时间?例如修改成为2014年6月18日,将时间设置为12:30:30.
date -s 06/18/14
date -s 12:30:30


13.如何对Linux的磁盘进行分区、激活、挂载?
fdisk -l:查看当前磁盘信息
fdisk  /dev/sdb:对磁盘进行分区
http://blog.chinaunix.net/uid-25829053-id-3067619.html


14.ping和traceroute的区别?

ping

能否成功有三个必要条件,

1

互相有到达对端的路由,

2

echo

包没被禁止,

3

time out

掉(这个实验不好做,本来想通过设置

timeout

时间为

10ms

来做,哈哈,最小是

1s.


ping能否成功有三个必要条件,
(1)互相有到达对端的路由;(2)echo包没被禁止;
(3)别time out掉(这个实验不好做,本来想通过设置timeout时间为10ms来做,哈哈,最小是1s.)

对于traceroute,本质可以理解为hop by hop的ping,但这个ping和上面讲的ping不一样,这个ping和我们的ping命令不同,traceroute包发出去后,途经的每个站点都会发回一个 类型代码为11 0的icmp 包回去,到了终点,才回发送一个代码为3 3的icmp包回到源.

15.请说明常用的raid,并简述其特点;

RAID O:
RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术。RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。
RAID 0示意图RAID 0示意图
RAID 0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中电脑数据依次写入到各块硬盘中,它的最大优点就是可以整倍的提高硬盘的容量。如使用了三块80GB的硬盘组建成RAID 0模式,那么磁盘容量就会是240GB。其速度方面,各单独一块硬盘的速度完全相同。最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。
为了解决这一问题,便出现了RAID 0的另一种模式。即在N块硬盘上选择合理的带区来创建带区集。其原理就是将原先顺序写入的数据被分散到所有的四块硬盘中同时进行读写。四块硬盘的并行操作使同一时间内磁盘读写的速度提升了4倍。
在创建带区集时,合理的选择带区的大小非常重要。如果带区过大,可能一块磁盘上的带区空间就可以满足大部分的I/O操作,使数据的读写仍然只局限在少数的一、两块硬盘上,不能充分的发挥出并行操作的优势。另一方面,如果带区过小,任何I/O指令都可能引发大量的读写操作,占用过多的控制器总线带宽。因此,在创建带区集时,我们应当根据实际应用的需要,慎重的选择带区的大小。
带区集虽然可以把数据均匀的分配到所有的磁盘上进行读写。但如果我们把所有的硬盘都连接到一个控制器上的话,可能会带来潜在的危害。这是因为当我们频繁进行读写操作时,很容易使控制器或总线的负荷 超载。为了避免出现上述问题,建议用户可以使用多个磁盘控制器。最好解决方法还是为每一块硬盘都配备一个专门的磁盘控制器。
虽然RAID 0可以提供更多的空间和更好的性能,但是整个系统是非常不可靠的,如果出现故障,无法进行任何补救。所以,RAID 0一般只是在那些对数据安全性要求不高的情况下才被人们使用。


RAID 1:
RA
RAID 1示意图RAID 1示意图
ID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID 1多用在保存关键性的重要数据的场合。
RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。

RAID 0+1:
从RA
RAID0+1示意图RAID0+1示意图
ID 0+1名称上我们便可以看出是RAID0与RAID1的结合体。在我们单独使用RAID 1也会出现类似单独使用RAID 0那样的问题,即在同一时间内只能向一块磁盘写入数据,不能充分利用所有的资源。为了解决这一问题,我们可以在磁盘镜像中建立带区集。因为这种配置方式综合了带区集和镜像的优势,所以被称为RAID 0+1。把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。

16.MBR是什么?它的作用是什么?
(1)主引导记录(Master Boot Record),它由4个部分组成:主引导程序、出错信息数据区、分区表、结束标志字。
(2)主引导记录(MBR,Main Boot Record)是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。

(3)MBR描述了逻辑分区的信息,包含文件系统以及组织方式。此外,MBR还包含计算机在启动的第二阶段加载操作系统的可执行代码或连接每个分区的引导记录(VBR)。这个MBR代码通常被称为引导程序。

17.去掉1.txt文件中的空行并统计每个字母出现的次数
more 1.txt
A
B
C
D

A
B
D
【方法1】脚本如下:sed -i '/^$/d' d.txt|awk '{print $1}' d.txt|sort|uniq -c
说明:^$表示空行,d表示删除
   sort表示排序,uniq表示去重 -c表示出现的次数
【方法2】awk '{array[$1]++}END{for(count in array)print count,array[count]}' 1.txt

18.如何找出系统中端口号大于1024的并进行排序和去重
方法一:ss -tu sport ge :1024
方法二:netstat -tuln|awk -F: '{print $1}'|awk '$1>1024'|sort -n|uniq -c




二、网络知识
1.如何配置防火墙只开放22端口?
iptables -F
iptables -X
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j REJECT
2.当使用公网访问服务器时,总是出现断线,而使用CDN却不会,请问出现该问题可能的原因?
3.如何判断一个主机的状态是否存活?
(1)书写脚本
#!/bin/bash
PREFIX=192.168.1
NODE=1
while [ "$NODE" -lt "255" ]; do
echo -en "Pinging ${PREFIX}.${NODE}..."
ping -c1 -w1 -t5 ${PREFIX}.${NODE} >/dev/null 2>&1
if [ "$?" -eq "0" ]; then
echo "OK"
else
echo "Failed"
fi
let NODE=$NODE+1
done
(2)


4.简述TCP三次握手的过程?
(1)客户端发送请求SYN,(2)服务器端接收请求确认并回应SYN+ACK,(3)客户端发回ACK回应....

5. 当带宽跑满时如何进行排查?
(1)首先需要确定是哪一张网卡的带宽跑满,可以通过sar -n DEV 1 5 命令来获取网卡级别的流量图,
命令中1 5表示每一秒钟取1次值,一共取5次。
命令执行后会列出每个网卡这五次取值的平均数据,
根据实际情况来确定带宽跑满的网卡名称,默认情况下eth0
内网网卡.
(2)通过nethogs工具来查看某一网卡上进程级流量信息,若未安装可以通过yum、apt-get等方式安装。假定当前eth1网卡跑满,则执行命令nethogs eth1,在右边的红框中可以看到每个进程的网络带宽情况,左边红框显示了进程对应的PID,
在此可以确定到底是什么进程占用带宽。

(3)如果确定是恶意程序,可以通过“kill -TERM PID号”来终止程序;如是web服务程序,则可以使用iftop等工具来查询具体IP来源,然后分析web访问日志是否为正常流量,日志分析也可以使用logwatch或awstats等工具进行分析,若确定是正常的流量,则可以考虑升级服务器。

可以使用linux自带的流量监控工具iftop。

6.503错误是什么错误?
503是一种HTTP状态码。英文名503 Service Unavailable与404(404 Not Found)是同属一种网页状态出错码。前者是服务器出错的一种返回状态,后者是网页程序没有相关的结果后返回的一种状态,需要优化网站的时候通常需要制作404出错页以便网站整体优化。

三、基本维护知识
1.当修改一个文件时,第一次要做的事情是什么?
对文件进行备份,并评估修改文件可能产生的影响;

2.客户端A要访问服务器C所提供的服务,但客户端A并不能直接访问到服务器C,如何通过openssh端口转发的方式让客户端A能访问到服务器C?
答: 使用openssh端口转发的条件是客户端A(192.168.100.1:8080)能够访问服务器B(192.168.100.2:8080),而服务器B能够访问服务器C(192.168.10.1:8080).
实现端口转发时,可在客户端A执行如下命令(格式为:ssh -L  本机端口:目标主机IP:目标主机端口 ):
ssh -L  8080:192.168.10.1:8080 192.168.100.2
 
这条命令的意思,就是指定SSH绑定本地端口8080,然后指定服务器C将所有的数据,转发到目标主机服务器B的8080端口(假定服务器B运行HTTP,默认端口为80)。

这样一来,我们只要连接客户端A的8080端口,就等于连上了服务器B的80端口。


http://www.tuicool.com/articles/RNnmEz

http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/

3.



四、Mysql数据库
1.如何进行主从复制?

posted @ 2017-04-18 14:08  foreverfriends  阅读(157)  评论(0编辑  收藏  举报