Unix/Linux 工具: Screen 命令使用
有了screen,一切都簡單了。這里把一篇介紹的文章轉貼過來,使用還是很方便的。
screen your screen
文:林思敬
電子郵件:becks.lin@ec-base.com
前言
screen 是什么
根據其man介紹,screen是個多元化多功能的全屏窗口管理器,每個虛擬終端都可以為你提供DEC VT100 terminal的功能, 也許你會問:DEC VT100 terminal又是什么?如果你登陸過某些字符界面的BBS,或許你會記得在注冊時,其要求你輸入你的終端機型別,而一般預設就是我們剛剛提到的DEC VT100 termina了.另外screen還附加提供了比如SO 6429 (ECMA 48, ANSI X3.64) and ISO 2022 standards的操作功能.
screen 可以做些什么
如果在以前或許screen 是你登陸 bbs 站的好伴侶,但是相信現在大家都是直接登陸圖形界面的也就是WEB界面的BBS.當你正在登陸多個BBS而又不想在多個窗口之間切換.那么screen就可以幫你的忙了。
當然screen可不是專為BBS服務, 它可以讓你只需要打開一個終端窗口就可以地處理很多的(進程)事情,舉個例子:你正在shell上編寫某個程序,碰巧你又需要重新啟動某個服務,同時還要 FTP上傳個大文件,這個時候就可以使用調用screen,只需要按下3個鍵就可以無須用鼠標在3個窗口間切換.又或者你使用PUTTY等工具登陸到服務器,不想在退出時關閉當前的進程,比如你正在復制文件等.這個時候就可以利用screen讓你復制文件這個前臺進程享受后臺進程的"待遇"。
正是因為screen的種種實用功能 ,已經成為不少*unix玩家的必備利器,讓*unix的日常操作管理更加方便。
screen使用
使用screen非常簡易.只需在SHELL鍵入screen,便可打開一個screen session。
而在每個screen session 下,所有命令都以 ctrl+a(C-a) 開始。
現在讓我來簡單介紹基本的命令
C-a c -> Create,開啟新的 window
C-a n -> Next,切換到下個 window
C-a p -> Previous,前一個 window
C-a C-a -> Other,在兩個 window 間切換
C-a w -> Windows,列出已開啟的 windows 有那些
C-a 0 -> 切換到第 0 個 window
C-a 1..9 -> 切換到第 1..9 個window
C-a a -> 發出 C-a,在 emacs, ve, bash, tcsh 下可移到行首
C-a t -> Time,顯示當前時間,和系統的 load
C-a K(大寫) -> kill window,強行關閉當前的 window
C-a [ -> 進入 copy mode,在 copy mode 下可以回滾、搜索、
復制就像用使用 vi 一樣
C-b Backward,PageUp
C-f Forward,PageDown
H(大寫) High,將光標移至左上角
L Low,將光標移至左下角
0 移到行首
$ 行末
w forward one word,以字為單位往前移
b backward one word,以字為單位往后移
Space 第一次按為標記區起點,第二次按為終點
Esc 結束 copy mode
C-a ] -> Paste,把剛剛在 copy mode 選定的內容貼上
C-a ? -> Help,顯示簡單說明
C-a d -> detach,將目前的 screen session (可能含有多個 windows)
丟到后臺執行 當按了 C-a d 把 screen session detach 掉后,會回到還沒進 screen 時的狀態,此時在 screen session 里每個 window 內運行的 process (無論是前臺/后臺)都在繼續執行,即使 logout 也不影響。
下次 login 進來時:
screen -ls -> 顯示所有的 screen sessions
screen -r [keyword] -> 選擇一個screen session 恢復對話
若 screen -ls 里有 Attached sessions:
screen -d [keyword] -> 強制 detach,以便「接手」過來
實例
說明看了那么多,讓我們用一個實際例子來結束我們今天的學習。
在我們開啟一個screen后,然后使用joe編輯一個文件,之后因為臨時需要離開這時就可以運行Ctrl+a d,顯示如下:
[becks@ec-base becks]$ screen
[detached]
這個時候當我們運行ps -e 可以看到pts/2這個我剛剛運行的screen正在運行joe
6264 pts/2 00:00:00 bash
6354 pts/2 00:00:00 joe
而當我們回來后想恢復這個session,只需要鍵入screen -r,而當你有多個session時候,系統將提示你選擇一個,如下:
[becks@ec-base becks]$ screen -r
There are several suitable screens on:
6263.pts-1.ec-base (Detached)
6382.pts-1.ec-base (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
輸入該session的pid進行恢復
[becks@becks becks]$ screen -r 6263
想退出screen的session,和退出shell一樣,只需要鍵入exit命令,成功退出后將有以下提示
[screen is terminating]
screen的簡單用法就介紹到這里,更多的功能和應有請讀者參考MAN自行研究.
關鍵字:Screen、命令、工具、
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解