秋招关于Linux&SQL的面试题及思路

Linux

查看进程:

ps(用于查看当前正在运行的进程)

grep(搜索)

ps -ef | grep java:表示查看所有进程里CMD是Java的进程信息

ps -aux | grep java:显示所有状态

ps aux | less:查看当前运行进程的所有信息

kill:终止进程

kill -9[PID]:-9标识强迫进程终止,通常用ps查看进程pid,再kill杀死

查看日志:

Log位置:

/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一

/var/log/secure 与安全相关的日志信息

/var/log/maillog 与邮件相关的日志信息

/var/log/cron 与定时任务相关的日志信息

/var/log/spooler 与UUCP和news设备相关的日志信息

/var/log/boot.log 守护进程启动和停止相关的日志消息      

tail:显示文件尾部

tail -f filename(监视filename文件的尾部内容,默认为10行,Ctrl+C退出)

tail -n 20 filename(显示filename 的最后20行)

tail -r -n 10 filename(逆序显示filename的最后十行)

head :显示文件头部

head -n 10 filename(显示文件头10行)

动态查看日志:切换到日志目录,tail -f catalina.out

vi 命令替换字符串:

vi :s/要替换的字符/被替换的字符/(:s/vivian/sky/         #替换当前行第一个 vivian 为 sky

:s/vivian/sky/g     #替换当前行所有 vivian 为 sky

1:  :s/str1/str2/          #用字符串 str2 替换行中首次出现的字符串 str1

2:  :s/str1/str2/g         #用字符串 str2 替换行中所有出现的字符串 str1

3:  :.,$ s/str1/str2/g     #用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1

4:  :1,$ s/str1/str2/g     #用字符串 str2 替换正文中所有出现的字符串 str1

5:  :g/str1/s//str2/g      #功能同上

查看端口:

lsof -i:端口号:查看某一端口的占用情况

# lsof -i:8000
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
lwfs    22065 root    6u  IPv4 4395053      0t0  TCP *:irdmi (LISTEN)

netstat -tunlp | grep 端口号:查看指定端口号的进程情况(netstat用于监控网络)

磁盘满了:

linux下空间满可能有两种情况

可以通过命令

df -h  查看磁盘空间占用,实际上是查看磁盘块占用的文件(block)

df -i  查看索引节点的占用(Inodes)

磁盘块和索引节点其中之一满,都会导致无法创建文件,提示磁盘空间已满。

所以请注意,查看磁盘还有空间,但是创建文件提示空间满,可能是inodes节点已满

通过命令:find / -size +100M |xargs ls -lh

列出系统内大于100M的文件

du -h --max-depth=1

查看当前目录内文件夹的大小

可以两种方式都测试下,有些时候,占用了大量空间的其实是系统日志或业务附件等小文件,

所以根据文件大小去查找不一定能查出正在占用硬盘空间的【目录】或文件,建议使用第二种

日志文件较大

web访问日志,建议做定时任务日志切割,以天为单位做压缩备份(可以通过脚本实现),保留一定时间以备查看,有需要可以做日志分析。

以一键安装包的环境为例,/alidata/log/ 目录下是是日志文件,可以检查文件大小是否占满磁盘使用,通常,access目录下文件为访问日志,error为错误日志。如磁盘占慢,这些日志又不重要,那么可以做清空处理,方法1,可以rm 删除掉,2 echo"" >access.log 

大量小文件引起

由于业务需求,产生大量小文件,需要考虑新增加磁盘或者使用oss存储服务

SQL

忘记密码:

猜你喜欢

转载自blog.csdn.net/qq_34364740/article/details/81190266