什麼是linux上的tty?(以及如何使用tty命令)

tty命令做什麼?它打印出你正在使用的終端的名稱。TTY代表“電傳打字機”。司令部名字背後的故事是什麼?這需要更多的解釋。...

tty命令做什麼?它打印出你正在使用的終端的名稱。TTY代表“電傳打字機”。司令部名字背後的故事是什麼?這需要更多的解釋。

19世紀的電傳打字機

在19世紀30年代和19世紀40年代,被稱為電傳打字機的機器被開發出來。這些機器可以把打印出來的資訊“透過網路”傳送到遙遠的地方。這些資訊是傳送者用鍵盤鍵入的。它們被印在接收端的紙上。它們是電報業的一個進化步驟,以前電報業一直依賴莫爾斯電碼和類似的電碼。

資訊被編碼和傳輸,然後被接收、解碼和列印。有幾種技術被用來編碼和解碼資訊。最著名的,也是最多產的,是1874年由埃米爾·波多獲得專利的,波特率就是以此命名的。他的字元編碼方案比ASCII早89年。

鮑多的編碼最終成為最接近電傳打字機編碼標準的東西,並被大多數**商採用。波多特最初的硬體設計只有五個鍵,類似於鋼琴鍵。操作員被要求為每個字母學習一個特定的鍵組合。最終,波多特編碼系統與傳統的鍵盤佈局相結合。

為了紀念這一進步,這些機器被命名為電傳打字機。這被縮短為電傳打字機,並最終到TTYs。所以這就是我們的縮寫TTY的來源,但是電報和計算有什麼關係呢?

ascii和電傳

當ASCII在1963年到來時,它被電傳打字機**商採用。儘管電話的發明和廣泛使用,電傳打字機仍然很強大。

電傳是一種世界範圍的電傳打字機網路,允許在全球範圍內傳送書面資訊。在第二次世界大戰之後到20世紀80年代傳真機的繁榮時期,它們是傳輸書面資訊的主要手段。

計算機也在進化。他們正在變得能夠與使用者實時互動,並支援多個使用者。舊的批次工作方法變得不充分了。人們不想等待24小時或更長時間的結果。**成堆的穿孔卡片,整夜等待結果已經不再是可以接受的了。

人們需要一種能讓他們輸入指令並將結果傳送給他們的裝置。人們想要效率。

電傳打字機改變了用途

電傳打字機是輸入/輸出裝置的最佳選擇。畢竟,它是一種允許輸入、編碼、傳送、接收、解碼和列印訊息的裝置。

如果連線另一端的裝置不是另一個電傳打字機,電傳打字機關心什麼?只要它說的是相同的編碼語言,能夠接收資訊併發回信息,電傳打字機就很高興。

當然,它使用了或多或少的標準鍵盤。

硬體模擬電傳打字機

電傳打字機成了那個時代與大型微型計算機和大型計算機互動的預設方式。

它們最終被用電子技術模仿那些機電機器的裝置所取代。它們用陰極射線管(CRT)代替紙卷。當他們從電腦上做出迴應時,他們沒有顫抖。他們允許迄今為止不可能的功能,如在螢幕上移動游標、清除螢幕、加粗文字等等。

DEC VT05是虛擬電傳打字機的早期示例,也是著名的DEC VT100的前身。售出了數百萬臺DEC VT100。

軟體模擬電傳打字機

在Linux和其他類似Unix的作業系統(如macOS)的桌面環境中,終端視窗和應用程式(如x-term和K***ole)就是虛擬電傳打字機的例子。但這些都是完全用軟體模擬的。它們被稱為偽電傳打字機。這被縮短為臨時祕書處。

這就是tty的用武之地。

tty能告訴我們什麼?

在Linux中,有一個偽電傳打字機多路複用器,它處理來自所有終端視窗偽電傳打字機(PTS)的連線。多路複用器是主裝置,而PTS是從裝置。多路複用器由核心透過位於/dev/ptmx的裝置檔案定址。

