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

Mac完美终端(iterm2 + oh my zash + tmux+ControlMaster)

Mac完美终端

  • 1、完美终端
    • 1.iterm2 (终端,对终端分屏窗口)
    • 2.oh-my-zsh (美化iterm2,主题插件)
    • 3.tmux(会话,对会话分屏窗口)
    • 4.ControlMaster (实现ssh不用每次都输入密码)
  • 2、iterm2
      • **一、核心功能:为什么选择 iTerm2?**
      • **二、安装与基础配置**
        • **1. 安装方式**
        • **2. 基础设置**
      • **三、高阶功能与效率技巧**
        • **1. 分屏与标签页管理**
        • **2. 智能搜索与历史复用**
        • **3. 主题与颜色方案**
        • **4. 触发功能(Triggers)**
        • **5. 集成 Tmux(多会话管理)**
      • **四、常见问题解决**
      • **总结**
  • 3、zsh 和oh-my-zsh
      • **一、zsh vs bash:为什么选择 zsh?**
      • **二、Oh My Zsh:zsh 的「开箱即用」解决方案**
        • **1. 安装 Oh My Zsh**
        • **2. 核心功能与配置**
          • **(1)主题定制**
          • **(2)插件管理**
          • **(3)自定义别名**
      • **三、进阶配置:以 powerlevel10k 为例**
        • **1. 安装 powerlevel10k**
        • **2. 配置主题**
      • **四、常见问题解决**
      • **总结**
  • 4、tmux终端复用器(terminal multiplexer)
  • 5、ControlMaster实现ssh不用每次都输入密码
  • 附录:(会话)
    • 附录1、 linux会话(工具)
      • 1. **终端复用工具(Terminal Multiplexers)**
        • **Tmux**
        • **Screen**
      • 2. **远程会话工具**
        • **SSH(Secure Shell)**
        • **Mosh(Mobile Shell)**
      • 3. **图形化会话工具**
        • **X2Go**
        • **VNC(如 TigerVNC、RealVNC)**
      • 4. **系统级会话管理**
        • **systemd**
        • **nohup / disown**
      • 5. **协作与会话共享**
        • **tmate**
      • **使用场景推荐**
    • 附录2: Windows会话
      • 一、基于 Linux 子系统的方案
        • 1. **WSL + tmux/Screen**
        • 2. **Cygwin + tmux/Screen**
      • 二、原生 Windows 终端复用工具
        • 1. **ConEmu / cmder**
        • 2. **MobaXterm**
        • 3. **Windows Terminal + 插件**
      • 三、远程协作与共享工具
        • **tmate**
      • 四、替代方案对比
      • 五、使用建议
      • **一、微软官方:Windows Terminal(推荐首选)**
        • **核心功能**
        • **安装方式**
      • **二、经典增强工具:ConEmu/Cmder**
        • **核心功能**
        • **安装方式**
      • **三、远程管理利器:MobaXterm**
        • **核心功能**
        • **安装方式**
      • **四、轻量工具:Terminals**
        • **核心功能**
        • **安装方式**
      • **五、如何选择?**
      • **效率提升技巧**
      • **总结**

1、完美终端

完美终端

  • iterm2 + oh my zash + tmux
  • ControlMaster实现ssh不用每次都输入密码
作用:
1.iterm2 (终端,对终端分屏窗口)
2.oh-my-zsh (美化iterm2,主题插件)
3.tmux(会话,对会话分屏窗口)
4.ControlMaster (实现ssh不用每次都输入密码)

效果:
在这里插入图片描述
在这里插入图片描述

参考:
https://blog.csdn.net/buzhidao2333shuosha/article/details/121066685
https://www.ruanyifeng.com/blog/2019/10/tmux.html
https://juejin.cn/post/7257740918432792632
https://cloud-atlas.readthedocs.io/zh-cn/latest/apple/macos/vim_tmux_iterm_zsh.html
https://www.jianshu.com/p/d58192137061
安装教程参考:https://zhuanlan.zhihu.com/p/550022490

1.iterm2 (终端,对终端分屏窗口)

参考:
官方文档:https://iterm2.com/documentation.html
https://github.com/eillsu/iTerm2-Chinese-Tutorial/tree/master
https://zhuanlan.zhihu.com/p/550022490
https://segmentfault.com/a/1190000022813972
https://www.cnblogs.com/HGNET/p/18565051
https://www.jianshu.com/p/9c3439cc3bdb

Homebrew安装
打开电脑终端,命令行输入如下命令回车:
brew install iTerm2 

iterm2 :在右上角打开它设置
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

设置说明:

1.Preferences  偏好
The preferences dialog contains the following sections:
首选项对话框包含以下部分:
General  常规
Appearance  外观
Profiles  配置 文件
Keys  钥匙
Arrangements  安排
Pointer  指针
Shortcuts  快捷方式
Advanced  高深
Profiles  配置 文件2.Profiles  配置 文件
Profiles preferences contains the following sections:
“配置文件”首选项包含以下部分:
General  常规
Colors  颜色
Text  发短信
Window  窗
Terminal  终端
Session  会期
Keys  钥匙
Advanced  高深

颜色设置:
配置主题:参考https://zhuanlan.zhihu.com/p/550022490
访问iTerm2主题网站
https://github.com/mbadolato/iTerm2-Color-Schemes
在这里插入图片描述

