Linux getty命令介绍
Linux getty命令是用于设置终端机模式,连线速率和管制线路的工具。getty指令是UNIX类操作系统启动时所必须的三个步骤之一,另外两个是init和login。getty的全称是get teletype writer,意思是获取终端设备。getty的作用是在终端设备上显示登录提示符,读取用户输入的登录名,并调用login命令进行身份验证和登录。getty通常由init命令根据/etc/inittab文件的配置来启动,每个终端设备对应一个getty进程。
Linux getty命令适用的Linux版本
Linux getty命令可以在多数Linux发行版(如Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora、Raspbian)的主要终端命令解释器(包括bash、zsh、csh、ksh、fish、tcsh)中使用。但有些发行版可能使用不同的getty程序,如agetty,mingetty,fgetty等,它们的语法和选项可能有所不同。在使用getty命令之前,可以通过which getty
命令来查看系统中使用的是哪个getty程序。如果系统中没有安装getty程序,可以通过包管理工具来安装,如:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install util-linux # Debian/Ubuntu
[linux@bashcommandnotfound.cn ~]$ sudo yum install util-linux # CentOS/RHEL 7
[linux@bashcommandnotfound.cn ~]$ sudo dnf install util-linux # CentOS/RHEL 8
[linux@bashcommandnotfound.cn ~]$ sudo pacman -S util-linux # Arch Linux
Linux getty命令的基本语法
getty命令的基本语法如下:
getty [options] port baud_rate,term_type,flow_control
其中,port是终端设备的名称,如/dev/tty1,baud_rate是连线速率,如9600,term_type是终端机类型,如vt100,flow_control是管制线路,如h(硬件流控制)或i(忽略载波检测)。这些参数可以用逗号分隔,也可以用空格分隔,但必须按照顺序给出。如果省略某个参数,getty会使用默认值或从/etc/gettydefs文件中读取配置信息。getty命令还有一些选项,可以用来修改getty的行为,如:
getty -c config_file # 指定定义配置文件,预设为/etc/gettydefs
getty -d config_file # 指定组态配置文件,预设为/etc/conf.getty
getty -h # 当传输速率为0时就强制断线
getty -r delay # 设置延迟时间
getty -t timeout # 设置等待登录的时间
getty -w wait_string # 设置等待回应的字符串
Linux getty命令的常用选项说明
getty命令的常用选项说明如下:
选项 | 说明 |
---|---|
-c config_file | 指定定义配置文件,预设为/etc/gettydefs |
-d config_file | 指定组态配置文件,预设为/etc/conf.getty |
-h | 当传输速率为0时就强制断线 |
-r delay | 设置延迟时间 |
-t timeout | 设置等待登录的时间 |
-w wait_string | 设置等待回应的字符串 |
-H herald_string | 指定备用预告消息以在端口写入提示的登录名 |
-M motd_file | 指定到每日文件的备用消息的路径 |
-N | 使getty绕过在/etc/utmp文件中任何进程标识的检查 |
-r | 将端口设为可共享(双向)使用 |
-u | 将端口设为可共享(双向)使用 |
-U | 除了getty不会等待锁可用之外,与-u标志相同 |
Linux getty命令的实例
Linux getty命令的实例如下:
在tty1上启动getty进程
[linux@bashcommandnotfound.cn ~]$ sudo getty /dev/tty1 9600 vt100
这个命令会在tty1上显示登录提示符,设置连线速率为9600,终端机类型为vt100。
在tty2上启动getty进程,并设置等待登录的时间为60秒
[linux@bashcommandnotfound.cn ~]$ sudo getty -t 60 /dev/tty2 9600 vt100
这个命令会在tty2上显示登录提示符,设置连线速率为9600,终端机类型为vt100,并且如果用户在60秒内没有输入登录名,就会断开连接。
在tty3上启动getty进程,并设置备用预告消息为"Welcome to Linux"
[linux@bashcommandnotfound.cn ~]$ sudo getty -H "Welcome to Linux" /dev/tty3 9600 vt100
这个命令会在tty3上显示登录提示符,设置连线速率为9600,终端机类型为vt100,并且在端口写入"Welcome to Linux"作为预告消息。
在tty4上启动getty进程,并设置每日文件的备用消息的路径为/etc/mymotd
[linux@bashcommandnotfound.cn ~]$ sudo getty -M /etc/mymotd /dev/tty4 9600 vt100
这个命令会在tty4上显示登录提示符,设置连线速率为9600,终端机类型为vt100,并且在登录后显示/etc/mymotd文件的内容作为每日消息。
在tty5上启动getty进程,并设置端口为可共享(双向)使用
[linux@bashcommandnotfound.cn ~]$ sudo getty -u /dev/tty5 9600 vt100
这个命令会在tty5上显示登录提示符,设置连线速率为9600,终端机类型为vt100,并且允许端口被多个进程使用。
Linux getty命令的注意事项
Linux getty命令的注意事项如下:
- getty命令不应该在命令行中直接输入,而应该由init命令根据/etc/inittab文件的配置来启动。如果要修改getty的参数,可以编辑/etc/inittab文件,并用telinit或init命令重新加载配置。
- getty命令需要root权限才能执行,否则会提示Permission denied错误。
- getty命令的参数和选项可能因不同的getty程序而有所不同,可以通过man命令来查看具体的用法和说明。
- 如果在执行getty命令时出现bash: getty: command not found错误,说明系统中没有安装getty程序,可以通过包管理工具来安装,如:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install util-linux # Debian/Ubuntu
[linux@bashcommandnotfound.cn ~]$ sudo yum install util-linux # CentOS/RHEL 7
[linux@bashcommandnotfound.cn ~]$ sudo dnf install util-linux # CentOS/RHEL 8
[linux@bashcommandnotfound.cn ~]$ sudo pacman -S util-linux # Arch Linux
本文链接:https://bashcommandnotfound.cn/article/linux-getty-command
评论区