91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行多屏批量shell命令發送

發布時間:2021-11-02 16:32:16 來源:億速云 閱讀:160 作者:柒染 欄目:系統運維

這篇文章給大家介紹如何進行多屏批量shell命令發送,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

web系統常見的開發流程:

日常->預發->線上

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

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

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

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

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

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

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

tmux基本概念

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

如何進行多屏批量shell命令發送

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

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

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

如何進行多屏批量shell命令發送

常用快捷鍵

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

切換窗口

ctrl+b + 窗口號  ctrl+b + n 換到下一個窗口  ctrl+b + p 換到前一個窗口

切換panel

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

調整panel大小

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

下圖,將右邊的panle調大了

如何進行多屏批量shell命令發送

翻頁

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

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

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

ctrl+b, :setw synchronize-panes

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

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

cd xxx/xxx/xxx  tail -f xxx.log

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

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

ctrl+b, :setw synchronize-panes

如何進行多屏批量shell命令發送

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

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

如何進行多屏批量shell命令發送

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

share一下我目前在用的:

set-option -g default-shell /bin/zsh setw -g mode-keys vi set-option -g default-command "reattach-to-user-namespace -l zsh" set-window-option -g mode-mouse on set -g mouse-select-pane on set -g mouse-resize-pane on set -g mouse-select-window on  # Setup 'v' to begin selection as in Vim bind-key -t vi-copy v begin-selection bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"  # Update default binding of `Enter` to also use copy-pipe unbind -t vi-copy Enter bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"  # bind a reload key bind R source-file ~/.tmux.conf ; display-message "Config reloaded.."

關于如何進行多屏批量shell命令發送就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽宁省| 金乡县| 富阳市| 万州区| 日喀则市| 大足县| 达拉特旗| 新乐市| 天祝| 丁青县| 高密市| 宿迁市| 盐池县| 舟山市| 中江县| 石柱| 北辰区| 五河县| 浠水县| 紫阳县| 疏附县| 秀山| 城步| 安西县| 波密县| 丹寨县| 灵台县| 三亚市| 长顺县| 昌乐县| 闽侯县| 邯郸县| 温宿县| 恩施市| 静乐县| 叶城县| 泌阳县| 东辽县| 玉树县| 磐石市| 织金县|