在这里插入图片描述
取消勾选是指定义主题,勾选是使用color preset中的主题:“Use separate colors for light and dark mode”。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

窗口设置
这里可以设置窗口透明度、背景图片、行列数以及风格等。
在这里插入图片描述

字体选择:text
安装好字体库之后,我们来设置iTerm2的字体,具体的操作是iTerm2 -> Preferences -> Profiles -> Text,在Font区域选中Change Font,然后找到Meslo LG字体。有L、M、S可选,看个人喜好
在这里插入图片描述
在这里插入图片描述

快捷键参考:参考

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.oh-my-zsh (美化iterm2,主题插件)

参考:
官网https://ohmyz.sh/#install
https://github.com/ohmyzsh/ohmyzsh/wiki
https://github.com/ohmyzsh/ohmyzsh
https://github.com/ohmyzsh/ohmyzsh/wiki/Cheatsheet
教程:https://zhuanlan.zhihu.com/p/550022490

安装修改默认shell

1.查看shell
#查看系统安装的所有Shell
cat /etc/Shells
#查看当前使用的Shell
echo $Shell
echo $0
#修改默认Shell为zsh
chsh -s /bin/zsh 应该安装 Zsh(v4.3.9 或更高版本很好,但我们更喜欢 5.0.8 和更新版本)。
如果未预装(运行 zsh --version 确认),请在此处查看以下 wiki 说明: 安装 ZSH2.安装ohmyzsh
Oh My Zsh 是通过在终端中运行以下命令之一来安装的。您可以通过命令行使用 curl、wget 或其他类似工具安装它。Method  方法	Command  命令
curl 方法:	
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
wget 方法:
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
fetch  获取	:
sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

主题和插件配置
配置参考:https://zhuanlan.zhihu.com/p/550022490

在这里插入图片描述
例如:headline
在这里插入图片描述

在这里插入图片描述
例如:
在这里插入图片描述
在这里插入图片描述

3.tmux(会话,对会话分屏窗口)

参考:

  • 官方:
    https://github.com/tmux/tmux?tab=readme-ov-file
    https://github.com/tmux/tmux/wiki
  • 教程:
    https://www.ruanyifeng.com/blog/2019/10/tmux.html
    https://blog.csdn.net/buzhidao2333shuosha/article/details/121066685

会话,将终端窗口和运行程序分隔
正常情况下终端运行的程序和终端是绑定的,我们一旦关闭终端窗口,程序就会停止运行。tmux的作用就是将终端窗口和运行的程序分隔开,当我们关闭窗口也不会终止会话。
关于tmux的介绍以及安装使用这篇文章链接讲的特别好,一文足够。
在这里插入图片描述
例如:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
以下是根据教程整理的 tmux命令及快捷键汇总,按功能分类整理:

一、会话管理
命令
新建会话

tmux new -s <会话名称>
(示例:tmux new -s my_session)
查看所有会话

tmux ls 或 tmux list-sessions
接入会话

tmux attach -t <会话编号/名称>
(示例:tmux attach -t my_session)
杀死会话

tmux kill-session -t <会话编号/名称>
切换会话

tmux switch -t <会话编号/名称>
重命名会话

tmux rename-session -t <原编号/名称> <新名称>
(示例:tmux rename-session -t 0 new_name)

快捷键
Ctrl+b d:分离当前会话(后台保持运行)。

Ctrl+b s:列出所有会话并切换。

Ctrl+b $:重命名当前会话。

二、窗格操作
命令
划分窗格

tmux split-window(上下划分)
tmux split-window -h(左右划分)
切换窗格

tmux select-pane -U/D/L/R(上下左右)
交换窗格位置

tmux swap-pane -U/D(上下交换)

快捷键
Ctrl+b %:左右划分窗格。

Ctrl+b ":上下划分窗格。

Ctrl+b 方向键:切换至相邻窗格。

Ctrl+b ;:切换到上一个窗格。

Ctrl+b o:切换到下一个窗格。

Ctrl+b { 或 Ctrl+b }:与相邻窗格交换位置。

Ctrl+b x:关闭当前窗格。

Ctrl+b z:当前窗格全屏显示(再次按恢复)。

Ctrl+b Ctrl+方向键:调整窗格大小。

三、窗口管理
命令
新建窗口

tmux new-window(默认名称)
tmux new-window -n <窗口名称>(自定义名称)
切换窗口

tmux select-window -t <窗口编号/名称>
重命名窗口

tmux rename-window <新名称>

快捷键
Ctrl+b c:创建新窗口。

Ctrl+b p:切换到上一个窗口。

Ctrl+b n:切换到下一个窗口。

Ctrl+b 数字键:跳转到指定编号窗口(如 Ctrl+b 1)。

Ctrl+b w:列出所有窗口并切换。

Ctrl+b ,:重命名当前窗口。

四、其他常用命令
列出所有快捷键

tmux list-keys
列出所有Tmux命令

tmux list-commands
重新加载配置

tmux source-file ~/.tmux.conf

五、典型操作流程
新建会话

  tmux new -s my_session

运行程序

在Tmux窗口中执行命令(如启动服务、编辑文件等)。
分离会话

按 Ctrl+b d 返回Shell,会话在后台保持运行。
重新接入会话

  tmux attach -t my_session

整理后的命令和快捷键已覆盖会话、窗格、窗口管理及常用操作,适合快速查阅和日常使用。

