Featured image of post Linux常见命令

Linux常见命令

如今程序员生产的程序99%都部署在linux环境下,程序发现缺陷,程序员的第一反应是到 Linux 上拉日志下来看。程序员不是运维,不需要掌握非常多复杂命令。

推荐终端

  • SecureCRT
  • xshell
  • MobaXterm

常用命令⭐

  • ls/ll
  • cd
  • mkdir
  • rm
  • cp
  • mv
  • ps
  • top / htop
  • grep
  • kill
  • free
  • tar
  • netstat

top⭐

显示系统中各个进程的资源占用状况,可以看是否有 CPU 占用过大的进程。

查看进程PS

ps -ef | grep xxx (例:如何查看所有xx进程)

ps -aux | grep xxx(-aux显示所有状态)

cat、less 、 more、tail ⭐

cat:是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况;

more: 顾名思义显示更多

less: 由于more不能后退,就取more的反义词less加上后退功能;所以Linux里流传着这样一句话:“less is more”.

more 和 less的区别

  1. less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
  2. less不必读整个文件,加载速度会比more更快
  3. less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容

tail

tail -f *.log : 适用于实时查看日志,开发环境还行,生产就算了,日志会很多。

tail -f error.log :生产中一般用这个实时看异常日志

-f :循环读取 ,用于查阅正在改变的日志文件。

netstat⭐

用于显示网络状态,可能没有安装,可以通过yum安装:yum install net-tools

-a (all)显示所有选项,netstat默认不显示LISTEN相关 -n 拒绝显示别名,能显示数字的全部转化成数字。(重要) -r 显示路由信息,路由表 -e 显示扩展信息,例如uid等 -s 按各个协议进行统计 (重要)

grep 查找⭐

grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。

常见例子

grep -r ‘关键字如商品ID’ *.log (使用频率最高)

grep ‘关键字如商品ID’ *.log | grep 免费商品(在管道符前条件结果中,在加条件筛选下)

grep ‘关键字如商品ID’ *.log » anan.txt (相关日志输入到一个txt中,下载到本地慢慢看)

grep -n 2019-10-24 00:01:11’ *.log 可以查找 *.log文件中,查到时间内的所有信息

查找特定文件 find

find ~ -name “需要查找的文件名”

管道操作符 |

可将指令连接起来,前一个指令的输出作为后一个指令的输入

杀僵尸进程

ps -ef | grep java 【先查java进程ID】

kill -9 java进程ID 【生产环境谨慎使用】

对文件内容做统计 awk ⭐

依次处理文件的每一行,并读取里面的每一个字段,可用作统计。

$ awk 动作 文件名

批量替换 sed

sed 配合正则表达式批量替换文本内容

Built with Hugo     主题 StackJimmy 设计