成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

黑屏操作利器,多屏批量shell命令發送

系統 Linux
當一個應用有很多人在上面開發,并被很多應用依賴時,會有個問題。開發在日常環境UI上測試的成功都依賴這個應用提供的服務,但頻繁的發布造成短暫中斷會阻塞流程。

web系統常見的開發流程:

日常->預發->線上

日常上通常只有一臺機器用來集成,所有人的開發分支會在這上面做合并部署。

當一個應用有很多人在上面開發,并被很多應用依賴時,會有個問題。開發在日常環境UI上測試的成功都依賴這個應用提供的服務,但頻繁的發布造成短暫中斷會阻塞流程。

為了不讓單點集成機阻塞,考慮設置兩臺日常機器按正式分批發布形式保證日常環境每時每刻必會有一臺機器在提供服務。這樣的解決方式有個問題,原來debug看日志只需要關心一臺機,登上去就好,現在變成了兩臺機。

  1. app-|--> vm No.1 -> log  
  2. \--> vm No.2 -> log  

這個問題還會繼續膨脹,如果是單元化應用,單元也會有機器,按照以上方式又要乘2, 那么就變成了共4臺,看到了嗎?這時就頭痛了,一條UI上測試的點擊,到底會落在哪臺機器呢?

  1. app -  |-中心-| --> vm No.1 -> log 
  2.        |      \--> vm No.2 -> log 
  3.        |-單元-| --> vm No.3 -> log 
  4.               \--> vm No.4 -> log     

我們先想個簡單的方式解決這個問題,tmux作為一款linux的多屏工具,最早見到這款工具還是在一位用HHKB的哥們那。

tmux基本概念

以下引用http://cenalulu.github.io/lin... 上的圖: 

 

session: 會話,我們可以把一組邏輯上上要做的事定義為一個會話,比如這次會話我們是要做一個應用的日常開發。

window: 窗口,就是我們屏上看到的控制臺界面,可以跟iTerm2上一樣,有多個tab頁,實際概念上也可以直接理解為tab頁。

panel:一個大窗口上,為了能直接看到多個登錄機器的情況,可以切分這個窗口,

 

常用快捷鍵

  1. ctrl+b, % 垂直切割屏幕(window) 
  2.  
  3. ctrl+b, " 水平切割屏幕(window)  

切換窗口

  1. ctrl+b + 窗口號 
  2.  
  3. ctrl+b + n 換到下一個窗口 
  4.  
  5. ctrl+b + p 換到前一個窗口  

切換panel

  1. ctrl+b + 上下左右, 移動到想要的panel上 

調整panel大小

  1. ctrl+b alt+ 左或右調整垂直panel大小 
  2.  
  3. ctrl+b alt+ 上或下調整水平panel大小  

下圖,將右邊的panle調大了 

 

翻頁

tmux不是一個原生GUI支持的,所以我們沒法用iterm2里面的鼠標翻頁來進行操作,翻頁操作更像vi里面的純鍵盤操作。

  1. ctrl+b, [ 切換到復制模式。然后用ctrl+b后退, ctrl+f 前進 來翻頁。 

看多機器shell屏幕大招,發送命令到多個panel

  1. ctrl+b, :setw synchronize-panes 

這個是今天的重點,前面說過了,如果需要登錄的日常機器擴展到4臺怎么辦?

想象下,我們計劃連4臺機,這個可以用切割window得到多個panel解決,而我們的目的是看日志,這個操作在每臺機是一模一樣的:

  1. cd xxx/xxx/xxx 
  2.  
  3. tail -f xxx.log  

那么有沒有一種方式能把我們打的命令同步發送到所有的panel(所有登錄的機器上)呢?

當然有,通過設置一個模式解決。

  1. ctrl+b, :setw synchronize-panes 

 

設置成功后,在一個panel內打字,會同步到所有panel上,如下,我只在一個panel里面輸入了test。

想解除怎么辦? 同樣的命令(synchronize-panes)再輸入一次就解除這種模式。 

 

 

tmux的一些缺省配置功能可以配置在文件里,路徑是:~/.tmux.conf

share一下我目前在用的:

  1. set-option -g default-shell /bin/zsh 
  2. setw -g mode-keys vi 
  3. set-option -g default-command "reattach-to-user-namespace -l zsh" 
  4. set-window-option -g mode-mouse on 
  5. set -g mouse-select-pane on 
  6. set -g mouse-resize-pane on 
  7. set -g mouse-select-window on 
  8.  
  9. # Setup 'v' to begin selection as in Vim 
  10. bind-key -t vi-copy v begin-selection 
  11. bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy" 
  12.  
  13. Update default binding of `Enter` to also use copy-pipe 
  14. unbind -t vi-copy Enter 
  15. bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy" 
  16.  
  17. # bind a reload key 
  18. bind R source-file ~/.tmux.conf ; display-message "Config reloaded.."  
責任編輯:龐桂玉 來源: segmentfault
相關推薦

2019-07-21 19:40:25

服務器開發 架構

2013-10-10 10:48:22

大數據音頻植入多屏互動

2019-06-17 08:50:49

Emacs shell命令Windows

2009-12-31 13:56:16

Ubuntu shel

2024-12-27 11:53:47

2024-09-29 15:26:01

2014-06-06 13:32:28

2009-08-03 11:47:22

Linux at命令linux at命令詳Linux操作系統

2013-09-24 09:06:06

AdMaster

2009-12-08 10:25:26

“黑屏死機”

2015-07-08 14:56:26

2023-02-26 14:34:18

OSW操作系統監控

2014-04-10 09:36:12

VirtualBox黑屏故障Ubuntu

2013-05-29 11:33:15

AdTime數據分析大數據

2014-08-06 09:57:15

hadoop ShelShell命令

2019-12-01 22:59:43

Linux shell命令進程

2022-03-25 09:29:57

LinuxshellShellcheck

2009-09-27 14:33:01

Hibernate批量

2010-11-29 13:17:00

Sybase批量操作

2014-08-13 10:39:19

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩亚洲欧美一区 | 午夜免费| 九九亚洲精品 | 成人午夜免费网站 | 范冰冰一级做a爰片久久毛片 | 国产欧美日韩一区 | 成人在线视频一区 | 欧美成年人视频在线观看 | 日韩午夜一区二区三区 | 国产蜜臀 | 久久综合99| 在线国产一区二区 | 一本一道久久a久久精品综合 | 欧美在线综合 | 91资源在线 | 日日夜夜精品视频 | 成人国产免费视频 | 日韩欧美在线免费观看视频 | 久久精品99久久 | 中文字幕在线观看一区二区 | 国产精品久久久久久久久久久免费看 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 在线四虎 | 91精品久久久久久久久中文字幕 | 男女精品网站 | 国产精品久久久久久久久久了 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 激情综合五月 | 波霸ol一区二区 | 久久伊 | 国产精品视频一二三区 | 亚洲精品一区二区三区蜜桃久 | 亚洲成人一区 | 中文在线a在线 | 亚洲一区二区久久 | 欧美a区 | 亚洲高清在线 | 中文字幕亚洲区 | 日韩电影在线 | 99re视频在线观看 | 99久9 |