快捷键:
https://github.com/Tristin-C/tmux-cheatsheet?tab=readme-ov-file
https://think.leftshadow.com/docs/tmux/tmux/
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.ControlMaster (实现ssh不用每次都输入密码)

参考:https://blog.csdn.net/weixin_44986037/article/details/138031518
打开或创建 SSH 客户端配置文件 ~/.ssh/config(Linux 和 macOS 系统)或 %USERPROFILE%.ssh\config(Windows 系统)。
在配置文件中添加以下内容:

#方式一:
Host *ControlPath ~/.ssh/test%r@%h:%pControlMaster autoControlPersist yes

例如:

Host *ControlPath ~/.ssh/test%r@%h:%pControlMaster autoControlPersist yesHost kc1HostName 121.9.4.183User rootHost kc2HostName 122.9.4.183User rootHost aliyunHostName exec.aliyun.comUser root

添加前:

Host kc1HostName 121.9.4.183User rootHost kc2HostName 122.9.4.183User rootHost aliyunHostName exec.aliyun.comUser root

链接命令为:ssh HostName
例如:
在这里插入图片描述

2、iterm2

iTerm2 是 macOS 平台上一款功能强大、高度可定制的终端模拟器,完美替代系统原生的 Terminal。它通过分屏、智能搜索、热键窗口、主题定制等特性,大幅提升终端操作效率,是 macOS 开发者和运维人员的「生产力神器」。

一、核心功能:为什么选择 iTerm2?

iTerm2 在原生终端基础上扩展了以下关键能力:

功能描述效率提升点
智能分屏支持水平/垂直分割窗格(Cmd+D 垂直分屏,Cmd+Shift+D 水平分屏),支持任意调整窗格大小同时运行多个任务(如代码编辑+日志查看)
热键窗口全局快捷键(如 Cmd+ 反引号 `)调出/隐藏终端,类似游戏控制台快速切换终端与其他应用,减少窗口切换成本
会话恢复意外关闭终端后,自动恢复所有标签页和窗格状态(需启用 Preferences > General > Reconnect sessions on startup避免任务中断,无需重新启动命令
智能查找双指在触控板上滑动触发搜索(Cmd+F),支持正则匹配、高亮所有匹配项快速定位历史命令或输出中的关键信息
集成 zsh/Oh My Zsh完美兼容 zsh 及 Oh My Zsh 的主题、插件(如 powerlevel10k 主题、自动补全)打造高颜值+高效率的终端环境
触发功能(Triggers)自动识别输出文本(如 URL、错误日志),触发自定义操作(如自动打开链接、高亮错误)自动化处理重复操作,减少手动干预

iTerm2macOS 原生终端(Terminal.app) 对比

核心功能对比

功能macOS 原生终端iTerm2
分屏能力仅支持简单水平/垂直分屏(Shell > New Window with Split View),窗格比例固定支持任意方向分屏(Cmd+D 垂直,Cmd+Shift+D 水平),可拖动调整比例;支持嵌套分屏(在分屏内再分屏)
热键窗口全局快捷键(如 Cmd+ `)调出/隐藏终端,类似游戏控制台,支持自定义位置、透明度
会话恢复意外关闭后仅保留当前标签页,历史命令丢失自动恢复所有标签页和分屏状态(需启用 Preferences > General > Reconnect sessions on startup),历史记录不丢失
智能搜索基础搜索(Cmd+F),仅高亮当前匹配项双指触控板滑动触发搜索,支持正则匹配、高亮所有匹配项;输入命令时按 Cmd+; 弹出历史命令建议(模糊匹配)
触发功能(Triggers)自动识别输出文本(如 URL、错误日志),触发自定义操作(自动打开链接、高亮错误)
集成增强仅支持基础 shell(bash/zsh)深度集成 zsh/Oh My Zsh,完美兼容 powerlevel10k 等主题;支持 tmux 会话管理

适用场景建议

用户类型推荐工具理由
普通用户(日常查文件、运行简单命令)macOS 原生终端轻量、稳定,满足基础需求,无需学习复杂功能
开发者/运维人员(多任务管理、代码调试、远程服务器操作)iTerm2分屏/热键窗口/智能搜索大幅提升效率;支持插件和脚本扩展
追求高颜值终端环境的用户iTerm2 + zsh + Oh My Zsh支持主题定制、颜色方案导入,配合 powerlevel10k 主题实现炫酷界面
需要自动化操作的用户iTerm2支持 Python 脚本和触发规则,可自动处理重复任务(如自动打开常用分屏)

二、安装与基础配置

1. 安装方式
  • 官网下载:访问 iTerm2 官网 下载最新稳定版(推荐)。
  • Homebrew(需先安装 Homebrew):
    brew install --cask iterm2
    
2. 基础设置

