Linux终端复用工具 tmux
? 简介Terminal Multiplexer?(From WIKIPEDIA) -?A terminal multiplexer is a software application that can be used to multiplex several separate pseudoterminal-based login sessions inside a single terminal display,terminal emulator window,PC/workstation system console,or remote login session,or to detach and reattach sessions from a terminal. Tmux 是 Linux 平台下一款?终端复用?的工具,其可以在单一的终端上实现多任务管理,通过简单的操作进行任务之间的切换,且任务的执行不受终端退出等意外情况的影响。 Session(会话)、Window(窗口)、Pane(窗格):tmux使用session来区分不同的工作环境,一个session可以包含多个window,一个window可以被分割成多个pane 安装与使用sudo apt-get install tmux
基本配置
vim ~/.tmux.conf 1 # 解绑 Ctrl + b 快捷键 2 unbind C-b 3 4 # 更换前缀快捷键为 Ctrl + a 5 set -g prefix C-a
source-file ~/.tmux.conf
1 # 将快捷键 r 设置为加载配置文件,并在状态栏显示“Config Reloaded”信息 2 bind-key r source-file ~/.tmux.conf ; display-message "Config Reloaded!" 快捷键与进阶配置?Pane命令1. 创建 pane
1 # 重定义分隔窗格快捷键 2 unbind ‘"‘ 3 unbind % 4 bind-key v split-window -h 5 bind-key h split-window -v 2. 切换 pane
3. 关闭 pane
4. 全屏显示 pane
Window 命令1. 创建 window
2. 切换 window
3. 关闭 window
Session 命令0. 原理 在 tmux 实现中,会话实际由 tmux 客户端( client )显示在屏幕上,而所有的会话均由一个唯一的 tmux 服务器( server )进行管理,当用户建立第一个 tmux 会话时,tmux server 即启动,而当所有的会话都被注销时,tmux server 则自动停止,从而退出 tmux。tmux client 和 server 均为独立的进程,它们之间通过一个位于 /tmp 目录下的 socket 进行交互。当用户从原始的终端通过 tmux 命令创建一个会话或重新 attach 一个会话时,tmux 即在当前终端下建立一个 tmux client,用于显示进入的 tmux 会话,当用户在 tmux 中进行会话切换时,实际是将当前的 tmux client 重新 attach 到新的会话中( 从而显示新的会话 ),而当用户选择 detach 当前会话时,实际是取消 tmux client 与当前会话的绑定( 从而不再显示该会话 ),无论是上述哪一种情况,实际上只是 tmux client 不再显示某一个会话,而不是关闭会话,会话仍会在后台运行,由 tmux server 进行管理。当从 tmux 退出至原始的终端时,该终端下建立的 tmux client 即自动退出。 ? 1. 创建 session tmux new -s session_name [-n window_name] //创建并进入一个名为 session_name 的会话,其拥有一个名为 window_name 的窗口 2. 离开 session
3. 进入 session tmux attach [-t session_name] //进入一个名为 session_name 的会话,attch也可以用 a 或 at 代替
4. 查询 session
5. 注销 session
tmux kill-session -t session-name //删除名为 session-name 的会话 tmux kill-server //删除所有的会话
6. 重命名 session
tmux rename -t old_session_name new_session_name
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |