一、什麼是screen-ls
screen是一個類似於窗口管理器的軟件,它允許用戶在單個SSH會話中使用多個全屏窗口,來管理多個終端會話。screen-ls是screen的一個擴展插件,它通過為每個screen session顯示一個狀態欄,幫助用戶更好地查看和管理多個screen session。screen-ls提供了很多有用的功能,例如:監視和重命名會話,查看會話的進程列表,查看系統負載等。
二、如何安裝和使用screen-ls
安裝screen-ls非常簡單,只需要在終端中執行以下命令:
sudo apt-get update sudo apt-get install screen sudo apt-get install screen-profiles
安裝完成後,可以直接通過在終端中輸入「screen -S name」來創建一個新的screen會話,其中name是會話名稱。例如,我們可以創建一個名為test的screen會話:
screen -S test
在創建的screen會話中,可以執行任何普通的終端命令,例如ls、top、vim等等。如果需要創建新的窗口或切換到已有的窗口,可以使用以下命令:
CTRL+a c – 創建新窗口 CTRL+a n – 切換到下一個窗口 CTRL+a p – 切換到上一個窗口 CTRL+a 0..9 – 切換到編號為0..9的窗口
當我們在使用screen時,可能會有多個screen會話同時存在,這時可以使用screen-ls來方便地查看和管理多個會話。首先需要在screen會話中加載screen-ls,可以通過在~/.bashrc文件中添加以下行來實現:
if [ "$TERM" == "screen" ]; then echo "screen -ls" > /tmp/screens screen -X eval "hardstatus alwayslastline hardstatus string \"%{.kG}%-w%{=}%{.c G}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a \"]" fi
上述代碼會在~/.bashrc中添加一個檢查當前終端類型的if語句,如果當前終端為screen,則會將screen -ls命令的輸出寫入/tmp/screens文件中,並設置一個新的hardstatus行來顯示會話狀態。之後保存~/.bashrc文件並執行以下命令:
source ~/.bashrc screen -ls
這時會顯示正在運行的所有screen會話,以及它們的狀態、PID、啟動時間等信息。
三、screen-ls的更多用法
screen-ls還提供了許多其他有用的功能,例如:監視會話、重命名會話、查看進程列表、查看系統負載等。
1、監視會話
使用「watch screen -ls」命令可以監視當前所有的screen會話。這個命令會每秒自動刷新一次,並顯示每個會話的狀態、窗口數量、進程數量等信息。
watch screen -ls
2、重命名會話
可以通過在screen會話中使用「CTRL+a A」命令來重命名當前的會話。例如,我們可以將test會話重命名為prod會話:
CTRL+a A Enter a name (^A to abort): prod
3、查看進程列表
在screen會話中,可以使用「CTRL+a SHIFT+}」命令來訪問當前會話的進程列表。這個命令會列出當前會話中運行的所有進程,並顯示它們的PID、進程名、啟動時間等信息。
CTRL+a SHIFT+}
4、查看系統負載
使用「CTRL+a i」命令可以在當前會話中顯示系統負載。這個命令會顯示系統當前的平均負載以及系統最近1、5、15分鐘的平均負載值。
CTRL+a i
總結
通過使用screen-ls,Linux運維工程師可以更好地管理和控制多個screen會話,提高工作效率。除了本文介紹的功能以外,screen-ls還提供了許多其他的有用功能,例如:在會話間複製和移動窗口、快捷鍵映射、顯示時間和日期等。如果你是一名Linux運維工程師,那麼screen-ls絕對是你必備的工具之一。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/241446.html