安装后,通过 iTerm2 > PreferencesCmd+,)进入配置界面,重点调整以下选项:

  • 默认 Shell
    Profiles > Default > General > Command 选择 Login shell,确保使用 zsh(需提前安装)。

  • 热键窗口
    Keys > Hotkey > Create a Dedicated Hotkey Window,设置全局快捷键(如 Cmd+ `),并调整窗口位置(如顶部居中)、透明度(Appearance > Window > Transparency)。

  • 滚动历史
    Profiles > Default > Terminal > Scrollback Buffer 勾选 Unlimited scrollback(保存无限历史记录)。

三、高阶功能与效率技巧

1. 分屏与标签页管理
  • 新建分屏
    • 垂直分屏:Cmd+D(左右分)。
    • 水平分屏:Cmd+Shift+D(上下分)。
  • 切换窗格Cmd+[(左)/Cmd+](右),或 Cmd+Option+方向键(精准控制)。
  • 关闭窗格Cmd+W(关闭当前窗格);Cmd+Shift+W(关闭当前标签页)。
2. 智能搜索与历史复用
  • 双指滑动搜索:在触控板上双指上下滑动,快速搜索历史输出(支持正则表达式)。
  • 历史命令自动补全:输入部分命令后按 Cmd+;,弹出历史命令建议(支持模糊匹配)。
3. 主题与颜色方案

iTerm2 支持自定义颜色方案(如暗系 Solarized Dark、亮系 Atom),可通过以下方式导入:

  1. 下载颜色方案文件(推荐 iTerm2-Color-Schemes 仓库)。
  2. 进入 iTerm2 > Preferences > Profiles > Default > Colors > Color Presets > Import,选择下载的 .itermcolors 文件。

推荐颜色方案

  • Dracula(暗系,高对比度)。
  • One Dark(VS Code 同款暗系主题)。
4. 触发功能(Triggers)

通过 Profiles > Default > Advanced > Triggers > Edit 配置触发规则,自动处理输出文本。例如:

  • 识别 URL 并变为可点击链接:添加触发正则 https?://\S+,动作为 Open URL
  • 高亮错误日志(如 ERROR:):添加触发正则 ERROR:.*,动作为 Change Background Color(设为红色)。
5. 集成 Tmux(多会话管理)

iTerm2 与 tmux 配合可实现更复杂的会话管理(如跨窗口/分屏复用会话):

# 安装 tmux(通过 Homebrew)
brew install tmux# 创建命名会话
tmux new -s dev_session# 分离会话(`Ctrl+B + d`)后,可关闭 iTerm2 窗口,后续通过 `tmux attach -t dev_session` 恢复

四、常见问题解决

  1. 分屏后窗口大小不均
    按住 Option 键拖动分屏线,可精准调整窗格比例(如 1:1、2:1)。

  2. 热键窗口无法呼出
    检查 System Preferences > Security & Privacy > Privacy > Accessibility,确保 iTerm2 已授权。

  3. 颜色方案导入后无效
    确认在 Profiles 中选择了正确的配置文件(默认是 Default),并重启 iTerm2。

总结

iTerm2 是 macOS 终端的「终极解决方案」,通过分屏、热键窗口、智能搜索、主题定制等功能,大幅提升终端操作效率。搭配 zsh + Oh My Zsh + powerlevel10k 主题,可打造「高颜值 + 高效率」的开发环境。

如果需要具体功能的配置教程(如触发规则、颜色方案导入),可以随时提问!

3、zsh 和oh-my-zsh

Zsh 是什么
Zsh 属于 Shell 的一种,和 Bash 一样,但比 Bash 更好用,Zsh 完全兼容 Bash,拥有极其丰富的插件,其强大的自动补全参数、文件名以及自定义功能,可以大大提高我们使用 Linux 的效率。ZSH,也称为 Z shell,是 Bourne Shell (sh) 的扩展版本,具有大量新功能,并支持插件和主题。由于它与 Bash 基于相同的 shell,因此 ZSH 具有许多相同的功能,并且切换起来轻而易举。

Oh-My-Zsh
传统的 bash 功能比较简陋,且不美观。本文基于 Ubuntu22.04 LTS 系统,安装 zsh,并使用 oh-my-zsh 对终端进行美化。Oh My Zsh 是基于 zsh 命令行的一个扩展工具集,提供了丰富的扩展功能。Oh My Zsh 是一个开源的、社区驱动的框架,用于管理您的 zsh 配置。

Zsh 是一个功能强大的 Linux 终端 shell,而 oh-my-zsh 是一个基于 Zsh 的轻量级框架,提供了丰富的主题和插件,能够帮助用户快速设置和使用 Zsh,以增强终端操作的体验和效率。

zsh 是一款功能强大的 Unix shell,在传统 bash 的基础上扩展了智能补全、主题定制、插件系统等特性,被称为「终极 shell」。而 Oh My Zsh 是一个开源的 zsh 配置管理框架,通过预集成主题、插件和便捷的配置工具,大幅降低了 zsh 的使用门槛,让用户快速享受高效的终端体验。

一、zsh vs bash:为什么选择 zsh?

zsh 兼容 bash 的大部分语法(旧脚本无需修改即可运行),但新增了以下核心优势:

功能zsh 特性bash 限制
智能补全支持路径、命令参数、Git 分支等上下文感知补全(按 Tab 自动联想)仅基础补全,需手动配置复杂规则
通配符增强支持 ** 递归匹配目录(如 ls **/*.txt 列出所有子目录的 txt 文件)shopt -s globstar 启用,且功能有限
主题与样式支持自定义提示符(显示 Git 分支、当前目录、执行时间等)提示符仅支持简单变量拼接
插件系统原生支持插件扩展(如 zsh-autosuggestions 自动建议历史命令)需手动整合工具,无统一插件管理
别名增强支持「全局别名」(如 `alias -g G=’grep’,输入 ls G error等价ls

二、Oh My Zsh:zsh 的「开箱即用」解决方案

Oh My Zsh 是 zsh 的配置管理框架,通过预配置主题、插件库、自动安装工具,解决了 zsh 原生配置复杂的问题。即使是新手也能快速获得「高颜值 + 高效率」的终端环境。

1. 安装 Oh My Zsh

前置条件:已安装 zsh(未安装时 Oh My Zsh 会自动尝试安装)。

安装命令(支持 macOS、Linux、WSL):

# 通过 curl 安装
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"# 或通过 wget 安装
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

注意

  • 安装完成后,终端会自动切换为 zsh(默认主题为 robbyrussell)。
  • 若未自动切换,需手动执行 chsh -s $(which zsh)(Linux/macOS),并重启终端。
2. 核心功能与配置

Oh My Zsh 的配置集中在 ~/.zshrc 文件中,通过修改该文件可定制主题、启用插件等。

(1)主题定制

Oh My Zsh 内置了 100+ 主题,支持在提示符中显示 Git 状态、当前目录、命令执行时间等信息。

修改主题
编辑 ~/.zshrc,找到 ZSH_THEME 字段,替换为主题名称(如 agnosterpowerlevel10k):

ZSH_THEME="powerlevel10k/powerlevel10k"  # 推荐现代主题 powerlevel10k

推荐主题

  • powerlevel10k:高颜值、高自定义性(支持图标、动画、多信息面板),需配合 Nerd Fonts 字体使用。
  • agnoster:简洁风格,适合代码开发(显示 Git 分支、错误状态)。
  • robbyrussell:默认主题,适合轻量需求。
(2)插件管理

Oh My Zsh 内置了 200+ 插件,覆盖 Git、Docker、Node.js 等常用工具,以及自动补全、命令高亮等效率功能。

启用插件
编辑 ~/.zshrc,找到 plugins 字段,添加插件名称(空格分隔):

plugins=(git          # Git 命令补全(如 `gco` 自动补全为 `git checkout`)zsh-autosuggestions  # 自动建议历史命令(灰色提示,按 → 补全)zsh-syntax-highlighting  # 命令语法高亮(错误命令红色,正确绿色)docker       # Docker 命令补全(如 `docker run -it` 自动补全镜像名)npm          # npm 命令补全(如 `npm ins` 补全为 `npm install`)
)

推荐插件

  • zsh-autosuggestions:根据历史命令自动提示后续输入(需手动安装,Oh My Zsh 不内置,需通过 git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions 安装)。
  • zsh-syntax-highlighting:实时检查命令语法(错误命令红色高亮)。
  • autojump:快速跳转目录(输入 j dirname 跳转到含 dirname 的任意目录)。
  • kubectl:Kubernetes 命令补全(需已安装 kubectl)。
(3)自定义别名

Oh My Zsh 支持在 ~/.zshrc 中定义别名,简化常用命令:

# 基础别名
alias ll='ls -lFh'          # 显示详细文件列表(带颜色、可读大小)
alias grep='grep --color=auto'  # grep 结果高亮# Git 别名
alias g='git'
alias ga='git add'
alias gp='git push'# 全局别名(用 -g 定义,适用于命令末尾)
alias -g G='| grep'         # 输入 `ls G error` 等价 `ls | grep error`
alias -g L='| less'         # 输入 `cat big.log L` 等价 `cat big.log | less`

三、进阶配置:以 powerlevel10k 为例

powerlevel10k 是 Oh My Zsh 中最受欢迎的主题之一,支持交互式配置向导,可自定义提示符显示的信息(如 Git 分支、Python 虚拟环境、时间等)。

1. 安装 powerlevel10k
# 克隆主题到 Oh My Zsh 的 custom 目录
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
2. 配置主题

安装后,编辑 ~/.zshrc,将 ZSH_THEME 设为 powerlevel10k/powerlevel10k,重启终端会自动进入配置向导。根据提示选择:

  • 是否显示图标(需先安装 Nerd Fonts 字体,如 MesloLGS NF)。
  • 提示符样式(经典/紧凑/极简)。
  • 要显示的信息模块(Git、Python 环境、执行时间等)。

四、常见问题解决

  1. 插件未生效
    检查 ~/.zshrcplugins 字段是否正确添加插件名,保存后执行 source ~/.zshrc 刷新配置。

  2. 主题乱码(显示方框)
    安装 Nerd Fonts 字体(推荐 MesloLGS NF),并在终端设置中修改字体为该字体。

  3. 终端启动变慢
    禁用不必要的插件(尤其是需要联网或大量计算的插件),或通过 zsh -x 分析启动耗时步骤。

总结

  • zsh 是功能强大的 shell,适合追求效率和个性化的开发者。
  • Oh My Zsh 是 zsh 的「开箱即用」解决方案,通过主题和插件大幅降低配置成本。
  • 推荐组合:zsh + Oh My Zsh + powerlevel10k 主题 + zsh-autosuggestions/zsh-syntax-highlighting 插件,可打造「高效 + 高颜值」的终端环境。

4、tmux终端复用器(terminal multiplexer)

参考:
https://www.ruanyifeng.com/blog/2019/10/tmux.html
https://zhuanlan.zhihu.com/p/90464490
https://support.apple.com/zh-cn/guide/terminal/trmlshtcts/mac

一、 会话与进程
命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session) 。
会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。
一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。
为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。

