Bagaimana cara mendapatkan nama terminal saat ini?


17

Bagaimana cara mengambil nama terminal saat ini?

Maksud saya untuk nama yang psditampilkan di kolom TTY, misalnya:

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)

Dalam contoh di atas, saya perlu mengambil pts/2yang mungkin merupakan nama untuk terminal saat ini yang menjalankan perintah-perintah itu.


Jawaban:


26
tty

Sekarang saya harus memasukkan 30 karakter di mana 3 sudah cukup ... :-)


apropos ttymungkin juga instruktif (-:
tripleee

1
@ tripleee Jika Anda tahu hasil mendapatkannya biasanya tampak mudah. Tapi ini sangat sulit. Saya harus menjawab pertanyaan untuk menendang dia di atas batas 125 poin rep sehingga dia dapat menawarkan hadiah yang pantas untuk usaha besar saya ...
Hauke ​​Laging

2
Jawaban Anda membuat saya bertanya-tanya dari mana tty mendapatkan nama PTY atau TTY. Saya berlari strace -o spork ttyuntuk mengetahui bahwa ia melakukan readlink pada file / proc: readlink("/proc/self/fd/0", "/dev/pts/5"..., 4095) = 10 Sangat bagus bahwa / proc dapat digunakan untuk melakukan hal-hal yang bagus, tetapi apa yang dilakukan Unix sebelumnya, tanpa sistem file fleksibel / proc, lakukan untuk mendapatkan nama tty?
Bruce Ediger

Anda bisa menjelaskan apa perintah itu, apa yang dilakukannya dan apa lagi yang bisa Anda lakukan dengannya dan whoooosh, itu akan menjadi jawaban yang lebih baik.
Bobby

@ Bobby Setiap jawaban bisa dibuat lebih baik. Si penanya menyelesaikan masalahnya setelah dua menit; IMHO tidak begitu buruk. Serius, saya tidak tahu apa lagi yang bisa Anda lakukan tty. Apa yang dilakukannya persis seperti apa pertanyaannya. Saya bahkan tidak mendapatkan perbedaan antara "apa perintah itu" dan "apa fungsinya". Apa itu "perintah"? Tapi, hei, aku tidak ingin ada masalah dengan sia-sia. Jika Anda menulis jawaban yang jelas lebih baik (yang mungkin telah saya cegah) maka saya akan memberikan hadiah 50 rep untuk itu (secepat mungkin yaitu dalam dua hari).
Hauke ​​Laging

3

Re: "Anda bisa menjelaskan apa perintah itu, apa, apa yang dilakukannya dan apa lagi yang bisa Anda lakukan dengan itu dan whoooosh, itu akan menjadi jawaban yang lebih baik. - Bobby"

Nama Unix dari terminal saat ini (atau konsol, seperti yang biasa digunakan oleh orang tua untuk kadang-kadang juga menyebutnya) adalah: / dev / tty yang, dapat digunakan untuk dengan mudah membuat file multi-line baru dari prompt perintah dengan demikian: cp / dev / tty README.md (memukul lalu meletakkan kursor pada baris kosong baru di mana Anda dapat memasukkan teks, tekan kembali lagi, masukkan baris kedua, dan sebagainya. Setelah selesai memasukkan baris, lakukan kontrol-d yang menyebabkan perintah cp untuk keluar dan Anda akan membuat file multi-line dengan satu perintah).


"Nama" tty berasal dari TeleType (Perangkat terminal asli) yang juga menjelaskan mengapa ia ada di direktori / dev.
user120016

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.