发布时间:2026/7/21 8:04:54
Linux 常用操作 1.基本操作文件与目录操作ls 列出目录下的文件mkdir 创建新文件夹, cd 切换目录, rm 删除文件,pwd 显示当前目录绝对路径 ,mv 移除文件或目录, cp 复制文件或目录进程操作ps 查看进程静态快照,top/htop 查看进程动态实时快照 ,kill 结束进程,pkill 结束进程相关所有内容网络连接相关netstat 检查网络端口连接状态 , ping 测试网络连通性,telnet 测试端口连通性 ,addr 查看网络地址,ssh 远程连接其他Linux服务器 ,curl 发出HTTP请求权限操作chmod 修改文件权限,sudo 管理员权限,chown 修改文件的所有者查看编译操作cat 显示文件所有内容less 分屏查看大文件tail -f 实时查看文件末尾追加的内容查用于查看系统日志nano / vim 终端里的文本编译器命令操作-n 刷新次数-p 指定进程-H 按线程展示-b 纯文本格式输出-d 自动刷新间隔时间-u 指定用户-c 显示进程全部命令-i 交互询问或屏蔽大小写-f 强制执行2.PS命令有哪些展示了什么命令-a 显示与终端相关进程,-u 显示与用户相关进程,-x 显示没有终端控制的进程,-o 自定义输出的格式,-r 显示正则运行的进程,-l 显示长格式的进程,-f 显示详细的进程,-e 显示系统所有进程展示USER进程的用户名PID进程IDPPID父进程ID%CPUCPU使用率%MEM内存占用率VSZ虚拟内存大小RSS物理内存大小STAT进程状态START进程开始时间TIME进程累计占用CPU时间COMMAND进程命令TTY终端设备3.top命令会展示什么每一项都呈现什么数据展示load average平均负载显示进程在1分钟、5分钟、15分钟的平均负载情况tasks任务包括正在运行、睡眠、停止、僵尸状态CPU usage包括CPU总使用率和每个CPU核心使用率Memory usage物理内存总量已使用量空闲量缓冲区Swap usage交换空间使用情况总量已使用剩余量进程列表PS中展示内容4.已知一个进程名如何杀死ps -ef | grep 进程名 找到PIDkill PIDkill -9 PID 强制杀死进程pklii 进程名 直接杀死进程5.如何查看进程状态ps -auxf | grep 进程名输入top得到实时进程状态的页面指定监控一个进程top -p PID监控某个进程里所有线程 top -H -p PID进程打印三次日志后自动退出top -b -n 3 top_snapshot.log6.Linux如何查看线程状态top -Hps -eT | grep 进程名、线程名7.如何查看网络连接状态netstat -napt8.怎么查看哪个端口被占用lsof -i :80netstat -napt | grep :80 9.端口通不通用什么命令telnet ip 端口号10.TCP命令查看是多少个CPU核心执行top命令后按1查看11.修改文件权限用什么命令0没有权限1执行权限2表示写权限4表示读权限chmod 400 file.txt 只读权限chmod 644 file.txt 所有者可读写其他人只读chmod 755 file.txt/ directory/ 所有者可读写所属组用户可读执行其他用户只读12.top命令和free命令查看内存有什么区别top命令不仅显示内存情况还有CPU使用情况任务情况free命令只显示内存使用情况物理内存total、used、free、buff/cache、shared、available交换内存total,used,free13.用shell命令替换一个文件中的字符sed -i s/old /new /g文件名14.sed 和awk有什么区别sed是对文本简单处理增删改查的命令awk是进行更复杂的文本操作包括字段操作、条件判断、循环等15.查找日志中某个字符串出现的次数/匹配行的长度统计包含某个字符串的每一行的长度不是字符串本身的长度grep string file | awk {print length}统计某个字符串在日志中出现的次数grep -o string file | wc -lgrep -c string fileLinux有一个日志文件日志文件里第三列是请求的耗时写一条shell命令查耗时最高的10条记录sort -k3 -nr 日志文件 | head -n 1016.假如CPU跑到100%你的解决思路是什么通过top命令定位到CPU高的进程PID通过top -H -p PID 找到占用PCPU高的线程ID判断线程调用栈Java进程把线程ID换成16进制查对应的线程堆栈C/C进程用 pref top -p 进程ID 观察热点函数和系统调用根据输出堆栈信息定位项目中的代码判断是死循环、热点计算或频繁系统调用导致CPU跑到100%17.如何查看负载情况通过什么指标查看执行uptime或top命令查看负载值负载值超过CPU核数的1.5倍会严重影响系统平均负载升高的情况CPU密集型进程、I/O密集型进程、大量等待CPU进程当平均负载升高后使用mpstat查看CPU的性能推断出CPU使用率导致的平均负载升高情况若用户层和系统层使用率很低导致平均负载升高的原因就是CPU使用率和I/O 等待使用pidstat -u -1 查看进程占比判断什么进程导致CPU使用率高导致平均负载升高18.怎么判断服务器内存是否够用如何查看服务器性能瓶颈是否是内存使用free命令查看available值长期很低表示内存不足通过free命令查看观察swap 空间使用过多表示不足使用 dmesg | grep -i out of memory查看存在OOM错误说明不足使用vmstat 1观察内存使用情况19.如何判断操作系统有没有在内存替换怎么统计内存替换的频率sar -B 1查看如果系统发生抖动能观察到pgscank/s没秒扫描的后台回收线程个数值很大大概率是直接内存回收导致的20.用Linux命令排查日志具体步骤以排查一个特定BUG为例用五步1.连接服务器切到日志在的路径:ssh username192.168.121.133cd /data/logs/user-service/2.确定日志文件名和大小# 查看当前目录下的日志文件列表并显示人类易读的大小如 50M, 2Gls -lh3.定位报错【根据手中的线索比如报错时间、订单号、用户 ID去捞日志】情况 A如果你正在复现 Bug看实时日志这时候去页面上点击按钮复现 Bug同时在终端盯着屏幕# 实时滚动查看日志并高亮显示带有 ERROR 的行tail -f app.log | grep --line-buffered -i error情况 B如果 Bug 已经发生搜历史日志根据已知的关键词如特定的订单号order_123去文件里搜# 搜索关键词并显示匹配行前后的各 10 行看上下文grep -C 10 order_123 app.log | less4.如果日志被压缩# 不解压直接搜索压缩包里的报错信息zgrep -C 5 NullPointerException app-2026-7-09.1.log.gz | less5.提取并下载日志# 把包含特定订单号及其前后10行的日志单独保存到一个新文件里grep -C 10 order_123 app.log backup_bug.log21.用日志排查BUG的顺序1.看前端报错找到BUG发送的精准时间234015看前端网络请求找到具体的URL关键参数HTTP状态码2.查网关/Nginx日志如果Nginx日志没有这个请求说明没到服务器卡在网络、DNS、防火墙判断状态码是4XX5XX状态码判断2XX 顺利 3XX 重定向 4XX 前端和测试问题5XX 后端问题200 成功201 新内容创建成功204 成功返回没有响应体Body301 永久重定向302 临时重定向304 服务器内容未修改在客户端缓存里400 报文语法错误401 未登录/未授权403 禁止访问404 资源不存在查URL是否错误405 请求方法不支持500 服务器内部错误 502错误网关503 服务器超载或停机504网关超时或挂了直接查Nginx的error.log3.抓取报错首行进入后端的应用日志app.log有TraceID直接grep TraceID,没有用订单号、用户ID等查找到ERROR或Exception4.分析异常堆栈找到ERROR后看错误堆栈找到报错信息或项目包名后的代码报错5.前后对照上下文用 grep -C 10 app.log | less找到具体问题22.用Linux操作如何让排查测试开发里遇到的具体问题1.功能测试复现 Bug 的瞬间想立刻看到后端吐出了什么错误tail -f app.log | grep --line-buffered -E ERROR|ExceptionBUG已存在根据用户 ID 或订单号捞出整段业务上下文?grep -C 10 order_id_20260713 app.log | less2.接口测试提取特定接口的请求与响应报文grep -A 5 /api/v1/pay access.log通过 TraceID 追踪微服务分布式链路?grep t-1234567890 /data/logs/*/*.log3.性能测试统计压测期间每分钟的 ERROR 数量监控报错趋势grep ERROR access.log | awk {print $1} | cut -d: -f1,2 | sort | uniq -c捞出 Nginx/Tomcat 日志中耗时最长的 Top 10 请求awk {print $NF, $0} access.log | sort -nr | head -n 10压测时 OOM内存溢出导致服务挂掉dmesg -T | grep -i killgrep -i oom /var/log/message

