日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux命令:深入理解tty操作(linux命令tty)

在Linux操作系統(tǒng)中,tty是操作終端的一種叫法。通過tty,用戶可以登錄系統(tǒng)并執(zhí)行命令。在Linux中,tty不僅僅是一個簡單的終端,而是一個非常強大的工具,它可以幫助用戶完成各種各樣的操作。

我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、荷塘ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的荷塘網(wǎng)站制作公司

在本文中,我們將深入理解tty操作,探討它的作用,以及如何使用它來實現(xiàn)一些高級操作。

什么是tty?

tty是Linux中的一個重要概念,它代表著一種特殊的設(shè)備文件,這個文件可以讓用戶通過終端進行交互式操作。簡單來說,tty就是Linux中的終端。

在Linux系統(tǒng)中,tty設(shè)備文件可以在/dev目錄下找到,例如在CentOS系統(tǒng)中,tty1-tty6文件分別表示6個虛擬控制臺。而在Ubuntu系統(tǒng)中,tty1-tty7文件則表示7個虛擬控制臺。

用戶可以通過在終端中輸入命令“who”或“w”來查看當(dāng)前登錄的tty終端。這個命令會返回當(dāng)前登錄的用戶以及他們所使用的終端。例如:

[user1@localhost ~]$ who

user1 tty1 Nov 2 15:21

user2 pts/0 Nov 2 15:31

從上面的輸出中可以看到,user1當(dāng)前正在tty1終端上操作,而user2則在pts/0終端中進行操作。

什么是終端?

在Linux中,終端只是一種用戶與計算機交互的方式。在早期的計算機系統(tǒng)中,終端通常是一種物理設(shè)備,它與計算機主機通過串口或并口相連。隨著計算機技術(shù)的發(fā)展,現(xiàn)在的終端通常是基于軟件的,即通過網(wǎng)絡(luò)連接遠程服務(wù)器的方式來使用。

在Linux系統(tǒng)中,終端通常有3種類型:

1.物理終端:在Linux系統(tǒng)中,物理終端是指連接到計算機主機上的終端設(shè)備,例如串口、并口、終端機等。

2.虛擬終端:虛擬終端是一種特殊的終端,它并不需要物理設(shè)備。虛擬終端可以通過快捷鍵Alt + F1、Alt + F2、Alt + F3等來切換。

3.偽終端:偽終端是一種模擬終端的設(shè)備,它是基于網(wǎng)絡(luò)連接的。在Linux系統(tǒng)中,用戶可以通過SSH連接到遠程服務(wù)器上,使用偽終端進行操作。

如何使用tty?

在Linux系統(tǒng)中,tty有很多用途。以下是一些常用的tty命令:

1. 使用Ctrl+Alt+F1~F6 來直接進入到 tty1~tty6

通過使用Ctrl+Alt+F1~F6快捷鍵,用戶可以切換到不同的虛擬終端,這些虛擬終端對應(yīng)著tty1~tty6設(shè)備文件。默認情況下,Linux系統(tǒng)啟動后會自動進入到tty1終端。

2. 使用“tty”命令查看當(dāng)前所在的tty

在終端中輸入“tty”命令,可以查看自己當(dāng)前所在的tty設(shè)備。

3. 使用“stty”命令設(shè)置tty參數(shù)

在終端中使用“stty”命令可以設(shè)置tty的一些參數(shù),例如修改 tty 顯示的行數(shù)、列數(shù)、回顯等等。

4. 使用“nohup”命令在后臺運行程序

有些程序需要長時間運行,在終端中運行可能會耗費很多時間。因此,使用“nohup”命令可以讓程序在后臺運行,不受終端關(guān)閉的影響。

5. 使用“screen”命令在后臺運行多個會話

“screen”命令可以在后臺運行多個會話,避免因終端斷線而導(dǎo)致任務(wù)中止的情況。例如,用戶可以在screen環(huán)境下運行一個耗時很長的任務(wù),在這個任務(wù)運行的同時,用戶可以繼續(xù)使用其他命令。

