目录
tmux
一种终端复用工具,是终端中的窗口管理器。常见的一种用途是在关闭父shell时保持程序运行(常用于ssh访问断开连接后保持运行)。linux上可通过包管理器进行安装,windows上借助cygwin也可使用。为方便各位使用,此处提供linux 64位静态编译的版本: 点击下载 tmux-2.8.gz
创建一个session
tmux new -s
myname连接到运行中的session
tmux a -t myname # -t 通过名称,可以是名称前缀,如my; a 可以写成全称 attach tmux a 4 # 通过数字id
销毁session
tmux kill-session -t
myname列出session
tmux ls
进入tmux后操作panel和window的操作有:先按prefix
(默认的配置是CTRL + b),释放后再按下边的:
Panes
% vertical split
" horizontal split
d detach from session (it keeps running in the background)
x kill pane
Up/Down/Left/Right move between panes
: + resize-pane -D Resizes the current pane down
: + resize-pane -U Resizes the current pane upward
: + resize-pane -L Resizes the current pane left
: + resize-pane -R Resizes the current pane right
: + resize-pane -D 20 Resizes the current pane down by 20 cells
Windows
按键 | 功能 |
---|---|
c | 创建create window |
w | 列出windows |
n | next window |
p | previous window |
& | kill window |
, | 重命名rename window |
翻页及内容搜索
prefix
+ PgUp/PgDn 上下翻页, 此时进入scrollback mode
, 可以按ctrl-S
进行内容搜索, 搜索到的多个内容按n/N调转到下一个/上一个匹配项(这与vim用法相同) .而 Ctrl-S 是 emacs bindings. 如果将 tmux 设置成了 vim bindings, 进入 copy mode 再用 slash (/) 进行搜索.
tmate
特性:
- 远程终端共享(支持ssh和web上的命令行,且有只读模式)
- 基于tmux,多路终端复用
- 完全开源,支持自己搭建服务器,默认使用tmate.io的服务器
主页 https://tmate.io
如同ssh反向隧道。
简易用法:
tmate # 进入tmux,并创建隧道链接,底部显示链接地址,几秒后消失
tmate show-messages # 显示刚才建立的ssh地址与web地址
后台运行(daemon):
tmate -S /tmp/tmate.sock new-session -d # Launch tmate in a detached state
tmate -S /tmp/tmate.sock wait tmate-ready # Blocks until the SSH connection is established
tmate -S /tmp/tmate.sock display -p '#{tmate_ssh}' # Prints the SSH connection string
tmate -S /tmp/tmate.sock display -p '#{tmate_ssh_ro}' # Prints the read-only SSH connection string
tmate -S /tmp/tmate.sock display -p '#{tmate_web}' # Prints the web connection string
tmate -S /tmp/tmate.sock display -p '#{tmate_web_ro}' # Prints the read-only web connection string
首先远程端和本地端安装ssh相关工具,使用ssh-keygen产生公钥和私钥(否则会提示Permission denied (publickey)之类的错误)。
参考