是时候该总结下自己工作常用的linux命令了

Advertisement

工作中,常用的命令,进行总结下。
场景1:大张负责线上一个服务,使用java语言开发的。有一天,他收到报警,大概意思就是服务不能用,这个时候,老板让他查下是什么原因?
下面是大张的处理过程?

  1. 登录到这个机器,看下java进程
    ps -aux | grep -v ‘grep’ | grep java –color=auto
    经过分析,
    场景1:发现没有这个服务的java进程,大张给老板说,这个服务停了。这个事情算是搞定了。
    场景2:发现这个服务的进程是存在的,大张执行下面的命令,看下这个服务的监听的端口,
    netstat -lnpt
    大张看到了这个监听的端口是有的,但是看不到哪个是进程占用的,因为大张的权限问题,大张切换成root角色权限的用户,假设叫niubi
    sudo -u niubi -i
    大张看到了占用这个端口的进程,lsof -i:端口,然后大张想看下监听这个端口的进程和刚才用ps -ef | grep -v ‘grep’ | grep java 查到的进程是啥关系,然后大张使用了如下命令,
    pstree
    但是,大张看不出什么,大张又执行了pstree -Aup
    这个时候大张发现,这两个进程的父子关系,然后就断定,进程没问题,端口没问题,那么怎么办呢?其实,本应该去看应用的日志的,哎,还是去看应用日志吧。
  2. 看应用日志
    日志文件都存放到一个指定目录,假设为/var/apps/log
    这个目录下面有很多的日志,大张,先执行如下命令:
    ls -ls
    这么多日志,怎么看,大张找到了当天的日志,假设是app.log.2015-09-12
    大张使用命令
    less -MN app.log.2015-09-12
    然后输入error,没啥收获,然后大张执行命令:
    cat app.log.2015-09-12 | grep Exception –color=auto
    发现很多异常,大张想看下有多少,然后执行了命令
    cat app.log.2015-09-12 | grep Exception | wc -l
    (或者grep Exception app.log.2015-09-12)
    哇塞,还挺多,问题很严重!
    不过从日志中,经过分析可能是IO方面的问题,大张决定看下机器的负载情况。
  3. 看机器负载
    大张执行了命令top
    大张看了几个cpu,和内存使用情况,然后看了眼有无僵尸(zombie)进程
    ,应该没啥问题,然后大张又看了下磁盘使用情况:
    df -hl
    也没啥问题,然后看下当前目录的总量占用情况,执行命令:du -sh ./
    也没啥问题,执行du -sh *命令,看了每个日志文件的大小,也没啥,
    大张实在是解决不了问题了,抓狂!!!!!

场景2:
有一天,大张启动一个需要打开很多文件的程序,总是打不开文件,凭着经验,大张想应该是用命令看下:ulimit -a
发现,原来系统的文件打开数量限制是1024,而大张想看下当前打开的有多少,执行命令lsof | wc -l
然后大张调整了ulimit大小,就OK了。

后来,大张学习了以下命令:
物理cpu的个数如下所示:
cat /proc/cpuinfo | grep ‘physical id’ | sort | uniq | wc -l
每个物理CPU中core的个数(即核数),如下:
cat /proc/cpuinfo| grep ‘cpu cores’ | uniq

查看内存使用情况:
free -m

查看硬盘使用情况:
fdisk -l
df -h

查看I/O性能:
iostat

查看负载
uptime

查看系统内核
uname -a

查看使用的Linux发行发版的相关信息:
lsb_release -a

查询PCI设置
lspci

查询网卡型号
lspci | grep Ether

查看系统路由表
route -n
或者通过如下命令:
netstat -r

追踪网路数据包的路径
traceroute www.163.com

场景3:大张的公司的机器上的命令有很多都弄成别名了,大张想看下,
然后大张执行如下命令:
alias

