Linux 的面试小题 6

1. 请用shell查询file1里面空行所在的行号

答案:

grep -n "^$" file1

 

2. 编写ShellScript 查询file1以abc结尾的行

答案:

grep “.*abc$” file1

 

3. 打印出file1文件第1到第3行

答案:

sed  -n  ‘1,3’p  file1

 

4. 如何将本地80端口的请求转发到8080端口,当前主机ip为192.168.2.18

答案:

iptables -t nat -I PREROUTING -d 192.168.2.18 -p tcp --dport 80 -j DNAT --to 127.0.0.1:8080

 

5. 分别写出每天的早上3 点执行一次/usr/bin/waks.day.sh,每周日早上4点执行一次/usr/bin/baks_week.sh

答案:

0 3 * * *  /bin/bash /usr/bin/waks.day.sh

0 4 * * 7  /bin/bash /usr/bin/baks_week.sh

 

6. 如何查看Java占用线程及线程所在目录

答案:

ps  -eLf |grep Java  查看所有线程,记住第二列的数字即pid

ls -l /proc/pid 查看cwd那行即为目录

 

7. 通过apache访问日志access.log统计IP和每个地址访问的次数,按访问量列出前10名。日志格式样例如下

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

答案:

awk ‘{print $1}’ access.log|sort -n|uniq -c|sort -rn|head

 

8.如何用mysql命令进行备份和恢复?以test库为例,创建一个备份,并再用此备份进行恢复。

答案:

备份 mysqldump -uroot -p’***’ test > /tmp/test.sql

恢复mysql -uroot -p’***’ < /tmp/test.sql

 

9.你认为在系统调优方面都包括那些工作,以Linux为例,请简明阐述,并举一些参数为例。

答案:

Linux系统调优可以通过这几个方面来做,比如文件系统优化(分区调优,格式化时根据存储文件特性,指定合适的块大小,noatime,日志隔离,软raid,有效使用/dev/shm,关闭不必要的服务)、内核参数优化(net.ipv4.tcp_syncookies = 1, net.ipv4.tcp_max_tw_buckets = 65535, net.ipv4.tcp_tw_recycle = 1, net.ipv4.tcp_tw_reuse = 1)

 

10.请用iptables 写出只允许10.1.8.179访问本服务器的22端口

答案:

iptables -I INPUT -s 10.1.8.179 -p tcp --dport 22 -j ACCEPT

 

11.Nginx启动,重启,关闭命令:以及升级nginx切换命令

答案:

启动:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

重启: /usr/local/nginx/sbin/nginx -s stop 掉再启动

关闭:/usr/local/nginx/sbin/nginx -s stop

升级:/usr/local/nginx/sbin/nginx -s reload

 

12.现在因为访问人数太多,网站时常出现too many connection的错误,请给出解决的方案。

答案:

Too many connections是因为连接mysql的客户端数量超过了它的最大限定值。mysql默认最大连接数为100个,而程序在打开连接后,并未能及时的关闭mysql的连接,造成连接数超出默认值。临时解决方案:在my.cnf里配置max_connections=1024 (这个数值根据业务访问量多少来决定,通常1024是足够的),更改后需要重启mysqld服务,若不能重启服务,也可以进入mysql中,执行set global max_connections = 1024;。当然,最好的解决方案就是和开发人员一起找出不能正常关闭连接的问题,比如要通过查看慢查询日志分析执行慢的sql。

posted @ 2017-07-28 17:16  静醉丶那份默念  阅读(148)  评论(0)    收藏  举报