2. Linux常用命令

此部分主要考察java从业者的线上问题排查能力,现基于CentOS release 6.5 (Final)简要介绍如下6个命令[1],期间用poem文件举例。推荐查询linux命令的两个网址Linux 命令大全 | 菜鸟教程Linux命令大全(手册)

cat poem
******结果******
1 --------------------------
2 The Noon Balloon
3 Will be leaving soon
4 For the sun or the moon.
5 And wherever it goes,
6 It will get there too soon.
7 --------------------------
  • awk命令:好用的数据处理工具(默认分隔符:空格或tab)
    sed常用作一整行的处理,awk则倾向于将一行分成数个“字段”处理,适合小型数据处理。
    语法:awk '条件类型1 {动作1} 条件类型2 {动作2}...' filename
    e.g. 输出poem中第2行至第6行的第2列与第4列内容以及第1列乘10结果,中间以#符分割(提示:NR为当前处理行的行号
awk 'NR>=2 && NR<=6 {print $2"#"$4"#"$1*10}' poem
******结果******
The#Balloon#20
Will#leaving#30
For#sun#40
And#it#50
It#get#60
  • top命令:动态查看进程变化
    语法:top [-d 数字] | top [-bnp]
    -d 页面刷新时间间隔描述,本次所用系统默认3秒
    -b 以批次的形式展现
    -n 执行几次后停止
    -p 查看进程号为p的进程动态

e.g. 每隔3秒批次查看进程号为1673的进程3次,然后结束。
top -d 3 -b -n 3 -p 1673

top命令执行结果.gif

  • netstat命令:跟踪网络
    语法:netstat -[atunlp]
    -a 显示系统所有连接、监听、Socket
    -t 列出tcp网络数据包的数据
    -u 列出udp网络数据包的数据
    -n 不列出进程的服务名称,以端口号显示
    -l 列出正在监听的服务
    -p 列出进程号为PID的进程
    e.g. 累出目前系统已经新建的网络连接与Unix Socket状态
    netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      1 node4:42278                 node1:intu-ec-svcdisc       SYN_SENT    
tcp        0      1 node4:59492                 node2:intu-ec-svcdisc       SYN_SENT    
tcp        0      0 node4:ssh                   192.168.226.1:56589         ESTABLISHED 
tcp        0    132 node4:ssh                   192.168.226.1:53859         ESTABLISHED 
tcp        0      0 node4:8031                  node4:32834                 ESTABLISHED 
tcp        0      1 node4:44307                 node1:eforward              SYN_SENT    
tcp        0      0 node4:32834                 node4:8031                  ESTABLISHED 
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  14     [ ]         DGRAM                    11626  /dev/log
unix  2      [ ]         DGRAM                    9228   @/org/kernel/udev/udevd
unix  2      [ ]         DGRAM                    12430  @/org/freedesktop/hal/udev_event
…(省略)…
  • grep命令:分析一行数据,后边常跟正则表达式
    语法:grep [-acinv] [--color=auto] '查找字符串' filename
    -a 将binary文件以text文件方式查找数据
    -c 计算找到'查找字符串'的次数
    -i 忽略大小写的不同
    -n 输出行号
    -v 输出没有'查找字符串'的那一行
    e.g. 输出poem包含'l'字符的几行,顺带输出行号
    grep -n 'l' poem
2:2 The Noon Balloon
3:3 Will be leaving soon
6:6 It will get there too soon.
  • less命令:一页一页翻动(往前往后翻)
    由于poem文件长度较短,不便演示

  • tail命令:取出后面几行
    语法:tail -n
    e.g. 显示poem后两行

tail -n 2 poem
******结果******
6 It will get there too soon.
7 --------------------------

  1. 鸟哥. 鸟哥的Linux私房菜[M]. 北京: 人民邮电出版社, 2016. ↩

你可能感兴趣的:(2. Linux常用命令)