6. 使用“script”命令錄制tty會話

“script”命令可以記錄用戶在終端中的所有操作,以便后續(xù)進行回放。比如,用戶可以錄制一個復(fù)雜的操作流程,然后制作成教程視頻,方便其他人學(xué)習(xí)。

在Linux系統(tǒng)中,tty是一個非常強大的操作工具,可以幫助用戶完成各種各樣的任務(wù)。通過深入理解tty操作,我們可以更好地掌握Linux系統(tǒng)的使用技巧,提高我們的工作效率。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!

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

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

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

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

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

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

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

SSH遠程訪問—重點

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

建立連接:

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

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

3.調(diào)用API(posix_openpt())請求ptmx創(chuàng)建一個pts,創(chuàng)建成功后,sshd將得到和ptmx關(guān)聯(lián)的fd,并將該fd和session關(guān)聯(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,找到該客戶端對應(yīng)的關(guān)聯(lián)到ptmx上的fd。

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

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

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

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

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

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

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

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

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

SSH + Screen/Tmux

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

在linux下看到tty與pts,這兩個有什么不同?麻煩通俗一點的說

終端解釋

終端是一種字符型設(shè)備,它有多種類型,通常使用tty來簡稱各種類型的終端設(shè)備。tty是Teletype的縮寫。Teletype是最早出現(xiàn)的一種終端設(shè)備,很象電傳打字機(或者說就是),是由Teletype公司生產(chǎn)的。在Linux系統(tǒng)的腔擾渣設(shè)備特殊文件目錄/dev/下,終端特殊設(shè)備文件一般有以下幾種:

1.串行端口終端(/dev/ttySn)

串行端口終端(Serial Port Terminal)是使用計算機串行端口連接的終端設(shè)備。計算機把每個串行端口都看作是一個字符設(shè)備。有段時間這些串行端口設(shè)備通常被稱為終端設(shè)備,因為那時它的更大用途就是用來連接終端。這些串伍悄行端口所對應(yīng)的設(shè)備名稱是/dev/tts/0(或/dev/ttyS0)、/dev/tts/1(或 /dev/ttyS1)等,設(shè)備號分別是(4,0)、(4,1)等,分別對應(yīng)于DOS系統(tǒng)下的COM1、COM2等。若要向一個端口發(fā)送數(shù)據(jù),可以在命令行上把標(biāo)準(zhǔn)輸出重定向到這些特殊文件名上即可。例如,在命令行提示符下鍵入:echo test > /dev/ttyS1會把單詞”test”發(fā)送到連接在ttyS1(COM2)端口的設(shè)備上。

2.偽終端(/dev/pty/)

偽終端(Pseudo Terminal)是成李并對的邏輯終端設(shè)備,例如/dev/ptyp3和/dev/ttyp3(或著在設(shè)備文件系統(tǒng)中分別是/dev/pty/m3和 /dev/pty/s3)。它們與實際物理設(shè)備并不直接相關(guān)。如果一個程序把ttyp3看作是一個串行端口設(shè)備,則它對該端口的讀/寫操作會反映在該邏輯終端設(shè)備對的另一個上面(ttyp3)。而ttyp3則是另一個程序用于讀寫操作的邏輯設(shè)備。這樣,兩個程序就可以通過這種邏輯設(shè)備進行互相交流,而其中一個使用ttyp3的程序則認為自己正在與一個串行端口進行通信。這很象是邏輯設(shè)備對之間的管道操作。對于ttyp3(s3),任何設(shè)計成使用一個串行端口設(shè)備的程序都可以使用該邏輯設(shè)備。但對于使用ptyp3的程序,則需要專門設(shè)計來使用ptyp3 (m3)邏輯設(shè)備。例如,如果某人在網(wǎng)上使用telnet程序連接到你的計算機上,則telnet程序就可能會開始連接到設(shè)備ptyp2(m2)上(一個偽終端端口上)。此時一個getty程序就應(yīng)該運行在對應(yīng)的ttyp2(s2)端口上。當(dāng)telnet從遠端獲取了一個字符時,該字符就會通過m2、s2 傳遞給getty程序,而getty程序就會通過s2、m2和telnet程序往網(wǎng)絡(luò)上返回”login:”字符串信息。這樣,登錄程序與telnet程序就通過“偽終端” 進行通信。通過使用適當(dāng)?shù)能浖?,就可以把兩個甚至多個偽終端設(shè)備連接到同一個物理串行端口上。 在使用設(shè)備文件系統(tǒng)(device filesystem)之前,為了得到大量的偽終端設(shè)備特殊文件,使用了比較復(fù)雜的文件名命名方式。因為只存在16個ttyp(ttyp0—ttypf)的設(shè)備文件,為了得到更多的邏輯設(shè)備對,就使用了象q、r、s等字符來代替p。例如,ttys8和ptys8就是一個偽終端設(shè)備對。不過這種命名方式目前仍然在RedHat等Linux系統(tǒng)中使用著。 但Linux系統(tǒng)上的Unix98并不使用上述方法,而使用了”pty master”方式,例如/dev/ptm3。它的對應(yīng)端則會被自動地創(chuàng)建成/dev/pts/3。這樣就可以在需要時提供一個pty偽終端。目錄 /dev/pts是一個類型為devpts的文件系統(tǒng),并且可以在被加載文件系統(tǒng)列表中看到。雖然“文件”/dev/pts/3看上去是設(shè)備文件系統(tǒng)中的一項,但其實它完全是一種不同的文件系統(tǒng)。