Similar Posts:

  • 有趣常用的linux命令

    有趣常用的linux命令 linux命令可以简化我们工作中的许多任务.关于Linux这个主题已经考虑很久了,也还是在不断的完善中,在自己的实验和各种资料的整理中,认为还是一些不错的命令. 自己也会在后续不断完善,大家有比较好的命令可以分享一下. 1.查看自己常用的linux命令 history | awk '{print $2}' | sort | uniq -c | sort -rn | head -10 这行脚本能输出你最常用的十条命令,可以看出自己平时最常用的一些命令.看看时间都去哪了?

  • windows下TCP/IP常用网络故障诊断命令

    windows下可使用的网络故障诊断命令: 链路层 arp -a:查看本机所存的ARP表(ARP表是一张存储其他主机的MAC地址和IP地址对应的缓存表). arp -d:清空arp缓存表. IP层(网络) ping :不解释. tracert:trace router缩写,跟踪路由,可看出消息走到哪个主机或路由器时中断了. route print:查看IP层路由表. 传输层 netstat -ano:查看端口与PID的绑定关系,通过此命令可看到各个应用程序在使用哪个端口通信. 应用层 ipcon

  • 我所觉得好用且常用的Linux命令

    常用Linux命令: -----------------2015/11/20提交-------------------- cd                打开 1s                 遍历文件夹 ./view.sh          查看运行情况 tab 自动补全  sh                执行脚本 ps -ef|grep java  查看java进程 kill -9  pid 干掉进程 netstat -apn|grep 8180    获取端口运行情况 sudo

  • 工作中常用的linux命令总结(1)

    这是我的第一篇博文,鉴于互联互通.技术分享的精神,想想就激动! 来点日常工作的干货吧:) 1.复制文本时候 cat和vi复制的文件格式不一样 vi会有多出空行来; 2.gdb rc core.10006 rc是程序目录bin下面的程序文件 core.10006是core文件: 3.SHOW MASTER LOGS:查看目前的master binlog日志 PURGE MASTER LOGS TO 'mysql-bin.010':删除日志从最久的到mysql-bin.010 PURGE MASTE

  • Linux下几个常用的键盘命令

    这是非常简单的几个简单命令(我知道了才这样说),但是不知道的话又会让人抓狂. 1,如何进入终端 进入系统后,右击鼠标-->新建终端. 或者主菜单(左下角的红帽子)-->系统工具-->终端. 建议将终端放到面板上,使用时只需单击面板中终端的图标即可. 到面板过程:主菜单(左下角的红帽子)-->系统工具-->终端-->右击终端-->将该启动器加入面板. 2,使用man命令后如何退到终端界面 在man界面的最下端的冒号后输入q(quit的简写),可以立即回到终端. 3,

  • 开发工作中常用的linux命令(持续更新)

    压缩文件:zip -r xxx.zip filepath 查看进程:ps -ef|grep XXX 查看端口号:netstat -lnp|grep 80 启动多个apache:./httpd -f /usr/local/httpd/conf/httpdtest.conf 启动多个resin:./resin.sh -server test1 start 解压tar文件:tar zxvf xxx.tar 压缩目录:tar czvf target.tar.gz dirname 启动memcached:

  • 常用的Linux命令和设置,记录以备忘

    1.关闭防火墙 /etc/init.d/iptables stop #start 开启 #restart 重启 永久性关闭防火墙chkconfig --level 35 iptables off 2.YUM yum -y install 包名(支持*) :自动选择y,全自动 yum install 包名(支持*) :手动选择y or n yum remove 包名(不支持*) rpm -ivh 包名(支持*):安装rpm包 rpm -e 包名(不支持*):卸载rpm包 3.sohu源 先进入yu

  • 一些 常用的linux 命令记录

    在此记录一些命令的用法,方便需要的时候查用 1.查看文件夹大小 du:查询档案或目录的磁盘使用空间 a:显示全部目录和其次目录下的每个档案所占的磁盘空间 b:大小用bytes来表示 (默认值为k bytes) c:最后再加上总计 (默认值) s:只显示各档案大小的总合 x:只计算同属同一个档案系统的档案 L:计算所有的档案大小 常用命令:du -a 示范命令 du -sm 文件夹名称 //返回该文件夹总M数 du -sh 文件夹名称 //返回该文件夹大小,单位为自适应,h代表human-read

  • 100个常用的linux命令(转)

    原文:http://blogread.cn/it/article/6368?f=wb 1,echo "aa" > test.txt 和 echo "bb" >> test.txt //>将原文件清空,并且内容写入到文件中,>>将内容放到文件的尾部 2,chmod go+w -R /home/zhangy //给组用户和其他用户添加写的权限 3,tar -tzvf test.tar.gz //列出归档内容 4,du -ah //查看

  • 100个常用的Linux命令——转载

    1,echo "aa" > test.txt 和 echo "bb" >> test.txt //>将原文件清空,并且内容写入到文件中,>>将内容放到文件的尾部 2,chmod go+w -R /home/zhangy //给组用户和其他用户添加写的权限 3,tar -tzvf test.tar.gz //列出归档内容 4,du -ah //查看文件列表大小 5,du -sh //查看所有文件的大小总和 6,echo ’1+2′|

Tags: