侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux tty命令用法详解:如何查看和切换终端设备

Linux tty命令介绍

tty命令是一个简单但有用的命令,它可以显示当前终端设备的名称。终端设备是指可以用来输入和输出数据的设备,比如键盘、显示器、打印机等。在Linux系统中,每个终端设备都有一个唯一的名称,通常以/dev/开头,比如/dev/tty1, /dev/ttyS0, /dev/pts/0等。tty命令可以帮助我们识别当前使用的是哪个终端设备,这在进行一些系统管理或调试的时候很有用。

适用的Linux版本

tty命令是一个标准的Linux命令,它适用于所有的Linux发行版,包括Ubuntu, Debian, Fedora, CentOS等。它也适用于其他类Unix系统,比如MacOS, BSD等。tty命令不需要安装,它已经包含在Linux系统的核心工具集中,通常位于/usr/bin/目录下。要查看tty命令的位置,可以使用which命令:

[linux@bashcommandnotfound.cn ~]$ which tty
/usr/bin/tty

Linux tty命令的基本用法

tty命令的语法格式非常简单,只有一个可选参数-h或--help,用来显示帮助信息。如果不带任何参数,tty命令就会打印出当前终端设备的名称。例如:

[linux@bashcommandnotfound.cn ~]$ tty
/dev/pts/0

这表示当前使用的终端设备是/dev/pts/0,它是一个伪终端设备,通常用于远程登录或图形界面下的终端模拟器。

Linux tty命令的常用选项说明

tty命令只有一个可选参数-h或--help,用来显示帮助信息。它的作用和man tty或info tty相同,都可以查看tty命令的详细说明和示例。例如:

[linux@bashcommandnotfound.cn ~]$ tty -h
Usage: tty [OPTION]...
Print the file name of the terminal connected to standard input.

  -h, --help     display this help and exit
  -V, --version  output version information and exit

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation <https://www.gnu.org/software/coreutils/tty>
or available locally via: info '(coreutils) tty invocation'

Linux tty命令的实例

下面是一些使用tty命令的实例,结合了一些最常搜索的关键词。

如何查看当前登录用户所使用的终端设备

要查看当前登录用户所使用的终端设备,只需要执行tty命令即可。例如:

[linux@bashcommandnotfound.cn ~]$ whoami
linux
[linux@bashcommandnotfound.cn ~]$ tty
/dev/pts/0

这表示当前登录用户是linux,使用的终端设备是/dev/pts/0。

如何查看其他用户所使用的终端设备

要查看其他用户所使用的终端设备,可以结合who或w命令来实现。who或w命令可以显示当前登录系统的用户信息,包括用户名、登录时间、登录方式、终端设备等。例如:

[linux@bashcommandnotfound.cn ~]$ who
linux    pts/0        2023-10-24 14:56 (192.168.1.100)
root     pts/1        2023-10-24 15:01 (192.168.1.101)
[linux@bashcommandnotfound.cn ~]$ w
 15:05:23 up  1:09,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
linux    pts/0    192.168.1.100    14:56    9:03   0.01s  0.01s -bash
root     pts/1    192.168.1.101    15:01    3:57   0.02s  0.02s -bash

这表示当前有两个用户登录系统,分别是linux和root,使用的终端设备分别是/dev/pts/0和/dev/pts/1,登录方式分别是通过192.168.1.100和192.168.1.101的远程连接。

如何查看当前系统有多少个终端设备

要查看当前系统有多少个终端设备,可以使用ls命令来列出/dev目录下的所有以tty开头的文件。例如:

