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

2020-12-01 TechWeb

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... 上的圖:

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

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

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

常用快捷鍵

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調大了

翻頁

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 

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

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

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.."  

點讚 0

相關焦點

  • 工具:C 程序轉換ShellCode利器
    一、背景1、在滲透測試中,C#將會逐步替代Powershell;2、就目前的趨勢來說,C#開源的工具越來越多;3、使用C#開發的程序都能通過Donut轉換成shellcode。二、下載、編譯這是一個由多個工具組成的工作集,核心程序是donut,其它的都是它的輔助程序,但都有很用。
  • shell調試教程之MM32 MCU的J-Link RTT方式實現shell功能
    硬體資源如下:   本次實驗將在基於MM32L073的Miniboard上進行測試驗證,實現shell的通信埠為J-Link RTT, 其作為shell輸入輸出通道。PA15作為狀態指示 LED1的控制引腳。   軟體資源如下:   下面我們著重介紹軟體實現流程以及相關工具設置,主要涉及如何移植shell的輸入輸出以及如何執行命令。
  • 如何解決LED顯示屏黑屏的那些尷尬事兒?
    這些接口、線纜、電源、底殼如果沒選擇好,會導致led顯示屏整體或局部黑屏,花屏,馬賽克,無信號等。  其餘故障中又有80%是因為下面的原因引起:PCBA上焊點、電容、端子,LED燈,箱體的防護等級不足引起的漏水塵埃堆積,外漏螺釘五金硬體鏽蝕,控制板卡。這些原因會導致led顯示屏有瞎燈或高亮,一行或多行不亮,缺色等,如果控制卡或軟體有問題則會導致圖像顯示不正常。
  • LED顯示屏軟體解決顯示屏黑屏辦法
    LED控制卡軟體伺服器查詢在線,發送節目正常,可是屏為什麼是黑的不亮。本文引用地址:http://www.eepw.com.cn/article/221867.htm前幾天在廣州LED展會的時候接到了浙江客戶的電話,說小區顯示屏一直用著是正常的,可是這幾天突然黑屏沒有內容顯示,在LED控制卡軟體內查詢它的狀態是在線的,發送信息也能發送過去,不知道是什麼原因。
  • Python-調用系統命令的方法
    os.system()該函數返回命令執行結果的返回值,system()函數在執行過程中進行了以下三步操作: 1、fork一個子進程; 2、在子進程中調用exec函數去執行命令; 3、在父進程中調用wait(阻塞)去等待子進程結束。返回0表示命令執行成功,其他表示失敗。
  • 現代-途勝 導航屏黑屏
    2020年12月7日因導航屏多次黑屏,到北京現代武威泰和昌4S店維修,4S店檢查維修後導航仍然黑屏,4S店要求更換導航,因導航在保質期內,4S店向現北京現代廠家申請了新的導航屏,到2021年1月12日問題仍然為解決。多次向4S店溝通、打電話,得到的答覆是廠家庫房導航沒貨,他們也沒辦法。多次向北京現代打電話,得到的答覆均是耐心等待。
  • python交互式shell-ipython
    前言在寫Python的時候,有時候需要命令行來測試一段代碼,這時候就會用到交互式的shell。直接輸入python就可以進入默認的shell,但是都沒有提示,用起來不是很爽。這時候就可以用上ipython。
  • shell是什麼?shell實現原理分析基於MM32 MCU的shell腳本源碼
    軟體資源如下:   以下為函數初始化配置及相關全局變量定義內容,代碼如下:   typedef struct   {   char *command; // shell命令提示符   char buffer[SHELL_COMMAND_MAX_LENGTH]; // shell命令緩衝buffer
  • Redis的批量操作是什麼?怎麼實現的延時隊列?以及訂閱模式、LRU
    所以這次準備繼續總結,因為第一個問題,Redis的批量操作,是我在面試過程中被真實問到的,當時沒答上來,也是因為確實沒了解過Redis的批量操作。當時的問題,我還記得比較清晰:Redis執行批量操作的功能是什麼?使用場景就是搞促銷活動時,會做預緩存,會往緩存裡放大批數據,如果直接放的話那麼會很慢,怎麼能提高效率呢?
  • 等離子電視黑屏原因是什麼 等離子電視黑屏維修方法【圖文詳解】
    事實上,還有很多消費者也碰到了這種剛買不久的 等離子電視 黑屏的現象,有的打了維權熱線,有的只能選擇忍氣吞聲。那像這種等離子電視出現黑屏的原因是什麼呢?   等離子電視黑屏的原因  等離子屏是否亮,只與屏本身是否存在故障有關。
  • 華為手機黑屏還能這樣操作?3招教你快速掌握,黑科技滿滿
    華為手機黑屏還能這樣操作?3招教你快速掌握,黑科技滿滿。當我們拿出手機的時候想要看一眼手機,還得按一下電源鍵,其實是非常麻煩的,僅僅一個看時間的需求卻需要大費周章,這其實並不符合手機為我們一直帶來便利的特點,但是其實許多華為手機都是可以設置不亮屏就顯示時間的,這個隱藏的功能其實許多人都不知道,你知道怎麼設置嗎?
  • 適合小白的BASH基本命令攻略,分分鐘PK掉黑客達人
    由於GUI不可編程,使用「command line」操作是不可行的。然而通過鍵入幾行代碼,就能快速完成這一操作。對不同的開發人員而言,Unix shell都是非常強大的工具。本文旨在介紹UNIX作業系統基礎知識。UNIX除了WINDOWS之外,如今大多數的作業系統都是在UNIX基礎上構建。其中包括Linux發行版,macOS,iOS,Android等。
  • 電腦無線投屏網絡延遲Ping命令測試
    電腦無線投屏網絡延遲Ping命令測試今天早上我們的在線技術人員,接到用戶諮詢:在使用無線投屏過程,播放PPT幻燈片延遲問題,然後用戶發送了一張截圖過來。無線投屏網絡延遲Ping命令測試通過網絡數據表明,延遲均小於1MS(毫秒)。
  • 華為手機錄屏黑屏是bug?真相竟是為保護帳號隱私
    對於很多喜歡分享生活的盆友來說,平常玩機看到好玩有趣的片段肯定忍不住想要錄屏保存或與好友共樂。可第三方的錄屏軟體,時常會出現聲音不同步或者是畫質不清晰等問題。今天,就給大家介紹一下華為手機自帶的錄屏功能,不但操作方便功能強大,還有不少人性化的設計,下面就跟著我一起來看看吧。
  • ShellShock漏洞影響廣泛 企業如何防範?_網康 NF-S360-A_網絡設備...
    Bash是一款被用於控制眾多Linux電腦上的命令提示符的軟體,黑客可以利用Bash中的漏洞完全控制目標系統。據悉,該漏洞與Bash處理來自作業系統或調用Bash腳本的應用程式的環境變量有關。如果Bash是默認的系統shell,網絡攻擊者可以通過發送Web請求、secure shell、telnet會話或其它使用Bash執行腳本的程序攻擊伺服器和其它Unix和Linux設備。
  • 之活用History命令
    Linux系統下可通過history命令查看用戶所有的歷史操作記錄,在安全應急響應中起著非常重要的作用,但在未進行附加配置情況下,history命令只能查看用戶歷史操作記錄,並不能區分用戶以及操作時間
  • 常常黑屏缺管護 內容過時 社區電子屏變成「雞肋」有原因
    近幾年,不少社區裡設置了戶外電子屏,但有的長期黑屏無人管護,有的遭居民抱怨「亮瞎眼」,還有人認為它播放的內容跟不上形勢……根據市民反映,記者分兵幾路探訪了多個社區電子屏的使用情況和問題。由市城管委起草的相關法規已列入今年立法計劃。未來,對於戶外電子顯示裝置的設置和管理,將有嚴格的要求和規定。
  • 快手、抖音爬蟲必備工具,批量爬取無水印短視頻
    工具、材料:電腦,手機快手視頻連結快手作者頁連結固喬視頻助手操作步驟:打開工具"固喬視頻助手"點【自媒體視頻下載】進入一個新的頁面這個工具可通過採集一個一個視頻的連結,粘貼進去批量下載,也可以用作者主頁連結,放到工具裡面直接批量獲取全部視頻連結後再批量下載,還有一個最簡單的,【隨機獲取熱門視頻】這個地方點一下,下拉菜單選對應的平臺就能獲取到當下最熱門的視頻連結然後批量下載。我們選擇採集連結批量下載的方法。
  • 家裡電視機突然黑屏怎麼辦?電視機黑屏解決方法
    電視機黑屏是在生活中常常會遇到的問題,有的電視機在黑屏之後幾分鐘或者是十幾分鐘之後就自動的恢復正常了 但是有的電視機就是在開機之後很長時間都是維持在黑屏的狀態,那麼應該如何解決電視機黑屏的現象呢?
  • 超詳細的Shell中特殊字符的用法總結大全
    超詳細的Shell中特殊字符的用法總結大全 Linux下無論如何都是要用到shell命令的,在Shell的實際使用中,有編程經驗的很容易上手,但稍微有難度的是shell裡面的那些個符號,各種特殊的符號在我們編寫Shell腳本的時候如果能夠用的好,往往能給我們起到事半功倍的效果,那麼這些特殊符號所代表的意思你知道嗎