作為運維人員經常會遇到等到遠端主機的鏈結因為網路原因或者別的其他不可抗拒的原因斷掉,此時遠端為執行完成的命令也會斷掉而導致很多任務需要重新執行。在正式介紹之前,先給大家介紹下這給大家介紹乙個在這種情況下很好用的命令
screen
,具體好用在那裡,下面具體介紹,包括從其安裝到配置到使用
screen
都能做什麼事情
centos下命令安裝一般都採用兩種方式,yum和rpm包的方式。這裡分別介紹
yum install -y screen
wget
rpm -ivh screen-4.1.0-0.19.20120314git3c2946.el7.x86_64.rpm
root@pts/1 $ which screen
/usr/bin/screen
root@pts/1 $ screen -v
screen version 4.01.00devel (gnu) 2-may-06
在開始使用screen
之前,執行下面的命令
root@pts/1 $ ps -ef|grep screen
root 6297 2410 0 14:02 pts/1 00:00:00 grep --color=auto screen
然後輸入screen
回車,感覺開啟了乙個新的shell session
這個時候我們在執行上面的ps
命令和screen -list
檢視結果
root 6335
2410
014:02 pts/1
00:00:00 screen
root 6476
6337
014:02 pts/2
00:00:00 grep --color=auto screen
root@pts/2 $ screen -list
there is a screen on
: 6336.pts-1.192 (attached)
1 socket in /var/run/screen/s-root.
screen -list
是檢視開啟的screen列表
為了驗證新增screen和後面的功能,在上面的開啟的第乙個screen session中執行top
命令
從當前的screen session開啟乙個新的screen session可以使用快捷鍵ctrl+a+c
看到開啟了乙個新的 screen session,乙個沒有執行top
的新session
ctrl+a+n 切換到下乙個
ctrl+a+p 切換到上乙個
需要說明的是在切換的時候n多session組成乙個類似環狀
,ctrl+a+n切換到最後乙個之後在切換久切換到了第乙個,
同理ctrl+a+p切換到第乙個之後在切換久切換到了最後乙個screen session
注意括號中的狀態值,由attached
變成detached
[detached from 6336.pts-1.192]
root@pts/1 $ screen -list
there is a screen on:
6336.pts-1.192 (detached)
1 socket in /var/run/screen/s-root.
當系統只有乙個screen處於 detached狀態的話,直接輸入ctrl+r
回車就可以進入screen
如果有多個
there are screens on
: 9944.lc (detached)
9766.pts-1.192 (detached)
6336.pts-1.192 (detached)
3 sockets in /var/run/screen/s-root.
就需要執行ctrl+r+9766.pts-1.192
這裡其實輸入前面的數字或者後面的字串都行,比如
ctrl+r+6336
ctrl+r+pts-1.192
pts-1.192
是由系統生成的,對應使用者而言沒有明確的意義。我們可以通過screen -s lc
命令去自定義這個值,結果如上面的9944.lc
screen used by root on 192.
password:
使用的時候輸入密碼即可
當你跑完指令碼或者執行完任務的時候,一般建議停止screen
,也就是真正的退出screen
putty斷線後讓命令繼續執行之screen
一 screen命令是什麼?screen是乙個可以在多個程序之間多路復用乙個物理終端的全屏視窗管理器。screen中有會話的概念,使用者可以在乙個screen會話中建立多個screen視窗,在每乙個screen視窗中就像操作乙個真實的telnet ssh連線視窗那樣。二 如何安裝screen命令?除...
CentOs之鏈結命令
ln s 原始檔 目標檔案 1,擁有相同的i節點和儲存block塊,可以看作是同乙個檔案 2,可通過i節點識別 3,不能跨分割槽 4,不能針對目錄使用 我們把 root下的anaconda ks.cfg建立乙個硬鏈結到 tmp下 root localhost ls anaconda ks.cfg 牛...
Linux命令系列之htpasswd
htpasswd命令是apache的web伺服器內建工具,用於建立和更新儲存使用者名稱 域和使用者基本認證的密碼檔案。c 建立乙個加密檔案 n 不更新加密檔案,只將加密後的使用者名稱密碼顯示在螢幕上 m 預設採用md5演算法對密碼進行加密 d 採用crypt演算法對密碼進行加密 p 不對密碼進行進行...