Як отримати поточну назву терміналу?


17

Як отримати поточну назву терміналу?

Я маю на увазі ім’я, яке 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яке, мабуть, ім'я поточного терміналу, який виконував ці команди.


Відповіді:


26
tty

Тепер мені потрібно ввести 30 символів, де 3 вистачило б ... :-)


apropos ttyможливо, теж був повчальним (-:
трійка

1
@tripleee Якщо ви знаєте результат, це зазвичай здається простим. Але це було справді важко. Я повинен підтримати це питання, щоб вигнати його над межею 125 реп. Пунктів, щоб він міг запропонувати заслужену нагороду за мої великі зусилля ...
Хоуке Лагінг

2
Ваша відповідь змусила мене цікавитись, звідки tty береться назва PTY чи TTY. Я побіг, strace -o spork ttyщоб дізнатися, що це читання посилання на файл / proc: readlink("/proc/self/fd/0", "/dev/pts/5"..., 4095) = 10 Це чудово, що / proc можна використовувати для виконання таких витончених речей, але що робили раніше Unixes, без гнучкої файлу / proc файлової системи, щоб отримати tty ім'я?
Брюс Едігер

Ви можете просто пояснити, що це за команда, що вона робить, і що ще ви можете зробити з нею і whoooosh, це було б кращою відповіддю.
Боббі

@Bobby Кожна відповідь можна зробити кращою. Опитуваний вирішив свою проблему через дві хвилини; не так вже й погано ІМХО. Серйозно, я не маю уявлення, що ще ти можеш зробити tty. Що це робить, це саме питання. Я навіть не розумію різниці між тим, "що ця команда" і "що вона робить". Що таке "це" команда? Але, ей, я не хочу платити задарма. Якщо ви напишете явно кращу відповідь (яка міна, можливо, завадила), то я дам за це 50 прибутків (як тільки можливо, тобто через два дні).
Хоуке Лагінг

3

Re: "Ви можете просто пояснити, що це за команда, що вона робить, і що ще ви можете зробити з нею і whoooosh, це було б кращою відповіддю. - Боббі"

Ім’я Unix поточного терміналу (або консолі, як ми його стараки іноді також називаємо): / dev / tty, яке, таким чином, можна легко створити новий багаторядковий файл із командного рядка: cp / dev / tty README.md (натискання потім кладе курсор на новий порожній рядок, куди ви можете вводити текст, натискання повернути знову, вводити другий рядок, і так далі. Закінчивши введення рядків, зробіть команду control-d, яка призведе до виходу команди cp і ви зробили багаторядковий файл з однією командою).


Tty "name" походить від TeleType (оригінальний термінальний пристрій), який також пояснює, чому він знаходиться в dir dir.
користувач120016

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.