在tmux中执行命令

Last Updated: 2023-10-06 09:02:40 Friday

-- TOC --

tmux,terminal multiplexer,终端复用器。它可以让Terminal窗口与在其中执行的命令解绑定,断开或关闭Terminal窗口,不会影响到里面命令的执行。这带来的好处,是显而易见的。tmux还可以让你在一个屏幕上划分出多个Terminal(所谓的pane),实用和装逼效果都很好。

会话(session)的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始,关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。一个典型的例子就是,SSH登录远程计算机后,打开一个Terminal窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次会话已经在网络断开时终止了,里面的进程也随之消失了。

tmux有很多快捷键,都是通过前缀Ctrl-b来启动!注意:快速连续输入快捷键是有效的。

$ tmux
$ tmux new -s <session_name>
$ tmux rename-session -t <old_name> <new_name>
$ tmux detach

detach后,session中的命令还在执行,不会中断!这个功能太重要了...

$ tmux ls
$ tmux list-session
$ tmux attach -t <session_name>

在session中执行:

$ exit

或者直接Ctrl-d

$ tmux kill-session -t <session_name>
$ tmux switch -t <to_session_name>

window和pane的不同之处,多个pane可在一个window中并存,而window的显示都是独立的。一个session可包含多个window,一个window可包含多个pane。

$ tmux new-window
$ tmux new-window -n <window_name>
$ tmux select-window -t <window_name>
$ tmux rename-window <new_name>

进入copy mode后即可实现,Ctrl-b [

修改tmux的配置文件:

$ vim ~/.tmux.conf

写入设置:

setw -g mode-keys vi

重新再如配置文件:

tmux source-file ~/.tmux.conf

本文链接:https://cs.pynote.net/sf/linux/shell/202303261/

-- EOF --

-- MORE --