putty在用秘钥连接ssh的时候总是有诸多不便,最终还是选择了gitbash
gitbash优势:
- 首先, gitbash同mac的terminal一样自带ssh
- 其次它支持linux命令,eg
cd
ls
pwd
cp
mv
.etc, 支持vim,操作起来比较方便 - 此外,它还可以设置alias(sublime goland vscode可以从终端启动了), 配置文件
/etc/profile.d/aliases.sh
, 需要管理员权限打开
putty在用秘钥连接ssh的时候总是有诸多不便,最终还是选择了gitbash
gitbash优势:
cd
ls
pwd
cp
mv
.etc, 支持vim,操作起来比较方便/etc/profile.d/aliases.sh
, 需要管理员权限打开众所周知,git bash下是不能实现多标签页的,每次使用git bash的ssh连接多台机器时,需要打开多个git bash程序。而tmux能解决这个问题,并且tmux比这个还要强大。
tmux就相当于linux的screen
tmux是一个终端复用器(terminal mutilplexer)。何谓终端复用器呢?平时我们的使用git bash终端通过ssh连接到远程之后,会话就开始了,当关闭终端时,会话就结束,远程正在执行的任务也会结束,即会话和终端窗口是绑定在一起的。tmux就是为了解决这个问题,让窗口和会话解绑。
git bash中执行以下命令,即可安装tmux。如果以下操作完tmux没法使用,注意git升级到最新版,我遇到的坑就是git2.9版本安装完tmux后打tmux命令没反应。升级完git2.26后即可。
git clone https://github.com/xnng/bash.git
cd bash
cp tmux/bin/* /usr/bin
cp tmux/share/* /usr/share -r
新建tmux配置文件
vi ~/.tmux.conf
原因复制如下配置到上面的配置文件中即可。
setw -g mouse
set-option -g history-limit 20000
set-option -g mouse on
bind -n WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -n WheelDownPane select-pane -t= \; send-keys -M
tmux new -s work
这时打开了一个tmux会话,窗口底部是一个绿色的信息显示条tmux detach
命令,分离窗口和会话,这是你会退出tmux会话,回到git bash终端tmux ls
,你会看到自己后台正在跑的tmux会话,这时即使你关闭git bash终端,会话也不会关闭,此时可以输入tmux new -s mytest
新建一个新会话,相当于开了两个窗口了。tmux switch -t mytest
可以切换到mytest会话tmux kill-session -t SESSION_NAME
ctrl + b d
(注意:此命令是ctrl和b同时按下,然后全部松开,再单独按下d)ctrl + b
ctrl + z
(注意:此命令是先同时按下ctrl和b, 然后都松开,再同时按下ctrl和z)tmux a -t SESSION_NAME
以上,还有许多的快捷键可以使用,如,在tmux会话中,按ctrl+b
一下,再按以下w键,会弹出所有窗口的列表,此时你选择一个窗口即可,切换非常方便。
tmux的层次划分为:一个session下有多个window,一个window下有多个pane(面板)
tmux new -s {sessionName}
,直接输入tmux也可新建一个自动命名的sessiontmux new-window -n {windowName}
tmux split-window
(划分上下两个窗格),tmux split-window -h
(划分左右两个窗格)C-b w
表示先按一次ctrl-b,再按一次w按住shift选择内容后按右键选复制,记住是按住shift键。粘贴时可以按住shift键点击右键,再选择粘贴。
tmux的快捷键都有前缀键,默认为ctrl+b
,记为C-b,需先按前缀键再按指定的键,如C-b w打开window列表,表示按前缀键后按w,依此类推。一般的操作流程和快捷键如下:
C-b ?
tmux new -s {sessionName}
C-b d
C-b c
,或命名tmux new-window -n {windowName}
C-b w
C-b &
C-b %
关闭窗格:C-b x