题目来源:

大部分都自己做的,部分参考了原帖博主的答案 

1、如何检测某个端口所占用的进程

lsof -i :port

2、对于linux主机的cpu负载使用,什么情况下user的比例升高,什么情况下system的比例升高,请联系实际举例。

使用top命令可以查看cpu的负载使用

-us:用户进程消耗的CPU时间百分比
us的值比较高时,说明用户进程消耗的CPU资源多,如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速(比如PHP/PERL)

-sy:内核进程消耗的CPU时间百分比(sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因)

-wa:IO等待消耗的CPU时间百分比
wa的值高时,说明IO等待比较严重,这可能由于磁盘大量随机访问造成,也有可能磁盘出现瓶颈(块操作)
-id:CPU处于空闲状态时间百分比,如果空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us) 系统则面临着CPU资源的短缺

3、在不umount的情况下,如何重新设置mount的参数。

mount -o remount,rw /

4、不小心在系统下执行了chmod -x /bin/chmod 怎么办?

mv /bin/chmod /bin/chmod_backup

cp /bin/cp /bin/chmod

cat /bin/chmod_backup > /bin/chmod

5、linux文件的权限位x对目录和文件有何不同?

x权限对目录而言,表示这个用户可以进入该目录(浏览,即可以ls列出目录下的东西)

   对文件而言,表示对文件有可执行权限

 

6、找出/taomee目录下的所有常规文件并设置权限755

find /taomee -type f | xargs chmod 755

7、如何查找某一文件被哪个进程打开?

比如查看/usr/bin/mysqld_safe这个文件是被哪个进程打开的,可以使用命令:

lsof /usr/bin/mysqld_safe

8、新增一块存储设备,lvm操作的命令如何写

1、对新的存储设备分区并格式化为8e格式

2、创建物理卷(PV)

3、将PV加入到卷组(VG)

4、创建逻辑卷(LV)

5、格式化罗技卷并挂载

参考:http://yujia2016.blog.51cto.com/59379/1712579

9、给主机host:172.16.0.2增加gateway10.0.0.1

route add -host 172.16.0.2 gw 10.0.0.1

10、socket和tcp访问mysql的区别?

TCP/IP 访问mysql:这种方式会在TCP/IP连接上建立一个基于网络的连接请求,一般是client连接跑在Server上的MySQL实例,2台机器通过一个TCP/IP 网络连接。(一般是mysql客户端跟服务端不在同一机器上)

socket访问mysql:UNIX域套接字并不是网络协议,所以只能在MySQL客户端和数据库实例在同一台服务器上使用,用户可以在配置文件中指定套接字文件。

二、shell

1、如何将一个文件中的taomee、******、peoplenet中的*内容进行替换成network(*的内容不同)

[root@Manager-01 ~]# cat 1.txt 

taomee、sdegrt、peonetwork

[root@Manager-01 ~]# sed -ri 's#(.*)、.{6}、(.*)#\1、network、\2#g' 1.txt

[root@Manager-01 ~]# cat 1.txt 

taomee、network、peonetwork

2、找出access.log中访问top 10的ip地址

awk '{print $1}' nginx.log | grep -v "^$" | sort | uniq -c | sort -nr | head 

3、打印1-100奇数?打印1-100偶数?打印1-100的和?打印1-100的奇数和?打印1-100的偶数和?打印1-100的质数?

打印1-100奇数:for((i=1;i<=100;i+=2));do echo $i;done

打印1-100偶数:for((i=2;i<=100;i+=2));do echo $i;done

打印1-100和:sum=0;for((i=1;i<=100;i++));do let sum+=i;done;echo $sum 

打印1-100的奇数和:sum=0;for((i=1;i<=100;i+=2));do let sum+=i;done;echo $sum 

打印1-100的偶数和:sum=0;for((i=2;i<=100;i+=2));do let sum+=i;done;echo $sum 

打印1-100的质数:for i in `seq 2 100`; do factor $i | awk -F'[: ]+' 'NF==2{print $1}';done

4、删除一个文件中行号为奇数的行

sed -n '1~2p' file  或 sed -n 'p;n' file

5、替换某一个文件的字符串

sed -i 's/111/222/g' test.txt

或vim test

:%s/111/222/g

6、exec和souce区别

所谓 source 就是让 script 在当前 shell 内执行、而不是产生一个 sub-shell 来执行。

 exec 也是让 script 在同一个行程上执行,但是原有行程则被结束了。

他们的最大区别就是在于:原有行程会否终止。

7、iptables表和链

简称三表五链

filter:INPUT FOWARD OUTPUT

nat:OUTPUT PREROUTING POSTROUTING

mangle:INPUT FOWARD OUTPUT PREROUTING POSTROUTING

8、统计目录inode占用数目  

for i in `find . -type d`;do ls -1i $i |awk -v sum=0 -v dir=$i '{sum+=!a[$1]++};END{print sum"\t"dir}';done |sort -n