此部分主要考察java从业者的线上问题排查能力,现基于CentOS release 6.5 (Final)简要介绍如下6个命令[^1],期间用poem文件举例。推荐查询linux命令的两个网址Linux 命令大全 | 菜鸟教程Linux命令大全(手册)。
1 | cat poem |
awk命令(菜鸟教程)
功能:数据处理工具(默认分隔符:空格或tab)sed常用作一整行的处理,awk则倾向于将一行分成数个“字段”处理,适合小型数据处理。
语法:awk ‘条件类型1 {动作1} 条件类型2 {动作2}…’ filename
e.g. 输出poem中第2行至第6行的第2列与第4列内容以及第1列乘10结果,中间以#符分割(提示:NR为当前处理行的行号)
1 | awk 'NR>=2 && NR<=6 {print $2"#"$4"#"$1*10}' poem |
top命令(菜鸟教程)
功能:动态查看进程变化,
语法:top [-d 数字] | top [-bnp]
-d 页面刷新时间间隔描述,本次所用系统默认3秒
-b 以批次的形式展现
-n 执行几次后停止
-p 查看进程号为p的进程动态
e.g. 每隔3秒批次查看进程号为1673的进程3次,然后结束。top -d 3 -b -n 3 -p 1673
netstat(菜鸟教程)
功能:跟踪网络
语法:netstat -[atunlp]
-a 显示系统所有连接、监听、Socket
-t 列出tcp网络数据包的数据
-u 列出udp网络数据包的数据
-n 不列出进程的服务名称,以端口号显示
-l 列出正在监听的服务
-p 列出进程号为PID的进程
e.g. 累出目前系统已经新建的网络连接与Unix Socket状态netstat
1 | Active Internet connections (w/o servers) |
grep(菜鸟教程)
功能:分析一行数据,后边常跟正则表达式
语法:grep [-acinv] [–color=auto] ‘查找字符串’ filename
-a 将binary文件以text文件方式查找数据
-c 计算找到’查找字符串’的次数
-i 忽略大小写的不同
-n 输出行号
-v 输出没有’查找字符串’的那一行
e.g. 输出poem包含’l’字符的几行,顺带输出行号grep -n 'l' poem
1 | 2:2 The Noon Balloon |
less(菜鸟教程)
功能:一页一页翻动(往前往后翻)由于poem文件长度较短,不便演示
tail(菜鸟教程)
功能:取出后面几行
语法:tail -n
e.g. 显示poem后两行
1 | tail -n 2 poem |
添加新用户,并赋予root权限
1 | useradd newuser |
远程服务器免密登录设置
1 | 1. 本地生成ssh公私钥 |
sudo和man的tab自动补全
1 | 在~/.bashrc中加入 |
[^1]:鸟哥. 鸟哥的Linux私房菜[M]. 北京: 人民邮电出版社, 2016.