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

相关推荐
SG.xf3 分钟前
Ansible
运维·ansible
HEX9CF38 分钟前
【Linux】SQLite 数据库安装教程(Ubuntu 22.04)
linux·数据库·sqlite
看山还是山,看水还是。1 小时前
Nginx 的 Http 模块介绍(中)
android·运维·网络·nginx·http
kimi-2221 小时前
Linux 常用命令二
linux
苏湘涵1 小时前
socket编程---UDP
linux·开发语言·网络·php·进程通信
、十一、1 小时前
Linux中ES的安装
linux·运维·elasticsearch
不甘平凡的蜜蜂1 小时前
第三十三篇:TCP协议如何避免/减少网络拥塞,TCP系列八
运维·网络·网络协议·tcp/ip·计算机网络·智能路由器
danplus1 小时前
外贸邮件营销群发:如何避免成为垃圾邮件?
服务器·api接口·邮件营销·smtp服务器·邮件接口·营销邮件·域名邮箱
琪露诺大湿1 小时前
JavaEE-多线程初阶(1)
java·linux·开发语言·jvm·数据库·java-ee·1024程序员节
静思心远1 小时前
驱动和芯片设计哪个难
linux