tty命令將列印偽電傳打字機從機用於與主機介面的裝置檔案的名稱。實際上,這就是終端視窗的編號。

讓我們看看tty為我們的終端視窗報告了什麼:

tty

什麼是linux上的tty?(以及如何使用tty命令)

響應顯示我們已連線到位於/dev/pts/0的裝置檔案。

我們的終端視窗是電傳打字機(TTY)的軟體模擬,它作為偽電傳打字機(PTS)與偽電傳多路複用器介面。正好是數字0。

沉默的選擇

-s(silent)選項使tty不生成輸出。

tty -s

什麼是linux上的tty?(以及如何使用tty命令)

它確實會產生一個退出值,但是:

  • 0:如果標準輸入來自TTY裝置,模擬或物理。
  • 1:如果標準輸入不是來自TTY裝置。
  • 2:語法錯誤,使用了不正確的命令列引數。
  • 3:發生寫入錯誤。

這在Bash指令碼編寫中可能最有用。但是,即使在命令列上,我們也可以演示如何僅在終端視窗(TTY或PTS會話)中執行命令。

tty -s && echo "In a tty"

什麼是linux上的tty?(以及如何使用tty命令)

因為我們在TTY會話中執行,所以退出程式碼是0,執行第二個命令。

什麼是linux上的tty?(以及如何使用tty命令)

世衛組織指揮部

其他命令可以顯示您的TTY號碼。who命令將列出所有登入使用者的資訊,包括您自己。

亞歷克和瑪麗遠端連線到Linux計算機。它們與臨時祕書處一號和二號相連。

使用者dave顯示為已連線到“:0”。

這表示實際連線到計算機的螢幕和鍵盤。即使螢幕和鍵盤是硬體裝置,它們仍然透過裝置檔案連線到多路複用器。tty顯示它是/dev/pts/2。

who tty

什麼是linux上的tty?(以及如何使用tty命令)

相關:如何在Linux中確定當前使用者帳戶

訪問tty

您可以透過按住Ctrl+Alt鍵並按其中一個功能鍵來訪問全屏TTY會話。

Ctrl+Alt+F3會彈出tty3的登入提示。

什麼是linux上的tty?(以及如何使用tty命令)

如果您登入併發出tty命令,您將看到您已連線到/dev/tty3。

這不是一個偽電傳打字機(用軟體模擬);它是一個虛擬電傳打字機(用硬體模擬)。它是使用螢幕和鍵盤連線到您的計算機,以模擬一個虛擬電傳打字機一樣的DEC VT100過去做。

您可以將功能鍵Ctrl+Alt與功能鍵F3到F6配合使用,如果您選擇,還可以開啟四個TTY會話。例如,您可以登入到tty3並按Ctrl+Alt+F6轉到tty6。

什麼是linux上的tty?(以及如何使用tty命令)

要返回圖形桌面環境,請按Ctrl+Alt+F2。

按Ctrl+Alt+F1將返回圖形桌面會話的登入提示。

有一次,Ctrl+Alt+F1到Ctrl+Alt+F6將開啟全屏TTY控制檯,而Ctrl+Alt+F7將使您返回圖形桌面環境。如果您執行的是較舊的Linux發行版,那麼您的系統可能就是這樣執行的。

這是在Manjaro、Ubuntu和Fedora的當前版本上測試的,它們的行為都是這樣的:

  1. Ctrl+Alt+F1:返回圖形桌面環境登入螢幕。
  2. Ctrl+Alt+F2:返回圖形桌面環境。
  3. Ctrl+Alt+F3:開啟TTY 3。
  4. Ctrl+Alt+F4:開啟TTY 4。
  5. Ctrl+Alt+F5:開啟TTY 5。
  6. Ctrl+Alt+F6:開啟TTY 6。

透過訪問這些全屏控制檯,人們可以使用僅限命令列的Linux安裝,許多Linux伺服器都是這樣配置的,即可以使用多個控制檯。