我们使用Linux的时候,常常需要多个会话操作,这时候有个tmux工具可以实现在同一个会话中进行多窗口的显示的功能,而且在使用如xshell等工具远程链接使用服务器的时候,有时会话会断开,当我们重连tmux后,会发现之前的操作还可以保留。某种意义上也提升了我们在Linux下开发的效率,故小编总结了一些tmux的安装、常用的快捷键及常用命令,如下。

二、tmax工具的优点
可以在单个会话窗口中,同时分割成多个窗口,相当于之前访问的多个会话。对于同时运行多个命令行程序很有用。
可以让新窗口"接入"已经存在的会话。
允许每个会话有多个连接窗口,因此可以多人实时共享会话。
还支持窗口任意的垂直和水平拆分。

在这里插入图片描述


5、ControlMaster实现ssh不用每次都输入密码

ControlMaster实现ssh不用每次都输入密码

附录:(会话)

附录1、 linux会话(工具)

参考:
https://www.ruanyifeng.com/blog/2019/10/tmux.html
https://zhuanlan.zhihu.com/p/90464490
https://support.apple.com/zh-cn/guide/terminal/trmlshtcts/mac

一、 会话与进程
命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session) 。
会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。
一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。
为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。

我们使用Linux的时候,常常需要多个会话操作,这时候有个tmux工具可以实现在同一个会话中进行多窗口的显示的功能,而且在使用如xshell等工具远程链接使用服务器的时候,有时会话会断开,当我们重连tmux后,会发现之前的操作还可以保留。某种意义上也提升了我们在Linux下开发的效率,故小编总结了一些tmux的安装、常用的快捷键及常用命令,如下。

