题目来源:http://2358205.blog.51cto.com/2348205/1688557
大部分都自己做的,部分参考了原帖博主的答案
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奇数&#xff1a;for((i&#61;1;i<&#61;100;i&#43;&#61;2));do echo $i;done
打印1-100偶数&#xff1a;for((i&#61;2;i<&#61;100;i&#43;&#61;2));do echo $i;done
打印1-100和&#xff1a;sum&#61;0;for((i&#61;1;i<&#61;100;i&#43;&#43;));do let sum&#43;&#61;i;done;echo $sum
打印1-100的奇数和&#xff1a;sum&#61;0;for((i&#61;1;i<&#61;100;i&#43;&#61;2));do let sum&#43;&#61;i;done;echo $sum
打印1-100的偶数和&#xff1a;sum&#61;0;for((i&#61;2;i<&#61;100;i&#43;&#61;2));do let sum&#43;&#61;i;done;echo $sum
打印1-100的质数&#xff1a;for i in &#96;seq 2 100&#96;; do factor $i | awk -F&#39;[: ]&#43;&#39; &#39;NF&#61;&#61;2{print $1}&#39;;done
4、删除一个文件中行号为奇数的行
sed -n &#39;1~2p&#39; file 或 sed -n &#39;p;n&#39; file
5、替换某一个文件的字符串
sed -i &#39;s/111/222/g&#39; test.txt
或vim test
:%s/111/222/g
6、exec和souce区别
所谓 source 就是让 script 在当前 shell 内执行、而不是产生一个 sub-shell 来执行。
exec 也是让 script 在同一个行程上执行&#xff0c;但是原有行程则被结束了。
他们的最大区别就是在于&#xff1a;原有行程会否终止。
7、iptables表和链
简称三表五链
filter:INPUT FOWARD OUTPUT
nat&#xff1a;OUTPUT PREROUTING POSTROUTING
mangle&#xff1a;INPUT FOWARD OUTPUT PREROUTING POSTROUTING
8、统计目录inode占用数目
for i in &#96;find . -type d&#96;;do ls -1i $i |awk -v sum&#61;0 -v dir&#61;$i &#39;{sum&#43;&#61;!a[$1]&#43;&#43;};END{print sum"\t"dir}&#39;;done |sort -n
本文转自 kuSorZ 51CTO博客&#xff0c;原文链接:http://blog.51cto.com/kusorz/1856705