真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

包含linux命令tty的詞條

linux系統(tǒng)的tty,pts等終端概念

ttyS0~ ttyS3 (串行端口終端)指的是電腦的各個物理接口(這些都是串口,不是并口),外部的終端通過這些物理接口與電腦連接 ,從而實現(xiàn)和電腦進行交互。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、陸良網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5響應式網(wǎng)站、商城網(wǎng)站制作、集團公司官網(wǎng)建設、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為陸良等各大城市提供網(wǎng)站開發(fā)制作服務。

?例如:dmesg |grep tty可以查看開啟的接口(串口)

? ? ?目前連接遠程服務器或者直接在服務器上面操作等都是通過創(chuàng)建虛擬終端的形式。比如pts/1 和tty1虛擬終端,其中tty表示直接登錄機器生成的而pts表示遠程連接生成的。其中遠程連接是通過sshd服務進行創(chuàng)建session會話和bash進程(所以可以看到有sshd進程,同時虛擬終端可以創(chuàng)建多個,這是依賴ptmx功能,sshd通過與ptmx通訊,ptmx在和相對應的pts通訊從而達到多個虛擬終端的效果)。

? ? 例如:在centos系統(tǒng)中的圖像界面中打開的terminal就是一個pts但是整個圖形界面是一個tty,centos切換到命令行界面后 輸入tty命令時輸出就是tty1或ttyn了,這時候的命令行界面與圖形界面的運行級別是一樣的,通過命令行創(chuàng)建的所有進程都是屬于tty1終端的。

? ? 注意: tty就是ttyS的虛擬版本,只是不需要通過外部線路進行連接了。遠程連接服務器需要sshd服務,sshd和tty沒有聯(lián)系,遠程連接是因為本地有終端模擬器,本機連接就需要內(nèi)核直接模擬一個模擬器了,所有遠程是pts,本機是tty 。

?從上面的流程中可以看出來對用戶空間的程序來說它們沒有區(qū)別,都是一樣的;從內(nèi)核角度來看pts的另一端連接的是ptmx,而tty的另一端連接的是內(nèi)核的終端模擬器,ptmx和終端模擬器都只是負責維護會話和轉(zhuǎn)發(fā)數(shù)據(jù)包;再看看ptmx和內(nèi)核終端模擬器的另一端,ptmx的另一端連接的是用戶空間的應用程序,如sshd、tmux等,而內(nèi)核終端模擬器的另一端連接的是具體的硬件,如鍵盤和顯示器。

SSH遠程訪問---重點

這里的Terminal可能是任何地方的程序,比如windows上的putty,所以不討論客戶端的Terminal程序是怎么和鍵盤、顯示器交互的。由于Terminal要和ssh服務器打交道,所以肯定要實現(xiàn)ssh的客戶端功能。這里將建立連接和收發(fā)數(shù)據(jù)分兩條線路解釋,為了描述簡潔,這里以sshd代替ssh服務器程序:

建立連接:

1.Terminal請求和sshd建立連接。

2.如果驗證通過,sshd將創(chuàng)建一個新的session。

3.調(diào)用API(posix_openpt())請求ptmx創(chuàng)建一個pts,創(chuàng)建成功后,sshd將得到和ptmx關聯(lián)的fd,并將該fd和session關聯(lián)起來。

4.同時sshd創(chuàng)建shell進程,將新創(chuàng)建的pts和shell綁定。

收發(fā)消息:

1.Terminal收到鍵盤的輸入,Terminal通過ssh協(xié)議將數(shù)據(jù)發(fā)往sshd。

2.sshd收到客戶端的數(shù)據(jù)后,根據(jù)它自己管理的session,找到該客戶端對應的關聯(lián)到ptmx上的fd。

3.往找到的fd上寫入客戶端發(fā)過來的數(shù)據(jù)。

4.ptmx收到數(shù)據(jù)后,根據(jù)fd找到對應的pts(該對應關系由ptmx自動維護),將數(shù)據(jù)包轉(zhuǎn)發(fā)給對應的pts。

5.pts收到數(shù)據(jù)包后,檢查綁定到自己上面的當前前端進程組,將數(shù)據(jù)包發(fā)給該進程組的leader。

6.由于pts上只有shell,所以shell的read函數(shù)就收到了該數(shù)據(jù)包。