二、tmax工具的优点
可以在单个会话窗口中,同时分割成多个窗口,相当于之前访问的多个会话。对于同时运行多个命令行程序很有用。
可以让新窗口"接入"已经存在的会话。
允许每个会话有多个连接窗口,因此可以多人实时共享会话。
还支持窗口任意的垂直和水平拆分。

在这里插入图片描述


在 Linux 系统中,会话管理工具主要用于管理长时间运行的进程、保持远程连接的稳定性,或在多个终端任务之间灵活切换。以下是常用的工具及其用途:


1. 终端复用工具(Terminal Multiplexers)

允许在单个终端窗口中运行多个会话,支持会话的分离(detach)和重连(re-attach),适合长时间任务或网络不稳定的场景。

Tmux
  • 特点:功能强大、支持分屏、会话持久化、脚本化操作。
  • 常用命令
    tmux new -s <session_name>  # 创建新会话
    tmux ls                     # 列出所有会话
    tmux attach -t <session_id> # 重新连接到会话
    Ctrl+b d                    # 分离当前会话(不终止进程)
    
  • 优势:支持窗口分割、快捷键自定义、会话共享(多人协作)。
Screen
  • 特点:轻量级终端复用器,功能比 Tmux 简单。
  • 常用命令
    screen -S <session_name>    # 创建新会话
    screen -ls                  # 列出会话
    screen -r <session_id>      # 重新连接会话
    Ctrl+a d                    # 分离会话
    
  • 适用场景:快速管理简单任务,适合老旧系统(预装率较高)。

2. 远程会话工具

用于安全连接到远程服务器,保持会话稳定。

SSH(Secure Shell)
  • 用途:加密远程登录,执行命令或传输文件。
  • 保持连接
    ssh -o ServerAliveInterval=60 user@host  # 每60秒发送心跳包
    
  • 密钥认证:使用 ssh-keygen 生成密钥对,避免密码登录。
Mosh(Mobile Shell)
  • 特点:基于 UDP,适应网络波动(如 Wi-Fi 切换、IP 变化),输入实时反馈。
  • 安装
    # 服务端需安装 mosh
    sudo apt install mosh
    # 客户端连接
    mosh user@host
    

3. 图形化会话工具

X2Go
  • 用途:基于 SSH 的远程图形化桌面管理,适合低带宽环境。
  • 支持协议:NX 协议压缩图形数据传输。
VNC(如 TigerVNC、RealVNC)
  • 用途:远程图形界面访问,适合完整的桌面环境操作。

4. 系统级会话管理

systemd
  • 用途:通过 systemd-run 创建独立进程,由系统托管(不依赖终端)。
    systemd-run --scope --user command  # 用户级托管
    
nohup / disown
  • 用途:后台运行进程,避免因终端关闭而终止。
    nohup command &           # 忽略挂断信号
    jobs; disown %<job_id>    # 剥离进程与终端的关联
    

5. 协作与会话共享

tmate
  • 特点:基于 Tmux 的即时会话共享工具,生成临时 SSH 链接供他人接入。
    tmate  # 启动后分享显示的 SSH 或 Web URL
    

使用场景推荐

  • 本地多任务管理:优先选择 tmux(功能全面)或 screen(轻量)。
  • 远程服务器连接:使用 SSH(基础) + Mosh(网络不稳定时)。
  • 持久化进程tmuxsystemd 托管。
  • 图形界面远程访问X2GoVNC
  • 实时协作tmatetmux 会话共享。

如果需要具体工具的详细教程,可以进一步说明!

附录2: Windows会话

在 Windows 系统中,虽然原生环境对终端复用工具(如 tmuxGNU Screen)的支持有限,但通过以下方式仍可实现类似功能。以下是综合多种方案的推荐工具及使用方法:


一、基于 Linux 子系统的方案

