W systemie Linux polecenie tty umożliwia
A. wysłanie sygnału zakończenia procesu.
B. wyświetlenie nazwy terminala.
C. zmianę bieżącego katalogu na katalog domowy użytkownika.
D. uruchomienie programu listującego zawartość pamięci operacyjnej.
Pytanie z egzaminu CKE, czerwiec 2020 (arkusz EE.08-SG-20.06).
Polecenie tty w systemie Linux służy do wyświetlenia nazwy terminala, z którym jest aktualnie połączone standardowe wejście procesu. W praktyce po wpisaniu tty w powłoce można zobaczyć np. /dev/tty1 dla klasycznej konsoli tekstowej albo /dev/pts/0, /dev/pts/1 itd. dla terminali pseudoterminalowych, używanych choćby w emulatorach terminala, przez SSH, tmux albo screen. To jest małe polecenie, ale całkiem przydatne, bo pozwala sprawdzić, w jakiej sesji terminalowej aktualnie pracujesz. Z mojego doświadczenia przydaje się to szczególnie przy administracji zdalnej, gdy masz otwartych kilka sesji SSH i łatwo się pomylić. W skryptach można też sprawdzać, czy program działa interaktywnie, czy jego wejście zostało przekierowane z pliku lub potoku. Dobrą praktyką jest łączenie takiej wiedzy z poleceniami typu who, w, ps -t oraz stty, bo razem dają pełniejszy obraz pracy użytkowników i procesów w środowisku terminalowym. Polecenie tty należy do typowych narzędzi uniksowych i jest dostępne w większości dystrybucji Linuksa, zwykle jako część GNU coreutils.
Polecenie tty bywa mylone z innymi komendami systemowymi, bo jego nazwa jest krótka i techniczna, ale nie służy ani do zarządzania procesami, ani do zmiany katalogów, ani do analizowania pamięci operacyjnej. Jego zadanie jest dużo bardziej konkretne: pokazuje nazwę terminala powiązanego ze standardowym wejściem. Jeśli ktoś kojarzy terminal głównie jako miejsce, z którego uruchamia się programy, może łatwo założyć, że tty steruje procesami. W Linuksie wysyłanie sygnału zakończenia procesu wykonuje się jednak poleceniem kill, ewentualnie pkill lub killall. To tam pojawiają się sygnały takie jak SIGTERM czy SIGKILL. tty niczego nie zamyka i nie kończy, tylko informuje o urządzeniu terminalowym. Zmiana bieżącego katalogu na katalog domowy użytkownika również nie ma z tym związku. Do tego używa się cd, cd ~ albo samego cd, przy czym cd jest poleceniem wbudowanym powłoki, a nie typowym programem uruchamianym jako osobny proces. To ważna różnica administracyjna, bo katalog roboczy jest stanem powłoki. Również listowanie lub obserwowanie pamięci operacyjnej wykonuje się innymi narzędziami, takimi jak free, top, htop, vmstat albo odczytując /proc/meminfo. Samo tty nie pokazuje użycia RAM, nie prezentuje zawartości pamięci i nie pełni funkcji diagnostyki sprzętowej. Typowy błąd myślowy polega tu na wrzuceniu wszystkich krótkich komend terminalowych do jednego worka. Warto zapamiętać prosto: tty odpowiada na pytanie, z jakiego terminala korzysta proces, a nie co proces robi, gdzie jest katalog roboczy ani ile pamięci zużywa system.