


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