1.为什么写这六个命令呢?
- 对刚开始接触或者使用linux的小猿们来说,去看鸟哥的linux私房菜太过于庞大(我没看)。这6个命令将确保他们在使用中畅行无阻。
- 其实毫无头绪才是他们学习的最大障碍!
- 我真的是雷锋!
2.且看我如何干好事!
find 命令:查找文件
场景:话说我换了一家公司,刚刚搞好环境,旁边一大牛发话了,你更新一下代码,把007bug修复了,然后部署到测试环境上。说完就给了我服务器地址!3分钟以后我编译了改好的代码,准备部署了!
突然想到,tomcat 在那个地方呢?难道要问一下?不行!我tmd也是一个合格的三年开发经验的程序员啊!
我 ssh 到服务器:
find / -type d -name 'tomcat*'
说明:查找根目录下(/) tomcat 文件夹(-type d),全出来了!我一看三个呢
/opt/soft/tomcat_1
/opt/soft/tomcat_2
/opt/soft/tomcat_3
于是我通过每个tomcat的server.xml文件找到了tomcat_3。
grep 命令:查找文件中的内容
场景:我启动了tomcat_3,正要去上个厕所,大牛又发话了,你看看启动时报错了吗?我一听,忘了看了,我立马进入刚才的tomcat logs下面:
grep -i -E 'exception | error' catalina.out
说明:查找catalina.out 文件中 不区分大小写 匹配 exception 或者 error 的行!
这一看很要紧,艹,这 error ,最后previous Error,项目没起来啊!
lsof 命令
场景:在这个关键时刻,我又一次展现出了牛逼的实力。我接着运行
grep -i -E -A 5 -B 5 'exception | error' catalina.out
仔细看了一下,8081 already in use ,端口号占用!没关系:lsof -i:8081
,果然有进程java pid 21754(LISTEN)。但是我并没有贸然杀死他,因为我开始怀疑我的tomcat_3端口号到底是不是8081了。
ps 命令
场景:这时候大牛已经凑到我旁边了,我镇定的望了望他,运行:
ps -ef | grep tomcat_3
显示 pid 21754 tomcat_3!的确是tomcat_3没shutdown。我飞快的运行了kill -9 21754
并且又一次启动了tomcat_3。
tail 命令
场景:这一次我没有离开黑窗口,我进入tomcat logs下面运行:
tail -f -n 20 catalina.out
看着动态的启动日志,几秒后,显示started 8081.
sed 命令
场景:看到我神一般的速度,大牛的眼中闪烁出光芒,接着对我说,咱现在好几个html中有公司的客服号码,得把008换成007。我听后继续运行:
find tomcat_3/webapp -name '*.html' -exec grep -r '008' {} \; -exec sed -i 's/008/007/g' {} \;
搞定了,我对大牛眨了眨眼深藏功与名。