/dev/ttylà tty kiểm soát của quy trình hiện tại , cho bất kỳ quy trình nào thực sự mở tệp đặc biệt này. Nó không nhất thiết là một thiết bị điều khiển ảo ( /dev/ttyn ) và có thể là mộtpty, một cổng nối tiếp, v.v. Nếu tty điều khiển không phải là bàn điều khiển ảo, thì quá trình không phải tương tác với các thiết bị bàn điều khiển ngay cả khi giả hành của nó thực sự được thực hiện trên bảng điều khiển hệ thống. Ví dụ. đối với hệ vỏ trong trình giả lập thiết bị đầu cuối trong máy chủ X chạy cục bộ, các chương trình cho biết tạo thành chuỗi tương tác như:
Unix shell
⇕ /dev/pts/2(≡ /dev/ttycho các quá trình của nó)
kernel pty lái xe
⇕ /dev/ptmx
terminal emulator
⇕ X Window giao thức
X server
⇕ /dev/tty7(≡ /dev/ttycho máy chủ)
hệ thống giao diện điều khiển
zxc↿⇂ [_̈░░]
người dùng
Sử dụng /dev/ttybởi các chương trình người dùng bao gồm:
- Viết một cái gì đó đến thiết bị đầu cuối kiểm soát, bỏ qua tất cả các chuyển hướng và đường ống;
- Tạo một ioctl () - xem tty_ioctl (4);
- Ví dụ: tách khỏi thiết bị đầu cuối (TIOCNOTTY).
/dev/tty0là bảng điều khiển ảo hiện đang hoạt động (tức là hiển thị trên màn hình) của hệ điều hành . Phần mềm đặc biệt này không được sử dụng đáng kể bởi phần mềm hệ thống, nhưng /dev/consolehầu như là một bí danh của Googletty0 và /dev/consoleđược sử dụng nhiều bởi các trình nền syslog và đôi khi, bởi chính hạt nhân.
Thử nghiệm để cho thấy sự khác biệt: chạy rootshell trên tty3( Ctrl+ Alt+ F3) hoặc trong trình giả lập thiết bị đầu cuối. Hiện nay
# sleep 2; echo test >/dev/tty
sau đó nhanh chóng Ctrl+ Alt+ F2, đợi trong hai giây và Ctrl+ Alt+ bất cứ điều gì trở lại. Bạn thấy đầu ra ở đâu?
Và bây giờ thử nghiệm tương tự cho /dev/tty0.