¿Cuál es la diferencia entre console, tty y tty0 bajo linux?

1. Terminal de puerto serie (/ dev / ttySn) Terminal de puerto serie (Terminal de puerto serie) es un dispositivo terminal que utiliza un puerto serie de computadora para conectarse. La computadora trata cada puerto serie como un dispositivo de caracteres. Durante un tiempo, estos dispositivos de puerto serie a menudo se denominaban dispositivos terminales, porque en ese momento su mayor uso era para conectarse a terminales. Los nombres de dispositivo correspondientes a estos puertos serie son / dev / tts / 0 (o / dev / ttyS0), / dev / tts / 1 (o / dev / ttyS1), etc. Los números de dispositivo son (4,0), ( 4, 1), etc., corresponden respectivamente a COM1, COM2, etc. en el sistema DOS. Si desea enviar datos a un puerto, puede redirigir la salida estándar a estos nombres de archivo especiales en la línea de comando. Por ejemplo, si escribe en la línea de comandos: prueba de eco> / dev / ttyS1, se enviará la palabra "prueba" al dispositivo conectado al puerto ttyS1 (COM2).
3. Terminal de control (/ dev / tty) Si el proceso actual tiene un terminal de control (Terminal de control), entonces / dev / tty es el archivo especial de dispositivo del terminal de control del proceso actual. Puede utilizar el comando "ps -ax" para ver a qué terminal de control está conectado el proceso. Para el shell en el que inicia sesión, / dev / tty es el terminal que usa y el número de dispositivo es (5,0). Utilice el comando "tty" para comprobar a qué dispositivo terminal corresponde. / dev / tty es algo similar a una conexión con el dispositivo terminal real utilizado.   
4. Terminal de consola (/ dev / ttyn, / dev / console) En los sistemas Linux, el monitor de la computadora generalmente se denomina terminal de consola (Consola). Emula un tipo de terminal Linux (TERM = Linux), y algunos archivos especiales de dispositivo están asociados con él: tty0, tty1, tty2, etc. Cuando inicia sesión en la consola, se usa tty1. Al usar la combinación de teclas Alt + [F1 — F6], podemos cambiar a tty2, tty3, etc. tty1 – tty6, etc. se denominan terminales virtuales, Y tty0 es un alias del terminal virtual actualmente en uso, y la información generada por el sistema se enviará a este terminal (también llamado terminal de consola en este momento). Por lo tanto, no importa qué terminal virtual se esté utilizando actualmente, la información del sistema se enviará al terminal de la consola.
/ dev / console es la consola, que es un dispositivo que interactúa con el sistema operativo. El sistema envía cierta información directamente a la consola. Actualmente, los usuarios solo pueden iniciar sesión en la consola en modo de usuario único. 

tty:
Si un proceso tiene una terminal de control, / dev / tty es su terminal de control. Esto no es fijo. Diferentes programas que abren este archivo de dispositivo pueden apuntar a diferentes terminales.
    #echo "test"> / dev / tty
    test
tty0:
    tty1-tty6, etc. se denominan terminales virtuales, mientras que tty0 es un alias del terminal virtual actualmente en uso, y la información generada por el sistema se enviará al
    terminal . Por lo tanto, no importa qué terminal virtual se esté utilizando actualmente, la información del sistema se enviará al terminal de la consola.
    #echo "test"> / dev / tty0
    test
    (Nota: parece estar en modo texto)

/ dev / tty es principalmente para el proceso, y / dev / tty0 es para todo el sistema,
es decir, el mismo Es un archivo / dev / tty. Para diferentes procesos, sus direcciones específicas son diferentes.
Pero no importa a qué proceso apunte / dev / tty0, es el terminal virtual actual.

Estoy en la consola tty1, tty2, tty3, tty4, tty5 y escribo echo hello> console o echo hello> tty o echo hello> tty0. ¿Saldrán todos hello en la consola actual?

1 El terminal de control actual (/ dev / tty)
/ dev / tty se refiere al terminal actual, y la salida aquí solo se mostrará en la pantalla del terminal de trabajo actual ; puede usar el comando "ps -ax" para ver el proceso Qué terminal de control está conectado. Para el shell al que inicias sesión, / dev / tty es el terminal que usas, y el número de dispositivo es (5,0).
Usa el comando "tty" para ver a qué dispositivo terminal real corresponde to . / dev / tty Algunos son similares a una conexión con el dispositivo terminal real utilizado

2.
/ dev / pts / dev / pts es el directorio donde se encuentran los archivos del dispositivo de consola creados después del inicio de sesión remoto (telnet, ssh, etc.) . Dado que puede haber miles de usuarios iniciando sesión, / dev / pts se genera dinámicamente, a diferencia de otros archivos de dispositivo que son nodos del disco duro que se han generado cuando se construye el sistema.

3. Consola terminal-consola del sistema (/ dev / console y / dev / tty *)
En el sistema Linux , el monitor de la computadora generalmente se llama terminal de consola (Consola). Emula un tipo de terminal Linux (TERM = Linux), y hay algunos archivos de dispositivo especiales asociados con él. : tty0, tty1, tty2, etc. Cuando inicias sesión en la consola, usas tty1. Cuando usas la combinación de teclas Alt + [ F1 —F6], podemos cambiar a tty2, tty3, etc. tty1 – tty6 Se llama un terminal virtual , y tty0 es un alias del terminal virtual actualmente en uso, y la información generada por el sistema se enviará al terminal. Por lo tanto, no importa qué terminal virtual se esté utilizando actualmente, La información del sistema se enviará al terminal de la consola.
Puede iniciar sesión en diferentes terminales virtuales, de modo que el sistema pueda tener varias sesiones diferentes al mismo tiempo. Solo el sistema o el superusuario root pueden escribir en / dev / tty0.

/dev # echo hello > console
hello
/dev # echo hello > tty
hello
/dev # echo hello > tty0
/dev # 
/dev # 

 

Supongo que te gusta

Origin blog.csdn.net/xiaolei251990/article/details/89743666
Recomendado
Clasificación