1. WSL + tmux/Screen
  • 适用场景:需在 Windows 中运行 Linux 环境下的终端复用工具。
  • 实现步骤
    1. 启用 WSL(Windows Subsystem for Linux)并安装 Linux 发行版(如 Ubuntu)。
    2. 在 Linux 子系统中通过包管理器安装 tmuxScreen
      sudo apt-get install tmux   # 安装 tmux
      sudo apt-get install screen # 安装 GNU Screen
      
    3. 直接在 WSL 终端中使用 tmuxscreen 命令,功能与 Linux 原生环境一致。
  • 优势:完整的 Linux 工具链支持,适合开发者或运维人员。
  • 注意:需 Windows 10 及以上版本,并启用开发者模式。
2. Cygwin + tmux/Screen
  • 适用场景:在 Windows 原生环境中模拟 Linux 终端。
  • 实现步骤
    1. 安装 Cygwin(选择 tmuxscreen 包)。
    2. 通过 Cygwin 终端启动 tmuxscreen
  • 缺点:性能较低,部分功能受限。

二、原生 Windows 终端复用工具

1. ConEmu / cmder
  • 特点:支持多标签、分屏、自定义布局,集成 SSH 客户端。
  • 功能亮点
    • 类似 tmux 的窗格分割(需手动配置快捷键)。
    • 支持与 PuTTY、WSL 等工具集成。
  • 安装
    • ConEmu:直接下载安装包。
    • cmder:基于 ConEmu 的增强版,内置 Git 支持。
  • 适用场景:本地多任务管理,替代原生 CMD/PowerShell。
2. MobaXterm
  • 特点:集成 SSH、X11 服务器、文件传输等功能。
  • 优势
    • 支持标签式终端窗口。
    • 内置 screen 会话管理。
  • 适用场景:远程服务器运维,需图形化界面支持的操作。
3. Windows Terminal + 插件
  • 特点:微软官方终端,支持多标签、分屏(需手动配置)。
  • 扩展性:可通过插件实现高级复用功能,如 wsl-tmux 集成。

三、远程协作与共享工具

tmate
  • 实现方式:通过 WSL 或 Cygwin 安装 tmate
  • 功能:基于 tmux 的即时会话共享,生成临时 SSH 链接供他人接入。
  • 适用场景:远程协作调试、教学演示。

四、替代方案对比

工具适用场景优势限制
WSL + tmuxLinux 兼容环境开发/运维功能完整,支持持久会话需配置 WSL,占用资源较高
ConEmu/cmder本地多任务管理原生支持,无需依赖 Linux 子系统分屏功能较基础
MobaXterm远程服务器运维集成度高,支持图形化操作商业版收费
Cygwin + tmux轻量级 Linux 工具链需求无需 WSL,适合老旧系统性能较差,兼容性问题

五、使用建议

  1. 开发与运维:优先选择 WSL + tmux,功能最接近 Linux 环境。
  2. 本地多任务:使用 ConEmu/cmderWindows Terminal,搭配分屏插件。
  3. 远程协作:通过 tmate 共享 tmux 会话,或使用 MobaXterm 内置的 screen 功能。

如需详细安装教程或问题排查,可进一步参考具体工具的官方文档或社区资源。

在 Windows 系统中,终端复用工具主要解决多任务管理需求,支持在一个窗口内通过**标签页(Tab)分屏(Split Pane)**同时运行多个终端会话(如 cmdPowerShellWSL 或远程 SSH 连接)。以下是主流工具的详细介绍与对比:

一、微软官方:Windows Terminal(推荐首选)

Windows Terminal 是微软推出的现代终端应用,支持多标签、分屏、自定义主题,且深度集成 Windows 生态(如 WSL、PowerShell、Azure CLI 等),是 Windows 10/11 用户的首选。

