1. 请找出 /home 下所有5天前以 .log 结尾的文件列表
find /home -mtime +5 -name '*.log' -type f 2. 如何找到httpd 的进程号 ps -ef | grep '[h]ttpd' 3. 如何创建一个不能LOGIN但能ftp 的用户 useradd -G ftp username -s /sbin/nologin 4. 列出当前Linux服务器所有的监听端口及其进程号 netstat -lp 5. 如何看到某用户对系统所做的操作(比如:Test 用户) 和系统登陆记录 cat /home/Test/.bash_history; last Test 6. 如何计算当前磁盘通道的IO带宽使用 iostat 7. 如何看到一个子进程的父进程号 ps -xf -O ppid | grep Process 8. 如何将某目录打包(比如目录/home/test) tar -cvf test.tar /home/test tar -czvf test.tar.gz /home/test 9. 如何查看系统的内存,cpu 等使用情况 top 10. 如何显示test 文件的第100行 sed -n '100p' test awk 'NR==100' test head -100 test | tail -1 11. 用shell脚本写出检测/tmp/size.log文件如果存在显示它的内容,不存在则创建一个文件将创建时间写入。 [ -f '/tmp/size.log' ] || date > /tmp/size.log 12. 如何用iptables 将A 机器发送到B机器 80 端口的数据转发到 C 机器的 8080 端口 (A B C 都装有iptables 目前没有规则) iptables -t nat -A PREROUTING -i eth0 --dport 80 -j DNAT --to C:8080 13. 写出命令:tcpdump命令截取bond0网卡上从210.97.32.0网络位23位发送到本机8088端口的包。 tcpdump -i bond0 'src net 210.97.32.0/23' and 'dst port 8088' 14. 在mysql中,将数据库USERDB中的表userlist进行备份。写出备份语句 mysqldump USERDB userlist > USERDB_userlist.sql 15. 如何查看mysql是否支持innodb引擎 执行如下命令: SHOW variables like 'have_%' 显示结果中会有如下3种可能的结果: have_innodb YES have_innodb NO have_innodb DISABLED 这3种结果分别对应: 已经开启InnoDB引擎 未安装InnoDB引擎 未启用InnoDB引擎 16. 如何在mysql 的test 表里随机取10条记录 select * from test order by rand() limit 10; 17. 如何查看mysql当前的查询任务,以及如何列出当前连接到mysql数据库的客户 show full processlist; 18. 一台机器的LVM中共有20个PV每个pv(10G)归属于1个VG中,lv的创建命令为: lvcreate –i 15 –L 100G –n test vg01 请问,如果将test的LV卷容量扩展到200G,是否需要增加新的PV?命令是什么? 不需要增加新的pv,因为创建lv的时候没用把所有的pv使用完。 lvextend -L +100G /dev/vg01/test 19. 写出TCP协议的建立过程 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据。 20. 如何给mysql 创建一个对A表有访问权的用户 GRANT ALL PRIVILEGES ON A TO 'test_user'@'localhost' IDENTIFIED BY 'test_pass' WITH GRANT OPTION; 21. 查看Linux系统当前加载的库文件 lsof | grep '/lib/' 22. 查看当前系统某一硬件的驱动版本。比如网卡 ethtool -i eth0 23. nginx如何分别存储错误日志 #!/bin/sh LOGS_PATH=/var/wwwroot/bbs/logs TODAY=$(date -d 'today' +%Y-%m-%d) # 移动日志并改名 mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${TODAY}.log mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${TODAY}.log # 向nginx主进程发送重新打开日志文件的信号 kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid) 24. MySQL服务器如何初始化用户设置 mysqladmin -u root -p password test_pass 25. 如何监控HTTP服务程序的可用性 curl -I localhost 2>/dev/null | head -1 | grep ' 200 OK'
|