【linux经典工具】作为一个合格的开发人员怎能不会tmux

做过服务器开发的同学,一定会经常登录服务器,且在服务器上做很多操作,那么tmux是必不可少的使用工具。

tmux是一个强大的终端复用器,允许用户在一个终端窗口中运行多个会话。以下是 tmux 的详细使用指南,涵盖基本操作和一些高级功能。

1. 安装 tmux

在大多数 Linux 发行版中,可以通过包管理器安装 tmux:

Ubuntu/Debian

css 复制代码
sudo apt install tmux

# CentOS/RHEL

css 复制代码
sudo yum install tmux

# Arch Linux

css 复制代码
sudo pacman -S tmux

2. 启动 tmux

在终端中输入以下命令启动一个新的 tmux 会话:

css 复制代码
tmux

如果希望为会话命名,可以使用:

css 复制代码
tmux new -s mysession

3. tmux 基本操作

分离会话:按 Ctrl + b 后再按 d,可以将会话分离,回到普通终端。

列出会话:使用以下命令查看当前所有会话:

css 复制代码
tmux ls

重新连接会话:使用以下命令连接到分离的会话:

css 复制代码
tmux attach -t mysession

杀死会话:可以通过以下命令杀死当前会话:

css 复制代码
exit

或者在其他会话中使用:

css 复制代码
tmux kill-session -t mysession

4. 窗格操作

tmux 允许在同一会话中创建多个窗格(pane)。

垂直分割窗格:按 Ctrl + b 后再按 %。

水平分割窗格:按 Ctrl + b 后再按 "。

切换窗格:按 Ctrl + b 后再按方向键(上下左右)。

调整窗格大小:按 Ctrl + b 后按住 Ctrl 并使用方向键。

5. 会话管理

创建新窗口:按 Ctrl + b 后再按 c 创建一个新窗口。

切换窗口:按 Ctrl + b 后再按 n(下一个)或 p(上一个)切换窗口。

列出窗口:按 Ctrl + b 后再按 w 显示窗口列表。

关闭窗口:在窗口中输入 exit 或按 Ctrl + d。

6. 复制和粘贴

tmux 具有内置的复制和粘贴功能。

  • 进入复制模式:按 Ctrl + b 后再按 [。
  • 选择文本:使用方向键移动光标,按空格键开始选择,移动光标- 选择文本。
  • 复制文本:选择完成后,按 Enter 键复制。
  • 粘贴文本:按 Ctrl + b 后再按 ] 粘贴。

7. tmux 配置

tmux 可以通过配置文件自定义,通常是 ~/.tmux.conf。一些常用的配置选项:

css 复制代码
# 设置前缀键为 Ctrl + a
unbind C-b
set-option -g prefix C-a
bind a send-prefix
# 使滚动更流畅
set -g mouse on

8. 常用命令总结

tmux new -s session_name:创建新会话并命名。

tmux ls:列出所有会话。

tmux attach -t session_name:连接到指定会话。

tmux kill-session -t session_name:杀死指定会话。

Ctrl + b d:分离当前会话。

Ctrl + b %:垂直分割窗格。

Ctrl + b ":水平分割窗格。

Ctrl + b o:切换窗格。

Ctrl + b c:创建新窗口。

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

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

9. 常见问题

  • tmux 不响应:确保你没有误按了其他组合键,使用 Ctrl + b 作为前缀。
  • 终端显示混乱:在分离后,可以尝试重新连接会话,如果问题仍然存在,可以重启 tmux。

10. 扩展功能

tmux 还有许多高级功能,例如:

  • 自定义状态栏。
  • 使用插件管理器(如 TPM) 来安装插件,增强 tmux 功能。

结论

tmux 是一个非常灵活的工具,能够提高终端工作效率。通过熟悉其基本操作和配置,您可以在 Linux 环境中更加高效地管理多个任务和会话。

相关推荐
Full Stack Developme2 小时前
Linux 多种压缩格式,优缺点和适用场景
linux·运维·服务器
旖旎夜光2 小时前
Linux(4)(下)
linux·学习
TG:@yunlaoda360 云老大6 小时前
华为云国际站代理商GeminiDB的企业级高可用具体是如何实现的?
服务器·网络·数据库·华为云
yBmZlQzJ6 小时前
财运到内网穿透域名解析技术机制与中立评估
运维·经验分享·docker·容器·1024程序员节
Shanxun Liao6 小时前
Cenots 7.9 配置多台 SSH 互信登陆免密码
linux·运维·ssh
j_xxx404_6 小时前
Linux:第一个程序--进度条|区分回车与换行|行缓冲区|进度条代码两个版本|代码测试与优化
linux·运维·服务器
一点晖光6 小时前
jenkins优化记录
运维·jenkins
looking_for__7 小时前
【Linux】Ext系列文件系统
linux
最贪吃的虎8 小时前
Git: rebase vs merge
java·运维·git·后端·mysql
OliverH-yishuihan8 小时前
开发linux项目-在 Windows 上 基于“适用于 Linux 的 Windows 子系统(WSL)”
linux·c++·windows