系統(tǒng)管理員經(jīng)常需要SSH 或者telent 遠程登錄到Linux 服務(wù)器,經(jīng)常運行一些需要很長時間才能完成的任務(wù),比如系統(tǒng)備份、ftp 傳輸?shù)鹊?。通常情況下我們都是為每一個這樣的任務(wù)開一個遠程終端窗口,因為它們執(zhí)行的時間太長了。必須等待它們執(zhí)行完畢,在此期間不能關(guān)掉窗口或者斷開連接,否則這個任務(wù)就會被殺掉,一切半途而廢了。
GNU Screen是一款由GNU計劃開發(fā)的用于命令行終端切換的自由軟件。用戶可以通過該軟件同時連接多個本地或遠程的命令行會話,并在其間自由切換。
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了統(tǒng)一的管理多個會話的界面和相應(yīng)的功能。
screen是一個可以在多個進程之間多路復用一個物理終端的窗口管理器。
1.??創(chuàng)建新的screen會話
screen [command] [-S name]
2.??Detach?會話
screen –d [screen name]
3.??Reattach?會話 ?進入到某個screen進程
screen –r screen-name
4.??查看所有的screen會話
screen –ls
進入screen會話后,可在會話中創(chuàng)建多個窗口(window),并對窗口進行管理,管理命令以ctrl + a開頭。
ctrl + a + c:創(chuàng)建新窗口(create)
ctrl + a + n:切換至下一個窗口(next)
ctrl + a + p:切換至上一個窗口(previous)
ctrl + a + w:?列出所有窗口
ctrl + a + A:?窗口重命名
ctrl + a + d:detach當前會話
ctrl + a + [1-9]:?切換到指定窗口(1-9為窗口號)
ctrl + d:退出(關(guān)閉)當前窗口
進入screen后,當按下tab鍵時,會閃屏,可通過ctrl + a & ctrl + g來停止當前screen的閃屏,如果要對所有的screen生效,在~/.screenrc中加入vbell off。
改變screen配置:
caption always "%{= kw}%-w%{= BW}%n %t%{-}%+w %-= @%H - %Y-%m-%d %c"
vim /tmp/screenrc
screen -c /tmp/screnrc -S zl