¿Cómo obtener el nombre actual del terminal?

17

¿Cómo obtengo el nombre del terminal actual?

Me refiero al nombre que se psmuestra en la columna TTY, por ejemplo:

root@dor-desktop:/home/dor/Documents/LAMP_setup/webs_install/do/install# ps aux | egrep 'mysql|(^USER)'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
dor       2238  0.2  1.9 448052 79796 ?        S    17:27   0:17 gedit /home/dor/Documents/LAMP_setup/webs_install/do/install/mysql.install /home/dor/Documents/LAMP_setup/webs_install/do/install/mysql.setup
root      4975  0.1  0.5 324984 22876 ?        S    18:12   0:04 gedit /usr/local/mysql/bin/mysqld_safe
root      8160  0.0  0.0   4108   664 pts/2    S    19:08   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --skip-networking --skip-grant-tables --user=mysql --basedir=/usr/local/mysql --ledir=/usr/local/mysql/libexec
mysql     8279  0.0  0.4 146552 19032 pts/2    Sl   19:08   0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --user=mysql --skip-networking --skip-grant-tables --log-error=/usr/local/mysql/var/dor-desktop.err --pid-file=/usr/local/mysql/var/dor-desktop.pid --socket=/usr/local/mysql/mysql.sock --port=3306
root      8342  0.0  0.0   7632  1024 pts/2    R+   19:14   0:00 egrep --color=auto mysql|(^USER)

En el ejemplo anterior, necesito buscar pts/2cuál es probablemente el nombre del terminal actual que ejecutó esos comandos.

Insecto
fuente
relacionado: unix.stackexchange.com/questions/270272/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Respuestas:

26
tty

Ahora tengo que ingresar 30 caracteres donde 3 habrían sido suficientes ... :-)

Hauke ​​Laging
fuente
apropos ttytambién podría haber sido instructivo (-:
tripleee
1
@tripleee Si conoce el resultado, obtenerlo generalmente parece fácil. Pero esta fue una muy difícil. Debería votar a favor de la pregunta para patearlo por encima del límite de 125 puntos de repetición para que pueda ofrecer la recompensa merecida por mi gran esfuerzo ...
Hauke ​​Laging
2
Su respuesta me hizo preguntarme de dónde tty sale el nombre de PTY o TTY. Corrí strace -o spork ttypara descubrir que hace un enlace de lectura en un archivo / proc: readlink("/proc/self/fd/0", "/dev/pts/5"..., 4095) = 10 es genial que / proc se pueda usar para hacer cosas tan ingeniosas, pero ¿qué hicieron los Unixes anteriores, sin un sistema de archivos flexible / proc, para obtener el nombre tty?
Bruce Ediger
Simplemente podría explicar qué es ese comando, qué hace y qué más puede hacer con él y, vaya, sería una mejor respuesta.
Bobby
@Bobby Cada respuesta se puede mejorar. El interlocutor resolvió su problema después de dos minutos; No está mal en mi humilde opinión. En serio, no tengo idea de qué más puedes hacer tty. Lo que hace es exactamente de qué se trata la pregunta. Ni siquiera entiendo la diferencia entre "qué es ese comando" y "qué hace". ¿Qué "es" un comando? Pero, oye, no quiero votos a favor para nada. Si escribe una respuesta claramente mejor (que la mía pudo haber evitado), le daré una recompensa de 50 repeticiones por eso (tan pronto como sea posible, es decir, en dos días).
Hauke ​​Laging
3

Re: "Podrías simplemente explicar cuál es ese comando, qué hace y qué más puedes hacer con él y vaya, sería una mejor respuesta. - Bobby"

El nombre de Unix del terminal actual (o consola, como solíamos llamarlo a veces los antiguos) es: / dev / tty que, se puede usar para crear fácilmente un nuevo archivo de varias líneas desde el símbolo del sistema: cp / dev / tty README.md (presionar y luego colocar el cursor en una nueva línea en blanco donde puede ingresar texto, presionar regresar nuevamente, ingresar una segunda línea, etc.) Cuando termine de ingresar líneas, haga un control-d que hace que el comando cp salga y habrá creado un archivo de varias líneas con un solo comando).

usuario120016
fuente
El "nombre" tty se deriva de TeleType (el dispositivo terminal original) que también explica por qué está en el directorio / dev.
user120016