曾經在一臺帶有圖形桌面環境的Linux機器上工作過,並且有什麼東西導致您的會話凍結?現在,您可以跳到TTY控制檯會話之一,以便嘗試糾正這種情況。

您可以使用top和ps嘗試識別失敗的應用程式,然後使用kill終止它,或者只使用shutdown嘗試在計算機狀態允許的情況下優雅地關閉它。

相關:如何從Linux終端終止程序

三封有很多歷史的信

tty命令的名稱來自19世紀末的一個裝置,1971年出現在Unix中,至今仍是Linux和類Unix作業系統的一部分。

這個小傢伙背後有很多故事。

 

  • 發表於 2021-04-03 08:54
  • 閱讀 ( 48 )
  • 分類:網際網路

你可能感興趣的文章

什麼是wi-fi呼叫?它是如何工作的?

... 什麼是wi-fi呼叫(wi-fi calling)? ...

  • 發佈於 2021-03-13 18:25
  • 閲讀 ( 65 )

如何在linux上安裝和使用powershell

... 什麼是windows powershell(windows powershell)? ...

  • 發佈於 2021-03-16 02:34
  • 閲讀 ( 53 )

什麼是符號連結(symlink)?如何在linux中建立一個

... 讓我們看看什麼是符號連結,如何在Linux以及macOS和Windows上建立符號連結,為什麼需要這種特殊型別的快捷方式,等等。 ...

  • 發佈於 2021-03-19 23:12
  • 閲讀 ( 51 )

如何在mac和iphone上使用實時文字(rtt)通話

... 為什麼您可能需要rtt電話 ...

  • 發佈於 2021-03-21 15:23
  • 閲讀 ( 46 )

linux中的程序是什麼?

... 什麼是過程(a process)? ...

  • 發佈於 2021-03-27 02:21
  • 閲讀 ( 61 )

如何在linux上使用tail命令

...這是否意味著tail命令是尋找問題的解決方案呢?它還有什麼可以提供的嗎? tail命令不僅僅是實時顯示更新。對於這一點,仍然有大量的日誌檔案不是系統生成的,仍然是作為純文字檔案建立的。例如,應用程式生成的日誌檔案...

  • 發佈於 2021-04-02 17:32
  • 閲讀 ( 43 )

如何在linux上使用dmesg命令

...來自“kernel”工具的訊息,級別為“info” 很好,但是為什麼? 簡言之,故障查詢。 如果您遇到硬體無法識別或無**常工作的問題,dmesg可能會對該問題有所幫助。 使用dmesg檢查從最高級別到每個較低級別的訊息,查詢提到硬體...

  • 發佈於 2021-04-02 21:09
  • 閲讀 ( 60 )

linux下如何控制sudo訪問

...壞。沒有人是絕對正確的。這是危險的東西。 這就是為什麼現在認為不以root使用者身份登入是最佳實踐的原因。使用常規使用者帳戶登入,並使用sudo在短時間內提升您的許可權。通常這只是發出一個命令。 相關:在Linux中,“...

  • 發佈於 2021-04-02 22:30
  • 閲讀 ( 42 )

如何在linux上執行和控制後臺程序

...元件,如GNOME或KDE,以及啟動時啟動的系統守護程序。 為什麼幾乎所有的東西都在執行?嗯,Bash內建的cd、pwd和alias在執行時不需要啟動(或“派生”)程序。Bash在終端視窗中執行的bashshell例項中執行這些命令。這些命令之所以...

  • 發佈於 2021-04-03 03:30
  • 閲讀 ( 51 )

如何在linux的bashshell中複製和貼上文字

...歷史悠久的函式的情況下執行復制和貼上文字。我們能用什麼? 相關:如何在Ubuntu中使用快捷鍵來提高效率 ctrl+shift+c和ctrl+shift+v 很容易記住,因為它們非常相似,Ctrl+Shift+C和Ctrl+Shift+V是Ctrl+C和Ctrl+V的直接替代品。 如果用滑鼠...

  • 發佈於 2021-04-03 03:36
  • 閲讀 ( 58 )
un338
un338

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