当前位置: 首页 > news >正文

linux常用快捷键

linux常用快捷键

grep -C 20 “NullPointerException” app.log,可以显示匹配行前后各 20 行的上下文,快速了解报错前后的业务逻辑。
grep “TraceId-xxx” app.log* 批量搜索切割后的日志文件,串联起一次请求的完整生命周期。
超大文件高效浏览:对于几个 G 的日志文件,使用 less 命令按需加载,不会占满内存。进入后可以使用 /关键词 向上检索,按 n 继续查找,或按 Shift+F 无缝切换到实时追踪模式。
时间窗口切割:当日志量极大时,使用 sed -n ‘/2023-10-23 10:00:00/,/2023-10-23 10:05:00/p’ app.log 精准提取特定时间段的日志,方便下载分析。

进程资源监控:使用 top 或增强版 htop 实时查看 CPU 和内存占用。在 top 中按 P 可按 CPU 排序,按 M 可按内存排序,快速锁定高耗能的进程。
内存与磁盘排查:使用 free -h 查看系统内存使用情况(排查 OOM);使用 df -h 检查磁盘分区使用率,防止日志或临时文件占满磁盘导致服务异常;使用 du -sh * 定位当前目录下的大文件。
IO 性能分析:使用 vmstat 1 或 iostat 实时输出系统 CPU、内存、IO 统计信息,分析是否存在 IO 等待过高的问题。

进程查找与终止:使用 ps -ef | grep java 查找进程 PID。在需要终止进程时,优先使用 kill PID(发送 SIGTERM 信号),让进程有机会优雅地释放资源;仅在紧急情况下使用 kill -9 PID 强制杀死进程,避免数据损坏。
后台持久化运行:使用 nohup command & 让程序在后台运行,即使退出终端或断开 SSH 连接,程序也会继续执行。

四、 网络排查利器
端口与连接状态检查:使用 netstat -tuln 或性能更好的 ss -tuln 查看服务端口是否正常监听;使用 netstat -anp | grep PID 查看指定进程的网络连接状态,排查连接泄露(如大量 TIME_WAIT)。
连通性测试:使用 ping 测试网络延迟和丢包;使用 telnet IP 端口 或 nc -zv IP 端口 测试特定端口是否通畅(如检查后端能否连上数据库)。
接口快速调试:使用 curl -X POST -H “Content-Type: application/json” -d ‘{“key”:“value”}’ URL 直接在命令行测试 REST API 接口。

五、 进阶与自动化技巧
管道与重定向:Linux 哲学的核心是组合。通过管道符 |,可以将多个命令串联,例如 grep “error” app.log | wc -l 快速统计报错次数。
编写自动化脚本:将日常繁琐的部署、日志清理、服务重启等操作编写成 Shell 脚本,不仅能大幅提升工作效率,还能有效减少人为操作失误。

基础导航:ls -la查看目录详情(含隐藏文件),cd切换路径,pwd确认当前位置。
文件管理:cp -r递归复制目录(如项目备份),mv重命名或移动文件,rm -rf强制删除(慎用)。
内容查看:cat快速查看小文件,less分页浏览大文件(支持检索),head/tail查看文件首尾内容。

二、日志分析与文本处理
实时监控:tail -f logs/app.log跟踪日志更新,tail -n 200显示末尾指定行数。
精准检索:grep -C 20 “ERROR” app.log显示错误行及上下文,grep -r递归搜索目录。
组合使用:tail -f app.log | grep "TraceId-xxx"实时过滤特定请求日志。

三、进程与资源监控
进程管理:ps aux查看进程列表,top/htop动态监控资源占用,kill PID优雅终止进程。
资源诊断:free -h查看内存,df -h检查磁盘空间,du -sh directory统计目录大小。

四、网络与远程操作
网络诊断:ping测试连通性,ip addr查看接口信息,curl/wget模拟HTTP请求。
远程协作:ssh安全登录,scp文件传输,VSCode Remote-SSH插件实现免密连接与端口转发。

五、自动化与脚本
部署脚本:编写Shell脚本自动化git pull、依赖安装及服务重启流程。
定时任务:crontab设置周期性任务(如日志清理、服务健康检查)。

  1. 使用 tail -f 命令(最常用)
    这是最基础且最常用的实时查看日志命令,它会持续监视文件的新增内容并显示在终端上。
    基本用法:tail -f 日志文件的路径
    示例:tail -f /var/log/syslog
    退出方式:按下 Ctrl + C 组合键即可停止查看。

  2. 使用 journalctl -f 命令
    如果您的系统使用 systemd,可以使用 journalctl 来实时查看系统日志。
    查看所有系统日志:journalctl -f
    查看特定服务的日志:使用 -u 参数指定服务名称,例如 journalctl -f -u sshd 或 journalctl -u nginx -f
    退出方式:同样使用 Ctrl + C 退出。

  3. 使用 less +F 命令
    less 命令不仅可以分页查看文件,还支持实时追踪。它的优势在于可以随时暂停实时模式,使用上下键或搜索功能(按 / 键)在历史日志中查找内容。
    用法:less +F 日志文件的路径
    操作:进入后默认处于实时追踪模式。按下 Ctrl + C 可退出实时模式进入普通浏览模式;在普通模式下按 Shift + F 或 F 键可重新进入实时追踪模式。

  4. 使用 multitail 命令
    如果您需要同时监控多个日志文件,multitail 是一个非常强大的工具,它可以将多个日志分屏显示。
    用法:multitail 日志文件1 日志文件2
    示例:multitail /var/log/syslog /var/log/auth.log
    注意:该工具可能需要提前安装(如 sudo apt-get install multitail)。

  5. 使用 dmesg -w 命令
    专门用于实时查看和打印内核日志的最新内容。
    用法:dmesg -w

