Как получить текущее имя терминала?
Я имею в виду имя, которое ps
отображается в столбце TTY, например:
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)
В приведенном выше примере мне нужно получить, pts/2
который, вероятно, является именем текущего терминала, который выполнил эти команды.
Ответы:
Теперь я должен ввести 30 символов, где 3 было бы достаточно ... :-)
источник
apropos tty
тоже мог быть поучительным (-:tty
берется название PTY или TTY. Я побежал,strace -o spork tty
чтобы выяснить, что он делает ссылку для чтения в файле / proc:readlink("/proc/self/fd/0", "/dev/pts/5"..., 4095) = 10
замечательно, что / proc может использоваться для таких изящных вещей, но что делали ранние Unix, без гибкой файловой системы / proc, чтобы получить tty name?tty
. Что он делает, это именно то, о чем вопрос. Я даже не понимаю разницу между «что это за команда» и «что она делает». Что такое "команда"? Но, эй, я не хочу, чтобы голосование было даром. Если вы напишите явно лучший ответ (который, возможно, помешал мой), я дам за это вознаграждение в 50 представителей (как можно скорее, т.е. через два дня).Re: «Вы могли бы просто объяснить, что это за команда, что она делает, и что еще вы можете с ней делать и что-то еще, это был бы лучший ответ. - Бобби»
Unix-имя текущего терминала (или консоли, как мы, старые, иногда называем его также), выглядит так: / dev / tty, который можно использовать для простого создания нового многострочного файла из командной строки, например: cp / dev / tty README.md (нажатие затем помещает курсор на новую пустую строку, где вы можете ввести текст, снова нажать клавишу возврата, ввести вторую строку и т. д. Когда вы закончите вводить строки, выполните control-d, которая приводит к выходу команды cp и вы сделаете многострочный файл с помощью одной команды).
источник