3.控制終端(/dev/tty)

如果當(dāng)前進程有控制終端(Controlling Terminal)的話,那么/dev/tty就是當(dāng)前進程的控制終端的設(shè)備特殊文件。可以使用命令”ps –ax”來查看進程與哪個控制終端相連。對于你登錄的shell,/dev/tty就是你使用的終端,設(shè)備號是(5,0)。使用命令”tty”可以查看它具體對應(yīng)哪個實際終端設(shè)備。/dev/tty有些類似于到實際所使用終端設(shè)備的一個聯(lián)接。

4.控制臺終端(/dev/ttyn, /dev/console)

在Linux系統(tǒng)中,計算機顯示器通常被稱為控制臺終端(Console)。它仿真了類型為Linux的一種終端(TERM=Linux),并且有一些設(shè)備特殊文件與之相關(guān)聯(lián):tty0、tty1、tty2等。當(dāng)你在控制臺上登錄時,使用的是tty1。使用Alt+組合鍵時,我們就可以切換到tty2、tty3等上面去。tty1 –tty6等稱為虛擬終端,而tty0則是當(dāng)前所使用虛擬終端的一個別名,系統(tǒng)所產(chǎn)生的信息會發(fā)送到該終端上。因此不管當(dāng)前正在使用哪個虛擬終端,系統(tǒng)信息都會發(fā)送到控制臺終端上。你可以登錄到不同的虛擬終端上去,因而可以讓系統(tǒng)同時有幾個不同的會話期存在。只有系統(tǒng)或超級用戶root可以向/dev /tty0進行寫操作,

5 虛擬終端(/dev/pts/n)

在Xwindows模式下的偽終端.如果用telnet遠程登錄的話,一般會啟用這個。

6.其它類型

linux命令tty的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux命令tty,Linux命令:深入理解tty操作,linux系統(tǒng)的tty,pts等終端概念,在linux下看到tty與pts,這兩個有什么不同?麻煩通俗一點的說的信息別忘了在本站進行查找喔。

創(chuàng)新互聯(lián)-老牌IDC、云計算及IT信息化服務(wù)領(lǐng)域的服務(wù)供應(yīng)商,業(yè)務(wù)涵蓋IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)服務(wù)、云計算服務(wù)、IT信息化、AI算力租賃平臺(智算云),軟件開發(fā),網(wǎng)站建設(shè),咨詢熱線:028-86922220


網(wǎng)站名稱:Linux命令:深入理解tty操作(linux命令tty)
新聞來源:http://www.dlmjj.cn/article/djchhhe.html