相关新闻

2026/7/21 8:04:54

如何让Kimi生成word文档?AI导出鸭苹果版将Kimi输出的混合标记实时解析为结构化数据,一键生成标准docx,无损保留公式与流程图。

如何让Kimi生成word文档?AI导出鸭苹果版将Kimi输出的混合标记实时解析为结构化数据,一键生成标准docx,无损保留公式与流程图。正文 Kimi(月之暗面)凭借超长上下文和强大的文件处理能力,成为许多用户撰写技术…

2026/7/21 8:04:54

人类认知起源与AI世界模型的深度解析

1. 认知起源的四大根动作解析人类认知的起点可以追溯到几个最基本的"根动作",这些动作构成了我们与世界交互的原始方式。在长期观察婴幼儿行为发展和原始部落研究后,我总结出以下四个核心动作:1.1 抓握与操控这是人类最早掌握的物理…

2026/7/21 8:04:54

LayaBox Android打包全流程与优化策略

1. LayaBox项目打包Android包的核心流程 LayaBox作为国内领先的HTML5游戏引擎,其Android打包功能经历了多次迭代优化。从3.2版本开始,LayaAir Native支持自动打包机制,让新手开发者也能一键生成APK。但实际项目中,我们往往需要更精…

2026/7/21 17:31:31

