什么是tmux?Github的地址:
https://github.com/tmux/tmux
可见tmux是一个终端多路复用器,能够在单屏条件下创建,访问和控制多个终端窗口。同时在终端窗口断开之后可以在主机后台继续运行,也可以之后重连。即优点如下:
-
split your terminal into panes which can be moved, resized, and switched between
-
keep programs running after you disconnect (e.g. when working on a remote server via ssh)
-
Ubuntu:
sudo apt-get install tmux
-
RedHat / CentOS:
sudo yum install tmux
在 tmux 中,有
session
(会话)、
window
(窗口)和
pane
(窗格)三个概念:
-
Sessions:定义的是当前所做的总体的任务。如果在测试某物,则将所有的测试该物的相关操作和活动限定在当前会话当中;
-
Windows:指的是会话当中的一种特定活动或工程;
-
Panes:帮助程序员在一个窗口当中创建多个视图窗格。比如,在一个窗格当中运行,在另一个窗格中追踪错误日志;
结构来讲,就是一个 tmux 可以包含多个 session,一个 session 可以包含多个 window, 一个 window 可以包含多个 pane。
这里有一个更加全面的关于 tmux 的命令的手册,且是在线的,把网址贴一下:
https://phoenixnap.com/kb/tmux-tutorial-install-commands
tmux 的控制方式是——按过
CTRL+b
(默认的前缀按键)之后,再按相应的热键。(
CTRL+b
的键位有些别扭,也就是两个按键距离较远,可以修改
~/.tmux.conf
文件的内容进行前缀的修改,并在tmux当中执行
tmux source-file ~/.tmux.conf
生效,具体操作下面会讲到,同时AcWing中,yxc将其更改为了
CTRL+a
,也是常用的修改的前缀组合)。
讲过前缀组合+热键的控制方式之后,常用的操作命令如下:
大概的内容为:新建 session -> 离开 session -> 查看 session 列表 -> 进入 session -> 关闭 session -> 不同 session 之间的切换 -> 重命名 session 。
操作方式
|
用法
|
tmux
|
新建一个session
,其中包含一个window,window包含一个pane,pane里打开了个shell
|
tmux new -s session_name
|
新建一个指定名称为session_name的会话
,其余同上
|
tmux detach
CTRL+b
手指松开,
d
|
离开session
,从当前的会话中退出,同时当前会话的任务仍在后台中运行
|
tmux ls
|
查看 session 列表,列出所有活动着的session
|
tmux a
/
tmux attach
tmux a -t session_name
|
打开之前挂起的session,即
进入仍在进行中的最近使用的会话
打开/进入挂起的指定名字的会话
|
tmux kill-session -t session_name
|
关闭名为session_name的session
|
CTRL+b
手指松开,
s
|
同
tmux ls
,
查看操作的所有session
;
还可
选择其它session/window/pane
,会有一个GUI界面供选择:
→
:展开当前项 session/window
←
:闭合当前项 session/window
↑
:选择上一项 session/window/pane
↓
:选择下一项 session/window/pane
|
tmux switch -t session_name
|
切换session
|
tmux rename-session -t old_session_name new_session_name
CTRL+b
按住松手,
$
|
重命名当前session名
|
操作方式
|
用法
|
tmux new-window -n window_name
CTRL+b
手指松开,
c
|
新创建一个window
,在当前session中创建一个新的window
|
tmux select-window -t window_name
CTRL+b
手指松开,
w
|
选择指定window_name名称的窗口
选择其它window,会有一个GUI界面供选择:
→
:展开当前项 window
←
:闭合当前项 window
↑
:选择上一项 window/pane
↓
:选择下一项 window/pane
|
tmux rename-window new_window_name
CTRL+b
手指松开,
,
|
操作之后,底部状态栏变为黄色,删除原window名,更改新的window名
|
tmux kill-window -t window_name
CTRL+b
手指松开,
&
|
关闭当前窗口
/(再按
y
进行确认)
|
CTRL+b
手指松开,
PgUp
鼠标滚轮
|
翻阅当前pane内的内容
|
在使用vim编辑器的过程中使用 tmux 的窗格是一件很让人轻松愉悦的事情。
操作方式
|
用法
|
tmux split-window -h
CTRL+b
手指松开,
%
|
将当前pane左右分半
|
tmux split-window
CTRL+b
手指松开,
"
|
将当前pane上下分半
|
CTRL+d
CTRL+b
手指松开,
x
输入exit+
Enter
|
关闭当前pane,若当前window的所有pane关闭,则自动关闭window,session的window同理,类似shared_ptr的回收
|
tmux select-pane -U/D/L/R
CTRL+b
手指松开,
<方向键>`
鼠标点击pane
|
U(Upward)/D(Downward)/L(Left)/R(Right)
选择相邻的pane
选择任意的pane
|
CTRL+b
的同时按
<方向键>
鼠标拖动pane之间分割线
|
调整pane之间分割线的位置
|
CTRL+b
手指松开,
z
|
将当前pane全屏/取消全屏
|
CTRL+b
手指松开,
t
|
在当前窗格显示时钟,点击Enter复原
|
在 tmux 当中选中文本时,需要按住 Shift 键。(仅支持Windows和Linux,不支持MacOS);
在 tmux 中复制/粘贴文本的通用方式:
-
① 按下
CTRL+b
后松开手指,然后按
[
;
-
② 用鼠标选中文本,被选中的文字会自动地复制到 tmux 的剪贴板;
-
③ 按下
CTRL+b
后松开手指,然后按
]
,会将剪贴板中的内容粘贴到光标处;
通过编辑
~/.tmux.conf
文件对 tmux 进行个性化配置,这是对当前用户进行的单独配置,若是想要对主机的所有用户进行配置,则在根目录下创建
/etc/tmux.conf
文件。
更改前缀组合
,以CTRL+b改为CTRL+a为例:
unbind C-b
set -g prefix C-a
更改后保存即可。
更改划分窗口的快捷键,将左右,上下分割分别改为CTRL+b,h
和CTRL+b,v
unbind %
bind h split-window -h
unbind '"'
bind v split-window -v
给出一个推荐配置,比较花里胡哨但是挺实用:https://github.com/gpakosz/.tmux
什么是tmux?Github的地址:https://github.com/tmux/tmux可见tmux是一个终端多路复用器,能够在单屏条件下创建,访问和控制多个终端窗口。同时在终端窗口断开之后可以在主机后台继续运行,也可以之后重连。即优点如下:split your terminal into panes which can be moved, resized, and switched betweenkeep programs running after you disconnect (e.g.
tmux是什么
tmux是一个 terminal multiplexer(终端复用器),它可以启动一系列终端会话。我们使用命令行时,打开一个终端窗口,会话开始,执行某些命令如fio ,dd,scp,关闭此终端窗口,会话结束,fio dd scp服务会话随之被关闭。有时我们希望我们运行的服务被保留,而不是关闭窗口再打开后,重新手动执行。tmux的主要用途就在于此。
它解绑了会话和终端窗口。关闭终端窗口再打开,会话并不终止,而是继续运行在执行。将会话与终端窗后彻底分离。
# Ubun...
1.1 会话与进程
命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session)。
会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有..
首先创建打印流对象:PrintStream printStream = new PrintStream(filepath);
然后将流对象交给系统输出:System.setOut(printStream);
最后,任意的System.out.Print("#$%^&*")输出的内容都会打印在filepath下,控制台不再显示打印的信息。
注:filepath 一般会通过读取配置...
Tmux1. Tmux是什么?1.1 基本概念1.2 安装2. session操作2.1 启动2.2 分离2.3 退出2.4 绑定、解绑、切换session2.5 重命名session3. window操作3.1 新建窗口tmux new-window3.2 切换窗口3.3 重命名窗口4. pane操作4.1 划分窗格4.2 光标位置4.4 关闭窗格5. 其他操作5.1 tmux上下翻屏
使用教程网上相关的Tmux教程很多,可是看完感觉不是太细就是太散,有一些不常用的操作、快捷键也写出来了,感觉重点不够突出
目录简介会话, 窗口, 窗格安装
Tmux 是一个用于在终端窗口中运行多个终端会话的工具,即终端复用软件(terminal multiplexer)。在 Tmux 中可以根据不同的工作任务创建不同的会话,每个会话又可以创建多个窗口来完成不同的工作,每个窗口又可以分割成很多小窗口。这些功能都是非常实用的。
Tmux 的多窗口和窗口分割并不是它吸引的我原因,对于这一点我可以有另外一个终端工具代替...
tmux和screen都是终端复用工具,可以让用户在同一个终端窗口中同时运行多个shell会话,从而提高工作效率。
tmux是GNU Screen的替代品,它提供了更多的功能和可定制性。比如,tmux支持窗格(pane)和窗口(window)的分割,可以将一个终端窗口分割成多个区域,每个区域可以运行不同的命令。此外,tmux还支持会话(session)和会话的保存与恢复,可以在不同的终端窗口中访问同一个会话。
Screen是一个老牌的终端复用工具,具有广泛的应用。它也支持终端窗口的分割和多个会话的管理,但相比tmux,它的可定制性稍弱一些。但是,Screen的文档和教程比tmux更为丰富,学习起来也更容易一些。
总的来说,tmux和Screen都是优秀的终端复用工具,选择哪个工具可以根据个人的需求和习惯来决定。