【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 环境中更加高效地管理多个任务和会话。

相关推荐
运维&陈同学4 分钟前
【zookeeper04】消息队列与微服务之zookeeper客户端访问
linux·后端·微服务·zookeeper·云原生·消息队列·云计算
awonw5 分钟前
[运维][Nginx]Nginx学习(5/5)-Nginx高级
运维·学习·nginx
Guofu_Liao23 分钟前
Macos远程连接Linux桌面教程;Ubuntu配置远程桌面;Mac端远程登陆Linux桌面;可能出现的问题
linux·ubuntu·macos
Dontla1 小时前
Docker Desktop Engine Stopped原因分析(docker桌面停止)WSL没装或没更新
运维·docker·容器
小丁爱养花1 小时前
网络原理(一):应用层自定义协议的信息组织格式 & 初始 HTTP
java·服务器·网络·网络协议·http
guokanglun1 小时前
自动化的内存管理技术之垃圾回收机制-JavaScript引用数据内存回收机制
运维·jvm·自动化
猪蹄手2 小时前
网络层协议IP
服务器·网络·tcp/ip
Peter_chq2 小时前
【计算机网络】数据链路层
linux·c语言·开发语言·网络·c++·后端·网络协议
御风_212 小时前
Linux——Uboot命令使用
linux·ubuntu