首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux tty跟pts

Linux TTY与PTS基础概念

TTY(Teletypewriter)

  • TTY最初指的是电传打字机,用于远程通信。
  • 在Linux系统中,TTY是终端设备的统称,通常与物理控制台相关联。
  • 每个TTY设备对应一个独立的会话,可以通过/dev/ttyN访问,其中N是数字。

PTS(Pseudo-Terminal Slave)

  • PTS是一种虚拟终端,用于模拟物理终端的行为。
  • 它通常与SSH、图形界面登录(如X11)或其他远程登录程序一起使用。
  • PTS通过主从设备对工作,主设备是/dev/ptmx,从设备是/dev/pts/N

优势与应用场景

TTY的优势

  • 直接与硬件交互,适合底层系统管理和调试。
  • 稳定性高,不易受软件故障影响。

PTS的优势

  • 支持多路复用,允许多个会话共享一个物理连接。
  • 提供更好的用户体验,特别是在图形界面和远程登录中。
  • 更易于实现终端仿真和脚本自动化。

应用场景

  • TTY:系统启动时的内核消息显示、紧急修复操作、低级命令行工具使用。
  • PTS:日常用户登录、远程桌面服务、SSH会话、图形应用程序运行。

类型与常见问题

类型

  • 物理TTY:直接连接到计算机的串口或控制台。
  • 虚拟TTY:通过软件模拟的终端,如SSH会话。
  • 伪终端(PTS):为每个用户会话创建一对设备文件。

常见问题及解决方法

  1. 无法打开终端
    • 原因可能是权限问题或设备文件损坏。
    • 解决方法:检查用户权限,使用chmodchown修复设备文件权限。
  • 终端会话断开
    • 常见于长时间无操作的远程连接。
    • 解决方法:配置SSH保持连接,或在客户端设置心跳包。
  • 字符显示乱码
    • 可能是字符编码设置不正确。
    • 解决方法:调整终端的字符编码设置,确保与系统一致。

示例代码

以下是一个简单的bash脚本,用于检测当前活动的TTY或PTS:

代码语言:txt
复制
#!/bin/bash

# 获取当前终端设备
CURRENT_TTY=$(tty)

echo "当前终端设备: $CURRENT_TTY"

# 判断是TTY还是PTS
if [[ $CURRENT_TTY =~ ^/dev/tty ]]; then
    echo "这是一个物理TTY设备"
elif [[ $CURRENT_TTY =~ ^/dev/pts ]]; then
    echo "这是一个伪终端(PTS)设备"
else
    echo "未知终端类型"
fi

通过这个脚本,你可以快速识别当前使用的终端类型,并根据需要进行相应的配置或故障排除。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux 终端tty pty pts描述

在使用Linux的过程中,当我们通过ssh或者telnet等方式连接到服务器之后,会有一个相应的终端来对应。而在直接登陆到Linux服务器的时候也有一个对应的终端。...如果配置了Linux系统运行等级为3的时候,Linux启动后就直接为文本模式,在这种情况下,当我们登陆到Linux服务器,即表明开启了一个终端模式会话。...总结如下:    linux的终端机(文字)界面与图形界面间的切换热键为:    进入终端机也就是字符界面(tty1-tty6):[Ctrl] + [Alt] + [F1] - [F6]   ...三、演示tty与pty ###演示环境 [root@desktop ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release.../pts/0 [root@desktop ~]# ps -ef|grep tty root 1796 1719 0 15:23 tty1 00:00:00 -bash root

7K30

Linux中的tty与pts