核心功能
  1. 多标签页管理
    点击顶部 + 按钮或按 Ctrl+Shift+T 新建标签页,每个标签页可独立运行不同的 shell(如 cmdPowerShellUbuntu (WSL))。

    • 切换标签:Ctrl+Tab(下一个)或 Ctrl+Shift+Tab(上一个)。
    • 关闭标签:Ctrl+Shift+W
  2. 分屏(Split Pane)
    支持水平/垂直分割当前窗格,同时显示多个终端会话。

    • 垂直分割:Alt+Shift+D(左右分)。
    • 水平分割:Alt+Shift+_(上下分)。
    • 切换窗格:Alt+方向键(上下左右)。
    • 关闭窗格:Alt+Shift+X
  3. 自定义配置
    通过 settings.json 文件(Ctrl+Shift+, 打开)配置主题、字体、快捷键、默认 shell 等。

    // 示例配置:设置默认启动 WSL,主题为暗系
    {"profiles": {"defaults": {"colorScheme": "Campbell Powershell",  // 暗系主题"fontFace": "Cascadia Code PL",        // 等宽字体(支持编程符号)"startingDirectory": "//wsl$/Ubuntu/home/username"  // WSL 目录},"list": [{"name": "Ubuntu (WSL)","commandline": "wsl.exe -d Ubuntu","hidden": false}]}
    }
    
  4. 集成高级功能

    • 支持 GPU 加速渲染,字体和文本显示更清晰。
    • 内置对 Azure Cloud ShellGit Bash 等第三方 shell 的支持。
安装方式
  • Windows 11:默认预装(可在 Microsoft Store 更新到最新版)。
  • Windows 10:通过 Microsoft Store 搜索 “Windows Terminal” 安装,或直接下载 GitHub 发布包。

二、经典增强工具:ConEmu/Cmder

ConEmu 是一款开源的终端模拟器,提供多标签、分屏、会话保存等功能;Cmder 是基于 ConEmu 的定制版,内置常用开发工具(如 Git、Clink),更适合开发者。

核心功能
  1. 多标签与分屏

    • 新建标签:Ctrl+T
    • 分割窗格:右键标签栏选择 Split(支持水平/垂直)。
    • 会话保存:通过 Settings > Integration > Taskbar 保存当前标签和窗格布局,下次启动时快速恢复。
  2. 兼容多种 Shell
    支持 cmdPowerShellGit BashWSL 等,可在新建标签时选择目标 shell。

  3. Clink 增强(仅 Cmder):
    内置 Clink 工具,提供类似 Linux bash 的命令补全(如 Tab 补全路径、历史命令搜索)。

安装方式
  • ConEmu:直接下载 官方安装包。
  • Cmder:下载 Cmder 安装包(推荐下载 Full 版,包含 Git 等工具)。

三、远程管理利器:MobaXterm

MobaXterm 是一款集成远程连接(SSH、RDP、VNC)和本地终端复用的工具,适合需要同时管理多个远程会话的用户。

核心功能
  1. 多标签远程会话
    每个标签对应一个 SSH/RDP 连接,支持保存常用连接配置(如 IP、端口、认证方式)。

  2. 分屏协作
    支持水平/垂直分割窗格,同时显示多个远程终端(如左侧连接服务器 A,右侧连接服务器 B)。

  3. 内置工具集
    集成 SFTP 文件传输、X11 转发、网络诊断(ping/traceroute)等功能,无需额外安装工具。

安装方式
  • 下载 MobaXterm 官方版(免费版足够日常使用)。

四、轻量工具:Terminals

Terminals 是一款轻量级终端复用工具,仅 2MB 左右,适合需要极简多标签管理的用户。

核心功能
  • 多标签管理:支持 cmdPowerShell 等本地 shell,界面简洁无冗余。
  • 快速切换:通过标签栏直接点击或 Ctrl+数字键 切换标签。
安装方式
  • 下载 Terminals 安装包(需 .NET Framework 支持)。

五、如何选择?

需求场景推荐工具理由
日常开发/本地多任务Windows Terminal官方支持、功能全面、持续更新
开发者工具链集成Cmder内置 Git/Clink,兼容 Linux 操作习惯
远程服务器管理MobaXterm集成 SSH/RDP/SFTP,多会话高效管理
轻量多标签需求Terminals体积小、无依赖,适合基础复用

效率提升技巧

  1. Windows Terminal 分屏自动化
    通过配置 settings.json 定义启动时自动分割窗格(例如同时打开 WSL 和 PowerShell):

    "actions": [{"command": {"action": "splitPane","split": "vertical","profile": "Ubuntu (WSL)"},"keys": "alt+shift+d"}
    ]
    
  2. Cmder 自定义别名
    cmder\config\user_aliases.cmd 中添加常用命令别名(类似 Linux alias):

    ll=ls -l --color $*  # 模拟 Linux 的 ll 命令
    grep=findstr /S /I $*  # 模拟 Linux grep
    
  3. MobaXterm 会话同步
    登录 MobaXterm 账号后,可将保存的远程连接配置同步到云端,跨设备使用。

总结

  • 首选 Windows Terminal:功能全面、界面现代,适合大多数 Windows 用户。
  • 开发者推荐 Cmder:兼容 Linux 操作习惯,集成常用工具链。
  • 远程管理选 MobaXterm:一站式解决 SSH/RDP 会话和文件传输需求。

如需具体工具的配置教程或问题排查,可以随时提问!

相关文章:

  • 基于python,html,flask,echart,ids/ips,VMware,mysql,在线sdn防御ddos系统
  • 华为OD机试真题——数字加减游戏(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳实现
  • MAC程序签名遇到的问题
  • Nginx代理SSL 到Spring boot
  • Word表格怎样插入自动序号或编号
  • 跨平台开发框架electron
  • nt!CcGetVacbMiss函数分析之设置好nt!_VACB然后调用函数nt!SetVacb
  • 【Doris基础】Apache Doris中FE和BE的职责详解
  • 从0到1:多医院陪诊小程序开发笔记(上)
  • 使用java实现word转pdf,html以及rtf转word,pdf,html
  • [Python] 避免 PyPDF2 写入 PDF 出现黑框问题:基于语言自动匹配系统字体的解决方案
  • 并发解析hea,转为pdf格式
  • c++ 调用opencv或pcl流程
  • 互联网大厂Java求职面试:AI大模型推理服务性能优化与向量数据库分布式检索
  • 关于git的使用流程
  • ffmpeg baidu
  • 微信小程序(uniapp)对接腾讯云IM
  • 云服务器是什么,和服务器有什么区别?
  • redis-py 在 Python 中连接与使用 Redis
  • Linux之守护进程
  • 厦门手机网站建设公司/品牌推广外包
  • 怎么创建网站根目录/怎么安装百度
  • 网站开发如何避免浏览器缓存的影响/一份完整的营销策划书
  • 软件定制开发服务/外贸seo站
  • 十堰市网站建设/搜索seo
  • tp框架做视频网站/怎么样引流加微信