实习过程中linux相关开发学习总结(二)

  • 在使用lua+nginx+redis开发过程中,总是线上,线下看代码,修改代码,这里涉及到一些常用的linux命令。当然也是开发过程中的必备技能
  • 首先你管理的机器会很多,你不确定某台机器上是否安装过这些软件,或者安装在哪里.whereis 可以解决,正如 who ,uname,man这些常用的命令一样。当输入redis-cli 时,你可能连不上redis,(redis连接可以远程,指定端口连接).应该想到,redis服务到底开没有,redis是不是开了别的端口或者很多端口,问你的老大,他会告诉你,不过没用,机器随时都可能挂掉,各种意外。想到了进程,端口服务,psnetstat 两个命令必须会的。
    man ps ,baidu google ps详解等会得到很多结果,不过确实太多了,不可能记住
    ps -aux 是比较常用的 , 当然结合 管道grep 使用更好
    netstat , grep两个命令也是同样的强大,netstar -lntup ,这个命令选项参数很多,但是可以猜想t是tcp,再结合grep查找下端口,服务名称,等等,已经够用了。请记住linux总是人性化的,记得多联系英文单词,稍微思考下,多用两下就行了。
  • 在lua+nginx 开发中你会遇到http 404, 500等等错误,检查下nginx 服务器。当然看代码,调试最重要的,不过lua+nginx是没有debug,断点什么的,有日志log。所以写代码,没事多敲一些日志(主要是方面发现问题,日志写的有逻辑,够清楚,那么更容易发现错误,后期维护也方面)。跟写注释差不多的,一切都要规范起来。代码是给人看的,顺便可以跑起来服务而已(是个程序界名言,要搜索下英文)。你的老大,运维人员都要看的,你也会跳槽,比人需要接手你的项目,所以要记住,代码规范项目规范
    代码写好了,运行出问题了,好好看看log 。文件太多,find ,grep 两个强大的命令不可少,至少应该知道根据文件名,根据某些特定的内容,在某个目录或真个目录下查找。(仍然是man,baidu,google,记住简单的就够了)。太多了,注意联想,各种用途,只要想得到都可以试一下,任务是快速定位到具体的文件。
  • 到了查看文件发现问题,查看文件cat,more , less ,head ,less , 或者直接vim(我首先能想到的就这么多)。
    突然想到使用数据库时select*有时候查不到结果,电脑卡住或要等个半天,因为文件太大了,所以 用到了count, limit命令。可以想到上述查看命令应该是各有用途的吧,当然我们应该对文件做一个预判,wc可以查看下文件的一些信息,文件太大,当然直接cat会很不爽,more,less查看可能要方便些。headtail : 在github上看到了很多开源的项目,文件头部部分都有写注释,文档说明的,head 可以选择文档前面多少行,确实很方便。像nginx log日志是按时间在最下面的,所以可以tail 后面多少行查看,当让tail -f常用,像个监听器一样,文件新添加的内容可以直接看到。

  • 一天似乎接触到很多linux命令,不过仔细想想,绝对都用的到,并且简单的都记得住。有时候太依赖图形界面和鼠标了。当然也看到了很多一天一个linux命令这样的学习笔记,不过工作最重要,不可能花大量的时间学一个命令,记不住,也没必要。即便有时间,也很难持续很久学一个命令,太无聊。多想一下,有什么命令,可以怎么用,如何帮助学习工作,积少成多。感觉总结一天用到的linux命令,无形之中就记住了。

  • 推荐个linux命令查看学习网站:http://man.linuxde.net

你可能感兴趣的:(实习过程中linux相关开发学习总结(二))