Tmux简介
Tmux是“终端复用器”,经常看到这种说法~。它是可以把一次会话中的命令记录下来的工具。会话、终端、命令、程序的关系是:
终端(交互的工具)-> 会话(一个进程,也是链接终端的桥梁)-> 命令(指令)-> 程序依据命令运行
Tmux Github页面:https://github.com/tmux/tmux
Tmux安装
Mac:
brew install tmux
Linux:
sudo apt-get install tmux # ubuntu
sudo yum install tmux # centos
Tmux基本使用
在命令行中输入
tmux
即可进入到tmux的界面,在窗口下面就可以看到新建的会话了。
常用的命令如下:
- 查看当前全部的tmux会话:
tmux ls
- 新建会话:
tmux new -s [会话名字]
- 分离会话并回到原始界面:
tmux detach
- 重新进入会话:
-按照编号:tmux attach -t 0
-按照名字:tmux attach -t [会话名字]
- kill会话:
-按照编号:tmux kill-session -t 0
-按照名字:tmux kill-session -t [会话名字]
-或者会话内直接输入exit
同时也很多快捷键:
使用快捷键需要先按一下ctrl+b
,然后:
- 快捷键帮助:
ctrl+b
,然后按一下?
,最后按Esc
退出
- 查看当前全部的tmux会话:
ctrl+b
,然后按一下s
- 分离会话并回到原始界面:
ctrl+b
,然后按一下d
Tmux后台运行程序
比如有一个脚本,叫做check.sh
,内容是:
for i in `seq 1 1000`
do
sleep 1
echo $i
done
如上,可以看出这段代码的逻辑是:循环输出从1到1000的数,每次都是等1s后输出
然后我们赋予这个文件运行权限:
chmod +x check.sh
然后新建一个tmux会话:
tmux new -s check_tmux
然后在新的窗口中运行:
./check.sh
可以看到正在运行:
然后分离会话并回到原始界面,先按一下ctrl+b
(这时其实界面没有任何变化,但是要小心,因为下一个按键按错了可能就是其他快捷键了),然后按一下d
,退回到原始的命令行
喝一杯茶,然后回去看看:
tmux attach -t check_tmux
可以看到整个界面已经大不相同:
我们可以借助tmux输出难以放在后台的程序
问:有什么程序不能使用nohup
与&
放在后台以至于需要这样的操作么??
答:…hhhhhhhhhh,真心希望你不要碰到这种情况!