7.shell對收到的數(shù)據(jù)包進行處理,然后輸出處理結果(也可能沒有輸出)。

8.shell通過write函數(shù)將結果寫入pts。

9.pts將結果轉(zhuǎn)發(fā)給ptmx。

10.ptmx根據(jù)pts找到對應的fd,往該fd寫入結果。

11.sshd收到該fd的結果后,找到對應的session,然后將結果發(fā)給對應的客戶端。

SSH + Screen/Tmux

? 常用Linux的同學應該對screen和tmux不陌生,通過它們啟動的進程,就算網(wǎng)絡斷開了,也不會受到影響繼續(xù)執(zhí)行,下次連上去時還能看到進程的所有輸出,還能繼續(xù)接著干活。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?這種情況要稍微復雜一點,不過原理都是一樣的,前半部分和普通ssh的方式是一樣的,只是pts/0關聯(lián)的前端進程不是shell了,而是變成了tmux客戶端,所以ssh客戶端發(fā)過來的數(shù)據(jù)包都會被tmux客戶端收到,然后由tmux客戶端轉(zhuǎn)發(fā)給tmux服務器,而tmux服務器干的活和ssh的類似,也是維護一堆的session,為每個session創(chuàng)建一個pts,然后將tmux客戶端發(fā)過來的數(shù)據(jù)轉(zhuǎn)發(fā)給相應的pts。由于tmux服務器只和tmux客戶端打交道,和sshd沒有關系,當終端和sshd的連接斷開時,雖然pts/0會被關閉,和它相關的shell和tmux客戶端也將被kill掉,但不會影響tmux服務器,當下次再用tmux客戶端連上tmux服務器時,看到的還是上次的內(nèi)容。

linux里的tty1,tty2是什么

linux里的tty1,,tty2表示虛擬終端。

在Linux 系統(tǒng)中,計算機顯示器通常被稱為控制臺終端(Console)。它仿真了類型為Linux的一種終端(TERM=Linux),并且有一些設備特殊文件與之相關聯(lián):tty0、tty1、tty2 等。當你在控制臺上登錄時,使用的是tty1。

使用Alt+[F1—F6]組合鍵時,我們就可以切換到tty2、tty3等上面去。tty1_tty6等稱為虛擬終端,而tty0則是當前所使用虛擬終端的一個別名,系統(tǒng)所產(chǎn)生的信息會發(fā)送到該終端上(這時也叫控制臺終端)。

擴展資料:

查看當前虛擬終端的方式

1、tty只查看當前終端

2、w命令w的功能最全面,能顯示用戶登錄名、終端標志、星期幾登錄和具體登錄時間、閑置時間、用戶正在執(zhí)行的程序、占用CPU時間、系統(tǒng)的運行時間和平均負載

3、命令who的功能較簡單,僅顯示用戶登錄名、終端標志、和登錄日期和時間

參考資料來源:百度百科-TTY

linuxtty未退出

linuxtty未退出的解決方法如下:

退出Vi

當編輯完文件,準備退出Vi返回到shell時,可以使用以下幾種方法之一。

在命令模式中,連按兩次大寫字母Z,若當前編輯的文件曾被修改過,則Vi保存該文件后退出,返回到shell;若當前編輯的文件沒被修改過,則Vi直接退出, 返回到shell。

在末行模式下,輸入命令

:w

Vi保存當前編輯文件,但并不退出,而是繼續(xù)等待用戶輸入命令。在使用w命令時,可以再給編輯文件起一個新的文件名。

:w! newfile

否則可選擇另外的文件名來保存當前文件。

在末行模式下,輸入命令

:q

系統(tǒng)退出Vi返回到shell。若在用此命令退出Vi時,編輯文件沒有被保存,則Vi在顯示窗口的最末行顯示如下信息:

No write since last change (use ! to overrides)

提示用戶該文件被修改后沒有保存,然后Vi并不退出,繼續(xù)等待用戶命令。若用戶就是不想保存被修改后的文件而要強行退出Vi時,可使用命令

:q!

Vi放棄所作修改而直接退到shell下。

在末行模式下,輸入命令

:wq

Vi將先保存文件,然后退出Vi返回到shell。

在末行模式下,輸入命令

:x

該命令的功能同命令模式下的ZZ命令功能相同。


分享名稱:包含linux命令tty的詞條
本文來源:http://weahome.cn/article/doshgih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部