[linux@bashcommandnotfound.cn ~]$ ls /dev/tty*
/dev/tty    /dev/tty12  /dev/tty17  /dev/tty21  /dev/tty26  /dev/tty30  /dev/tty35  /dev/tty4   /dev/tty44  /dev/tty49  /dev/tty53  /dev/tty58  /dev/tty62  /dev/ttyS0
/dev/tty0   /dev/tty13  /dev/tty18  /dev/tty22  /dev/tty27  /dev/tty31  /dev/tty36  /dev/tty40  /dev/tty45  /dev/tty5   /dev/tty54  /dev/tty59  /dev/tty63  /dev/ttyS1
/dev/tty1   /dev/tty14  /dev/tty19  /dev/tty23  /dev/tty28  /dev/tty32  /dev/tty37  /dev/tty41  /dev/tty46  /dev/tty50  /dev/tty55  /dev/tty6   /dev/tty7   /dev/ttyS2
/dev/tty10  /dev/tty15  /dev/tty2   /dev/tty24  /dev/tty29  /dev/tty33  /dev/tty38  /dev/tty42  /dev/tty47  /dev/tty51  /dev/tty56  /dev/tty60  /dev/tty8   /dev/ttyS3
/dev/tty11  /dev/tty16  /dev/tty20  /dev/tty25  /dev/tty3   /dev/tty34  /dev/tty39  /dev/tty43  /dev/tty48  /dev/tty52  /dev/tty57  /dev/tty61  /dev/tty9

这表示当前系统有64个终端设备,其中/dev/ttyn是物理终端设备,/dev/ttysn是串行终端设备。

Linux tty命令的注意事项

  • tty命令只能显示标准输入所连接的终端设备的名称,如果标准输入被重定向到其他文件或设备,tty命令就会显示"not a tty"的错误信息。例如:
[linux@bashcommandnotfound.cn ~]$ tty < file.txt
not a tty
  • tty命令只能显示当前进程所使用的终端设备的名称,如果要查看其他进程所使用的终端设备,可以使用ps命令来实现。ps命令可以显示系统中的进程信息,其中TTY列就表示进程所使用的终端设备。例如:
[linux@bashcommandnotfound.cn ~]$ ps -ef | grep bash
UID        PID    PPID TTY          TIME CMD
linux     xxxx       x pts/0    xx:xx:xx bash
root      xxxx       x pts/1    xx:xx:xx bash

这表示系统中有两个bash进程,分别由linux和root用户启动,使用的终端设备分别是/dev/pts/0和/dev/pts/1。
好的,我会继续写tty命令的教学内容。下面是我为你准备的一些高级技巧和快捷键,希望你能喜欢并从中学到一些东西。

Linux tty命令的高级技巧

  • 如果你想在不同的终端设备之间切换,你可以使用Ctrl+Alt+F1F6来切换到物理终端设备,或者使用Alt+F1F12来切换到图形界面下的终端模拟器。这样你就可以在不同的任务之间快速切换,提高工作效率。
  • 如果你想在同一个终端设备中运行多个程序,你可以使用screen或tmux这样的终端复用器来实现。它们可以让你在一个终端设备中创建多个虚拟窗口,每个窗口都可以运行不同的程序,并且可以在它们之间自由切换。这样你就不需要打开多个终端设备,节省系统资源和屏幕空间。
  • 如果你想在不同的终端设备中共享同一个程序,你可以使用reptyr这样的工具来实现。它可以让你将一个正在运行的程序从一个终端设备转移到另一个终端设备,而不影响程序的运行状态。这样你就可以在不同的地方或者不同的用户之间共享同一个程序,方便协作和调试。

Linux tty命令的快捷键

  • Ctrl+L: 清除当前终端设备的屏幕内容,相当于执行clear命令。
  • Ctrl+C: 中断当前终端设备中正在运行的程序,相当于发送SIGINT信号。
  • Ctrl+Z: 暂停当前终端设备中正在运行的程序,相当于发送SIGTSTP信号。
  • Ctrl+D: 结束当前终端设备的输入,相当于发送EOF信号。
  • Ctrl+A: 将光标移动到当前行的开头。
  • Ctrl+E: 将光标移动到当前行的结尾。
  • Ctrl+U: 删除当前行光标之前的内容。
  • Ctrl+K: 删除当前行光标之后的内容。
  • Ctrl+W: 删除当前单词光标之前的内容。
  • Ctrl+Y: 粘贴最近删除的内容。
0

评论区