系统信息

  1. top:实时显示系统进程和资源使用情况。当线上报警CPU占用率过高,load飙高的时候,我们通常会先上去使用top命令看一下具体哪些进程耗费了资源。
  2. df:显示磁盘空间使用情况。当线上服务器报警磁盘满的时候,需要上去查看磁盘占用情况,可以使用这个命令!

-h(--human-readable):以易于阅读的格式(如MB、GB)显示信息。

  1. du:显示目录或文件的磁盘使用量。这个命令可以查看目录的磁盘占用情况,常用的几个命令如下图:
  2. date:查看和设置系统的日期和时间

系统管理

  1. ps:查看当前进程。通常用来查看Java进程的情况以及检查JVM参数:
//查找java进程,相当于jps命令,但是有的时候线上服务器没办法执行jps,可以用以下命令代替
ps aux|grep java
//查询java进程,并高亮显示Xmx参数部分
ps aux|grep java | grep --color Xmx
  1. kill:杀死进程,慎用,尤其是在生产环境中,尤其是kill -9
  2. chmod:更改文件或目录权限。
  3. chown:更改文件或目录的所有者和群组。

文件操作

这里就是一些非常常用的文件操作命令了,每一个都不展开讲了,都比较简单,都是必会的。

  1. ls:列出目录内容。当需要显示隐藏文件的时候用ls -a
  2. llllls -l命令的一个别名,用于以详细列表格式显示当前目录中的文件和目录。
  1. cd:更改当前目录。
  2. pwd:显示当前目录路径。
  3. open:直接打开当前文件夹,这个命令在linux中用的不多,但是我在mac中用的比较多,当我在idea中的时候,想要打开当前目录的文件夹,我就会Terminal中使用open命令。这个命令会通过文件管理器打开当前目录。
  4. mkdir:创建新目录。
  5. rmdir:删除空目录。
  6. rm:删除文件或目录。
  7. cp:复制文件或目录。
  8. mv:移动或重命名文件或目录。
  9. touch:创建空文件或更新文件时间戳。
  10. find:搜索文件和目录。find非常好用,介绍下我常见的用法:
// 在当前目录及其子目录中查找名为filename.txt的文件:
find . -name filename.txt
//查找所有目录
find . -type d
//查找所有普通文件
find . -type f
//查找大于10MB的文件
find . -size +10M
//查找修改时间在过去7天内的.log文件
find . -name "*.log" -mtime -7

日志查看

日志查看是一个非常高频的命令,我常用的日志查看命令有以下这些:

  1. vi/vim:
  2. cat:查看文件内容。用于查看较小的文本文件
  3. more / less:分页查看文件内容。less可以翻页,more不能翻页。查看较大的文本文件。
  4. tail:查看文件末尾内容,通常用来实时监视日志文件的新增内容:
tail -f application.log
//只滚动输出ERROR的日志
tail -f application.log |grep ERROR
  1. head:查看文件开始部分的内容。用于快速查看文件的开头部分。
  2. grep:搜索文件中的文本行,并显示匹配的行。通常用来查找包含特定关键词的日志条目。
//查询日志中有ERROR的行
grep "ERROR" application.log
//查询日志中有ERROR和Biz的行
grep "ERROR" application.log | grep "Biz"

网络和通信

  1. ping:检测网络到另一台主机的连接。
  2. curl / wget:从网络上下载文件。
  3. netstat:显示网络连接、路由表、接口统计等信息。
  4. ssh:安全远程登录。
  5. scp:通过SSH复制远程文件。
  6. telnet:主要被用于创建到远程主机的终端会话,或者测试远程主机上特定端口的可达性和服务的响应性。(我之所以这个命令用的多,是因为我们自己的web容器会在本地起一个端口记录我们的应用提供了哪些RPC服务和暴露了哪些RPC服务,所以有时候检查服务的时候需要用到它。)
  7. ifconfig:查看和更改网络接口的配置,例如IP地址、子网掩码和广播地址。有的时候我们需要做远程debug,需要知道远程机器的ip地址,就可以通过这个命令来查看。

压缩与解压

  1. tar:压缩和解压tar文件。
  2. gzip / gunzip:压缩和解压gzip文件。
  3. zip / unzip:压缩和解压zip文件。

包管理

  1. apt-get(Debian系)、yum(RedHat系):软件包的安装、更新和管理(根据你的Linux发行版而定)。

Git&Maven

  1. git:版本控制工具,常用于代码管理。
git add 
git fetch
git commit 
git pull
git push
git checkout
git merge
  1. maven:包管理,仲裁管理
//删除之前构建生成的所有文件(例如,target目录下的文件)
maven clean
//将最终的包(如JAR、WAR等)部署到配置的远程仓库
maven deploy
//先清理项目,然后执行构建并安装到本地仓库,同时跳过测试。
maven clean install -Dmaven.test.skip=true
//-U参数会强制Maven更新依赖,即检查远程仓库中是否有更新的snapshot版本,并下载更新。
maven clean install -Dmaven.test.skip=true -U
//生成项目依赖树,并将输出重定向到名为tree的文件
maven dependency:tree > tree

系统监控和性能分析

  1. vmstat:显示虚拟内存统计信息。
  2. iostat:显示CPU和输入/输出统计信息。
  3. dmesg:显示内核相关的日志信息。
此作者没有提供个人介绍
最后更新于 2024-09-23