tmux(terminal multiplexer)是一个功能强大的终端复用器,它允许用户在一个终端窗口中访问多个独立的终端会话,支持会话的保持、分离和恢复。tmux非常适合需要同时进行多个命令行任务的用户,尤其是服务器管理员和开发人员。
Linux tmux命令适用的Linux版本
tmux通常在大多数Linux发行版的官方仓库中都能找到,以下是在不同发行版中安装tmux的命令:
# 基于apt的发行版(如Debian、Ubuntu、Raspbian、Kali Linux等)
sudo apt-get update && sudo apt-get install tmux
# 基于yum的发行版(如RedHat,CentOS 7等)
sudo yum update && sudo yum install tmux
# 基于dnf的发行版(如Fedora,CentOS 8等)
sudo dnf update && sudo dnf install tmux
# 基于apk的发行版(如Alpine Linux)
sudo apk add --update tmux
# 基于pacman的发行版(如Arch Linux)
sudo pacman -Syu && sudo pacman -S tmux
# 基于zypper的发行版(如openSUSE)
sudo zypper ref && sudo zypper in tmux
# 基于pkg的FreeBSD发行版
sudo pkg update && sudo pkg install tmux
# 基于Homebrew的OS X/macOS发行版
brew update && brew install tmux
Linux tmux命令的基本语法
tmux的基本语法是:
tmux [选项] [命令]
Linux tmux命令的常用选项或参数说明
以下是tmux的一些常用选项和参数,按字母顺序排列:
选项 | 描述 |
---|---|
-2 | 强制tmux使用256色模式 |
-C | 启动控制模式 |
-f | 使用指定的配置文件代替默认的.tmux.conf |
-L | 使用指定的socket名称 |
-S | 使用指定的socket路径 |
-u | 强制tmux支持UTF-8 |
-v | 显示版本信息 |
Linux tmux命令实例详解
实例1:启动新的tmux会话
[linux@bashcommandnotfound.cn ~]$ tmux
这将启动一个新的tmux会话。
实例2:分离tmux会话
在tmux会话中,按下Ctrl+b
然后按d
可以将当前会话分离。
实例3:列出所有tmux会话
[linux@bashcommandnotfound.cn ~]$ tmux ls
这将列出所有tmux会话,可以看到会话名称和状态。
实例4:重新连接到tmux会话
[linux@bashcommandnotfound.cn ~]$ tmux attach-session -t 0
假设会话编号为0,这将重新连接到编号为0的tmux会话。
实例5:在tmux中创建新窗口
在tmux会话中,按下Ctrl+b
然后按c
将创建一个新窗口。
实例6:在tmux中切换窗口
在tmux会话中,按下Ctrl+b
然后按窗口编号(如0
)切换到指定的窗口。
实例7:水平分割窗口
在tmux会话中,按下Ctrl+b
然后按"
(双引号键)进行水平分割。
实例8:垂直分割窗口
在tmux会话中,按下Ctrl+b
然后按%
进行垂直分割。
实例9:在分割的面板之间导航
在tmux会话中,按下Ctrl+b
然后使用箭头键在面板之间导航。
实例10:关闭当前面板
在tmux会话中,要关闭当前面板,可以在该面板中执行exit
命令或者按下Ctrl+b
然后按x
,然后确认关闭。
实例11:调整面板大小
在tmux会话中,按下Ctrl+b
然后按住Ctrl
键,使用箭头键调整当前面板的大小。
实例12:在面板间切换布局
在tmux会话中,按下Ctrl+b
然后按空格键,可以在不同的面板布局间切换。
实例13:同步面板操作
在tmux会话中,如果你想要在所有面板中同步输入,首先要进入tmux命令模式Ctrl+b
然后:
,接着输入setw synchronize-panes
。
实例14:保存tmux会话并恢复
tmux本身不支持直接保存会话状态,但可以通过第三方工具如tmux-resurrect
来做到。首先安装tmux-resurrect
,然后通过Ctrl+b
,Ctrl+s
来保存会话,使用Ctrl+b
,Ctrl+r
来恢复会话。
实例15:查找tmux会话中的文本
在tmux会话中,按下Ctrl+b
然后[
进入复制模式,然后可以使用/
来向前查找,使用?
来向后查找,输入查找内容后按回车开始搜索。
实例16:复制和粘贴文本
在tmux会话中,首先按下Ctrl+b
然后[
进入复制模式。使用方向键选择文本,按Space
开始选择,Enter
完成选择。然后可以在任何面板中按下Ctrl+b
然后]
来粘贴刚才选择的内容。
实例17:重命名当前窗口
在tmux会话中,按下Ctrl+b
然后,
(逗号键),然后输入新的窗口名称,按回车确认。
实例18:创建带名称的会话
tmux new -s session_name
这将创建一个名为session_name
的新tmux会话。
实例19:关闭其他所有窗口
在tmux会话中,按下Ctrl+b
然后按下&
,将提示你是否要关闭除当前窗口之外的所有窗口。
实例20:垂直最大化当前面板
在tmux会话中,按下Ctrl+b
然后按下z
,可以将当前面板临时全屏显示。再次按Ctrl+b
z
返回之前的布局。
Linux tmux 命令的注意事项
-
版本兼容性: 确保tmux版本与你的系统环境兼容,不同版本的tmux可能有不同的特性和命令选项。
-
依赖库: tmux可能需要依赖于其他库,例如libevent和ncurses。如果系统中没有这些库,tmux可能无法正常运行。
-
配置文件: tmux的行为可以通过配置文件
.tmux.conf
进行自定义。在修改配置文件之前,最好备份原有配置。 -
会话管理: 在关闭终端或SSH连接前,记得将tmux会话分离(detach),以避免会话中的程序意外终止。
-
权限问题: 如果你在没有相应权限的情况下启动tmux,可能会遇到创建或附加会话的问题。
-
资源占用: 留意tmux会话中开启的窗口和面板数量,大量的窗口和面板可能会占用过多资源。
-
安全性: tmux会话是持久的,意味着其他有权限的用户可能访问到你的会话。确保你的会话安全,尤其是在多用户系统中。
-
快捷键冲突: tmux的默认快捷键可能与你的终端或者其他应用程序的快捷键冲突。你可能需要重新配置快捷键以避免冲突。
-
命令未找到: 如果你在尝试使用tmux时遇到了
bash: tmux: command not found
的错误信息,这意味着tmux没有安装在你的系统中。请按照你的Linux发行版的包管理器的指南进行安装。
评论区