Wie rufe ich den aktuellen Terminalnamen ab?
Ich meine den Namen, der ps
in der TTY-Spalte angezeigt wird, zB:
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)
Im obigen Beispiel muss ich pts/2
den Namen des aktuellen Terminals abrufen, das diese Befehle ausgeführt hat.
Antworten:
Jetzt muss ich 30 Zeichen eingeben, wobei 3 ausreichen würden ... :-)
quelle
apropos tty
könnte auch lehrreich gewesen sein (-:tty
der Name des PTY oder TTY stammt. Ich bin gelaufenstrace -o spork tty
, um herauszufinden, dass es einen Readlink für eine / proc-Datei gibt:readlink("/proc/self/fd/0", "/dev/pts/5"..., 4095) = 10
Es ist großartig, dass / proc für so raffinierte Dinge verwendet werden kann, aber was haben frühere Unixe ohne ein flexibles / proc-Dateisystem getan, um einen tty-Namen zu erhalten?tty
. Was es tut, ist genau das, worum es bei der Frage geht. Ich verstehe nicht einmal den Unterschied zwischen "was dieser Befehl ist" und "was er tut". Was ist ein Befehl? Aber, hey, ich will nicht umsonst Gegenstimmen. Wenn Sie eine deutlich bessere Antwort schreiben (die meine möglicherweise verhindert hat), gebe ich Ihnen dafür eine Prämie von 50 Wiederholungen (sobald es möglich ist, dh in zwei Tagen).Betreff: "Sie könnten einfach erklären, was dieser Befehl ist, was er tut und was Sie sonst noch damit machen können, und es wäre eine bessere Antwort. - Bobby"
Der Unix-Name des aktuellen Terminals (oder der Konsole, wie wir es von alten Leuten manchmal auch nennen) lautet: / dev / tty, mit dem auf einfache Weise eine neue mehrzeilige Datei über die Eingabeaufforderung erstellt werden kann: cp / dev / tty README.md (Durch Drücken von wird der Cursor auf eine neue leere Zeile gesetzt, in die Sie Text eingeben, erneut die Eingabetaste drücken, eine zweite Zeile eingeben usw.). Wenn Sie mit der Eingabe der Zeilen fertig sind, führen Sie ein Control-d aus, das den Befehl cp beendet und Sie haben eine mehrzeilige Datei mit einem einzigen Befehl erstellt).
quelle