初始化与配置
初始化本地仓库:git init
克隆远程仓库:git clone
配置用户信息:
全局配置:git config --global user.name “你的名字” 和 git config --global user.email “你的邮箱”
仅当前项目配置:git config user.name “项目名”

日常提交(增删改查)
查看状态:git status (查看工作区和暂存区的状态)
查看修改内容:git diff (查看工作区与暂存区的差异)
添加到暂存区:
添加指定文件:git add
添加所有变更:git add .
提交到本地仓库:git commit -m “提交说明”
查看提交历史:
完整日志:git log
简洁单行显示:git log --oneline

分支管理
查看分支:git branch (列出本地分支,带 * 为当前分支)
创建新分支:git branch
切换分支:git checkout 或 Git 2.23+ 推荐的新命令 git switch
创建并切换分支:git checkout -b 或 git switch -c
合并分支:git merge (将指定分支合并到当前分支)
删除分支:
删除已合并分支:git branch -d
强制删除未合并分支:git branch -D

远程仓库操作
查看远程仓库信息:git remote -v
获取远程更新(不合并):git fetch
拉取并合并远程代码:git pull
推送本地代码到远程:
常规推送:git push
首次推送并建立上游关联:git push -u origin
删除远程分支:git push origin --delete

撤销与回退(“后悔药”)
撤销工作区未提交的修改:git restore (或旧命令 git checkout – )
撤销已添加到暂存区的文件:git restore --staged (或旧命令 git reset HEAD )
修改最后一次提交信息或追加文件:git commit --amend
回退版本:
软回退(保留代码,仅撤销 commit):git reset --soft HEAD~1
硬回退(彻底抹除代码,恢复到上个版本,慎用):git reset --hard HEAD~1
撤销已推送到远程的提交:git revert (生成一个新的提交来撤销之前的更改,安全且不会重写历史记录)

代码暂存(Stash)
当你正在开发功能,突然需要去修复紧急 Bug,但当前代码还没写完无法 commit 时:
暂存当前修改:git stash
查看暂存记录:git stash list
恢复最近一次暂存并删除记录:git stash pop

http://www.jsqmd.com/news/1082451/

相关文章:

  • 如何将智能手机变身专业摄像头:DroidCam OBS插件完整指南
  • MySQL 5.7 二进制包一键安装教程(Linux 通用)
  • 3分钟搞定Windows和Office激活难题的智能方案
  • 【HCIA-AI笔记(微认证1)】4.2 华为AI4Science领域的探索和实践
  • 全外显子测序科普
  • 构建上亿请求AI Agent系统架构揭秘
  • 如何在几分钟内完成数小时的Excel批量查询工作:QueryExcel终极指南
  • DLSS Swapper终极指南:如何免费一键提升游戏帧率与画质
  • DLSS Swapper终极指南:如何智能管理游戏DLSS版本,彻底告别帧率烦恼
  • 从玩家到创造者:用ExtractorSharp打造你的DNF专属世界 [特殊字符]
  • 85%效率提升:开源SchoolCMS教务系统如何重构学校数字化管理战略
  • 如何快速掌握网络调试工具:面向开发者的PacketSender完整指南
  • 网盘下载速度慢?这款工具让你重新掌控下载主动权
  • N_m3u8DL-RE终极指南:跨平台流媒体下载工具完整使用教程
  • 6 月 25 日全网三大赛道最热权威新闻汇总(定制软件开发、AI 生态、企业智能体员工)
  • 213. 打家劫舍 II
  • 树莓派USB启动模式全解析:从OTP原理到刷机与SSD启动实战
  • 经典 PLC 程序(6) - 信号防抖
  • 终极指南:在Mac上免费实现NTFS硬盘读写完整解决方案
  • XWiki配置文件泄露漏洞CVE-2025-55748深度剖析与加固实践
  • 【GaussDB】权限管理模型:RBAC与ABAC
  • 国内企业与开发者如何一站式接入全球大模型?快快云安全AI聚合平台完整解析
  • Deceive终极指南:3分钟实现Riot游戏隐身,重新掌控你的在线隐私
  • CW-203强力除锈剂:10分钟溶解顽固厚锈,除锈率超95%,温和不伤基材自动防锈
  • 硅基纪元:索尼aibo又停售,但对手早已不是另一只机器狗
  • 推荐一款村社区文书使用的人口户籍管理软件,免费使用
  • IDEA搜索黑箱解密(含IntelliJ Platform 2024.1源码级注释):为何Search Everywhere能毫秒响应?
  • Adobe-GenP 3.0:免费解锁专业设计软件的终极配置方案
  • ExtractorSharp:DNF游戏资源编辑的终极指南,轻松制作个性化补丁
  • 热血少年:把理想“种”进日常,用一张图告别三分钟热度