它的对应端则会被自动地创建成/dev/pts/3。这样就可以在需要时提供一个pty伪终端。目录 /dev/pts是一个类型为devpts的文件系统,并且可以在被加载文件系统列表中看到。...虽然“文件”/dev/pts/3看上去是设备文件系统中的一项,但其实它完全是一种不同的文件系统。...在RHEL4环境下:输出为 /dev/ptmx /dev/pts/1 存在一(master)对多(slave)的情况   3.控制终端(/dev/tty)   如果当前进程有控制终端(Controlling...它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2等。当你在控制台上登录时,使用的是tty1。...tty0 # 文章出处:http://www.diybl.com/course/6_system/linux/Linuxjs/2008611/124820.html

5.7K20
  • linux tty_linux tty

    文章目录 Linux中的tty与pts **终端特殊设备文件一般有以下几种:** **1、串行端口终端(/dev/ttySn)** **2、伪终端(/dev/pty/)** 3、控制终端(/dev/tty...) 4、控制台终端(/dev/ttyn, /dev/console) 5、其它类型 **FAQ: 终端和控制台** Linux中的tty与pts tty是真的,pts是假的,相互对应 ---- 终端是一种字符型设备...它的对应端则会被自动地创建成/dev/pts/3。这样就可以在需要时提供一个pty伪终端。目录 /dev/pts是一个类型为devpts的文件系统,并且可以在被加载文件系统列表中看到。...它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2等。 当你在控制台上登录时,使用的是tty1。...tty0 5、其它类型 Linux系统中还针对很多不同的字符设备存在有很多其它种类的终端设备特殊文件。

    4.8K21

    linux下tty详解

    它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2等。这些文件赋予了linux同时处理多任务,多窗口切换的能力。...我们通常在linux下看到的控制台一般是/dev/ttyN,用户可以使用alt+Fn切换控制台,看起来感觉存在多个屏幕。...这种虚拟控制台对应tty1~n,(ssh就是这样,当你通过ssh登录一台服务器以后,就会在/dev/pts/下生成一个控制台设备文件,对应ttyN,通常情况下,1<=n<=63)其中 : tty0就是/...查看我当前tty: ~ » tty /dev/pts/4 现在我们在打开一个终端: ~ » tty /dev/pts/5 你会发现/dev/pts/下多了一个文件,这就是我们当前终端的控制台 你可以使用...你还可以使用ps -ef | grep pts/4查看tty4终端运行的进程,以及pid,找到了pid,你就可以用kill,结束tty4终端上的服务。 或者使用w命令查看登录用户正在使用的进程信息。

    16.3K10

    linux中tty由来

    从UNIX到Linux,你一定听说过TTY这个词。作为桌面用户,你应该会用到它,并且你经常使用它。在教程中,让我提及让你熟悉Linux中的术语TTY所必需的一切。...例如,GNOME 终端或Konsole是你可以找到的适用于Linux的最好的终端模拟器。 Linux中的TTY 说到 Linux,TTY是UNIX 和Linux 中的一个抽象设备。...如果你好奇,你可以探索一个旧资源 ( TTY Demystified ),它试图清除Linux和Unix系统中的所有技术细节让你了解TTY。...如何在Linux中访问TTY 在Linux中访问TTY很容易。事实上,你经常访问它。...换句话说,要知道你连接的TTY号码,只需输入TTY。并且,如果有多个用户远程连接到Linux机器,你可以使用who命令来检查其他TTY连接到哪些用户。

    3.6K20

    linux查看当前用户信息及其用户切换

    linux查看当前用户信息及其用户切换 一、查看用户信息 作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动。有些时候,你甚至需要知道他(她)们正在做什么。...[root@localhost /]# who root tty1 2017-11-12 07:55 (:0) root pts/0 2017-11-12...该命令的输出结果包含以下几列信息: 用户名称 tty设备号 历史登录时间日期 登出时间日期 总工作时间 [root@localhost /]# last root root pts/1...(01:45) root tty1 :0 Sun Nov 12 07:55 still logged in root pts...Thu Nov 9 02:47:58 2017 二、 用户切换 su((switch user的缩写) 格式为:su [ – ] username,后面可以跟 – ,也可以不跟, 区别如下: su

    10.8K20

    linux下用户操作记录审计环境的部署记录

    w命令输出的信息包括: -> 用户名称 -> 用户的机器名称或tty号 -> 远程主机地址 -> 用户登录系统的时间 -> 空闲时间(作用不大) -> 附加到tty(终端)的进程所用的时间(JCPU时间...所示登录进程终端号 -> 使用"pkill –9 -t TTY终端号" 结束该进程所对应用户登录(可根据FROM的IP地址或主机号来判断) [root@test ~]# pkill -9 pts/4 [...2)查看所有登录用户的操作历史 在Linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录。...linux终端显示不太习惯。...注意下面在"#"符号后面空出一格,这样终端的"#"符号跟命令之间就有了一格的距离,习惯而已! PS1="[\u@\h \W]# " 2)只显示当前简介路径,不显示全路径,显示$号。

    2K60
    领券