2026版Java八股文面试题大全(1000+道附答案),金九银十冲刺专用

进大厂是大部分程序员的梦想,而进大厂的门槛也是比较高的,所以这里整理了一份阿里、美团、滴滴、头条等大厂面试大全,对于 Java 后端的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很…

2026/7/21 17:31:31

OpenZFS压缩与去重技术详解:节省存储空间的5个技巧

OpenZFS压缩与去重技术详解:节省存储空间的5个技巧 【免费下载链接】openzfs OpenZFS on Linux and FreeBSD 项目地址: https://gitcode.com/gh_mirrors/op/openzfs OpenZFS是一个先进的文件系统和卷管理器,提供强大的数据压缩和去重功能&#xf…

2026/7/21 17:31:31

Jupynium.nvim 安全最佳实践:保护你的数据分析环境

Jupynium.nvim 安全最佳实践:保护你的数据分析环境 【免费下载链接】jupynium.nvim Selenium-automated Jupyter Notebook that is synchronised with Neovim in real-time. 项目地址: https://gitcode.com/gh_mirrors/ju/jupynium.nvim 在数据科学和机器学习…

2026/7/20 6:33:00

Unity与Python本地通信:基于Flask的跨语言数据交换实战

1. 项目概述:为什么我们需要一个本地通信服务器?在游戏开发、数字孪生、仿真训练等众多领域,Unity作为强大的实时3D内容创作平台,其核心逻辑通常由C#驱动。然而,当我们需要进行复杂的数据分析、机器学习推理、科学计算…

2026/7/21 0:08:52

华为OD机试 新系统真题 【酒店服务记录分析】

酒店服务记录分析(C++/Go/C/Js/Java/Py)题解 华为OD机试 新系统真题 华为OD上机考试 新系统真题 7月19号 100分题型 华为OD机试新系统真题目录点击查看: 华为OD机试新系统真题题库目录|机考题库 + 算法考点详解 题目内容 你是某连锁酒店的数据分析师,酒店每天都会用一串编…

2026/7/21 0:08:52

华为OD机试 新系统真题 【小明的顺风车】

小明的顺风车(C++/Go/C/Js/JAVA/Py)题解 华为OD机试新系统真题 华为OD上机考试新系统真题 7月19号 200分题型 华为OD机试新系统真题目录点击查看: 华为OD机试新系统真题题库目录|机考题库 + 算法考点详解 题目内容 小明自驾回家,为节省旅途成本,决定在网上挂出顺风车服务…

2026/7/20 19:08:28

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…