Linux常用命令
1、查看系统信息
(1)top:实时显示系统进程和资源使用情况。例如:当线上报警CPU占用率过高,load飙高时,通常会先上去使用top命令看一下具体哪些进程耗费资源
(2)df:显示磁盘空间使用情况。当线上服务器报警磁盘满的时候,需要上去查看磁盘占用情况,可以使用如下命令
df -h 显示系统全部磁盘的使用量情况(带容量单位)
(3)du:显示目录或文件的磁盘使用量
常用命令示例:
du -h . 查看当前目录下所有目录以及子目录的大小
du -a -h 查看当前目录及其子目录下所有目录和文件的大小
du -h --max-depth=1 查找占用空间最大的文件与目录
(4)free:显示系统内存使用量情况,包含物理内存和交换内存的总量、使用量、空闲量情况。
常用命令示例:
free -h 显示系统内存使用量情况(带容量单位)
(5)date:查看和设置系统的日期和时间
常用命令示例:
date +%Y-%m-%d 按照“年-月-日”的指定格式输出系统当前的日期信息
date %H:%M:%S 按照“时:分:秒”的指定格式输出系统当前的时间信息
2、系统管理
(1)ps:查看当前进程状态。通常用来查看Java进程的情况以及检查JVM参数
常用命令示例:
ps aux|grep java 查找java进程,相当于jps命令,但是有的时候线上服务器没办法执行jps,可以用此命令代替
ps aux|grep java | grep--color Xmx 查询java进程,并高亮显示Xmx参数部分
(2)kill:杀死进程,慎用,尤其是在生产环境中,尤其是kill -9,kill -9 命令会立刻关闭Jvm讲程。但是kill -9的语意是强制关闭,会导致在Jvm中执行的服务立刻关闭,来不及结束。例如RPC服务没有从注册中心取消注册导致服务不可用,例如导致事务执行一半直接终止等等
常用命令示例:
kill -9 进程号pid
pid查看可以使用:jps 或者 ps aux|grep java
(3)chmod:更改文件或目录权限
(4)chown:更改文件或目录的所有者和群组
3、文件操作
(1)ls:列出目录内容。当需要显示隐藏文件的时候用 ls -a
(2)ll:是ls -l命令的一个别名,用于以详细列表格式显示当前目录中的文件和目录
(3)cd:更改当前目录
(4)pwd:显示当前目录路径
(5)mkdir:创建新目录
(6)rmdir:删除空目录
(7)rm:删除文件或目录
常用命令示例:
rm File.cfg 删除文件时默认会进行二次确认,敲击y进行确认
rm -f File.cfg 强制删除文件而无须二次确认
rm -rf Dir 删除指定目录及其内的全部子文件,一并强制删除
rm -f *.txt 强制删除当前工作目录内所有以.txt为后缀的文件
rm -rf /* 强制清空服务器系统内的所有文件(慎用!!!)
(8)cp:复制文件或目录
常用命令示例:
cp File1.cfg File2.cfg 复制指定的源文件,并定义新文件的名称
cp -r Dir1 Dir2 复制指定的源目录,并定义新目录的名称
cp -a File1.cfg File2.cfg 复制文件时,保留其原始权限及用户归属信息
cp -f File1.cfg /etc 将指定文件复制到/etc目录中,并覆盖已有文件,不进行询问
cp File1.cfg File2.cfg /etc 将多个文件一同复制到/etc目录中,如已有目标文件名称则默认询问是否覆盖
(9)mv:移动或重命名文件或目录
常用命令示例:
mv File2.cfg /etc 将指定文件移动到/etc目录中,保留文件原始名称
mv Dir1 /etc/Dir2 将指定目录移动到/etc目录中,并定义新的目录名称
mv -f /home/* . 将/home目录中所有的文件都移动到当前工作目录中,若遇到文件已存在则直接覆盖
(10)touch:创建空文件或更新文件时间截
常用命令示例:
touch File.txt 创建出一个指定名称为File.txt的空文件
touch File{1..5}.txt 结合通配符,创建多个指定名称的空文件
touch -d "2024-02-28 15:10" File.cfg 修改指定文件的查看时间和修改时间
(11)find:搜索文件和目录
常用命令示例:
find / -name *.conf 全盘搜索系统中所有以.conf结尾的文件
find . -name file.txt 在当前目录及子目录中查找名为file.txt的文件
find /var/log -name "*.log" 在/var/log目录下搜索所有指定后缀的文件
find . -name "*.log" -mtime -7 查找修改时间在过去7天内的后缀为log文件
4、日志查看
(1)vi/vim:查看并编辑文件
(2)cat:查看文件内容。用于查看较小的文本文件
(3)more/less:分页查看较大的文本文件内容。less可以翻页,more不能翻页。
(4)tail:查看文件末尾内容,通常用来实时监视日志文件的新增内容
常用命令示例:
tail -f File.cfg 持续刷新显示指定文件尾部的后10行内容
tail -n 5 File.cfg 指定显示指定文件尾部的后5行内容
tail -c 30 File.cfg 指定显示指定文件尾部的后30个字符
(5)head:查看文件开始部分的内容。用于快速查看文件的开头部分
常用命令示例:
head -n 10 File.cfg 默认显示文件的前10行内容
head -n 5 File.cfg 显示指定文件的前5行内容
head -c 20 File.cfg 显示指定文件的前20个字符
(6)grep:搜索文件中的文本行,并显示匹配的行。通常用来查找包含特定关键词的日志条目
常用命令示例:
grep "ERROR" application.log 查询日志中有ERROR的行
grep ^root /etc/passwd 搜索指定文件中以某个关键词开头的内容行
5、网络通信
(1)ping:检测网络到另一台主机的连接
(2)curl/wget:从网络上下载文件
(3)netstat:显示网络连接、路由表、接口统计等信息
(4)ssh:安全远程登录
(5)scp:通过SSH复制远程文件
(6)telnet:主要被用于创建到远程丰机的终端会话,或者测试远程主机上特定端口的可达件和服务的响应性
(7)ifconfig:查看和更改网络接口的配置,例如IP地址、子网掩码和广播地址
6、压缩、解压缩
(1)tar:压缩和解压tar文件
常用命令示例:
tar -czvf test.tar.gz a.c 将a.c文件以tar.gz后缀格式进行压缩
tar -zxvf test2.tar.gz 将test2.tar.gz文件解压
说明:-z 参数,以 .tar.gz 或 .tgz 结尾来代表 gzip 压缩过的 tar file;
-j 参数,则以 .tar.bz2 结尾,表示采用bzip2压缩
(2)gzip/gunzip:压缩和解压gzip文件
(3)zip/unzip:压缩和解压zip文件
7、系统监控和性能分析
(1)vmstat:显示虚拟内存统计信息
常用命令示例:
vmstat -a 显示虚拟内存整体的资源状态
vmstat 1 设置每间隔1秒刷新显示一次虚拟内存整体的状态信息
(2)iostat:显示CPU和输入/输出统计信息
常用命令示例:
iostat -d 2 每隔2秒报告一次系统硬盘使用情况
iostat -x vda -d 2 6 每隔2秒报告一次指定硬盘的使用情况,总共报告6次