Câu trả lời:
"Tty" ban đầu có nghĩa là "teletype" và "pty" có nghĩa là "giả-teletype".
Trong UNIX, / dev / tty * là bất kỳ thiết bị nào hoạt động như một "teletype", tức là một thiết bị đầu cuối. (Được gọi là teletype vì đó là những gì chúng ta có cho các thiết bị đầu cuối trong những ngày không lành mạnh này.)
Một pty là một giả, một mục thiết bị hoạt động như một thiết bị đầu cuối cho quá trình đọc và viết ở đó, nhưng được quản lý bởi một cái gì đó khác. Chúng lần đầu tiên xuất hiện (như tôi nhớ lại) cho X Window và màn hình và tương tự, nơi bạn cần thứ gì đó hoạt động như một thiết bị đầu cuối nhưng có thể được sử dụng từ một chương trình khác.
Ctrl-Alt-F{1..6}
và chúng được kết nối với /dev/tty{1..6}
. Bảng điều khiển Linux không phải là thiết bị đầu cuối vật lý, nhưng nó được kết nối với ttyN
(không phải là a ptyN
). Am i thiếu cái gì ở đây?
Một tty là một thiết bị đầu cuối (nó là viết tắt của teletype - thiết bị đầu cuối ban đầu sử dụng máy in dòng cho đầu ra và bàn phím cho đầu vào!). Thiết bị đầu cuối về cơ bản chỉ là một thiết bị giao diện người dùng sử dụng văn bản cho đầu vào và đầu ra.
Một pty là một thiết bị đầu cuối giả - đó là một triển khai phần mềm xuất hiện cho chương trình đính kèm như thiết bị đầu cuối, nhưng thay vì giao tiếp trực tiếp với thiết bị đầu cuối "thực", nó chuyển đầu vào và đầu ra sang một chương trình khác.
Ví dụ, khi bạn ssh vào một máy và chạy ls
, ls
lệnh sẽ gửi đầu ra của nó tới một thiết bị đầu cuối giả, phía bên kia được gắn vào daemon SSH.
*nix
hệ điều hành dựa trên tạo ra các thiết bị đầu cuối giả này.
sshd
và xterm
là hai ví dụ điển hình.
Nếu bạn chạy lệnh mount không có đối số dòng lệnh, sẽ hiển thị các hệ thống tệp được gắn trên hệ thống của bạn, bạn sẽ nhận thấy một dòng trông giống như thế này: none on / dev / pts type devpts (rw, gid = 5, mode = 620) Điều này cho biết rằng một loại hệ thống tệp đặc biệt, devpts, được gắn tại / dev / pts. Hệ thống tệp này, không được liên kết với bất kỳ thiết bị phần cứng nào, là hệ thống tệp ma thuật của Ma-rốc được tạo bởi Nền tảng Linux. Nó tương tự như hệ thống tập tin / Proc
Giống như thư mục / dev, / dev / pts chứa các mục tương ứng với thiết bị. Nhưng không giống như / dev, là một thư mục thông thường, / dev / pts là một thư mục đặc biệt được tạo ra một cách linh hoạt bởi nhân Linux. Nội dung của thư mục thay đổi theo thời gian và phản ánh trạng thái của hệ thống đang chạy. Các mục trong / dev / pts tương ứng với các thiết bị đầu cuối giả (hoặc giả TTY hoặc PTY).
Linux tạo PTY cho mọi cửa sổ thiết bị đầu cuối mới mà bạn mở và hiển thị mục nhập thích hợp trong / dev / pts. Thiết bị PTY hoạt động như một thiết bị đầu cuối. Nó chấp nhận đầu vào từ bàn phím và hiển thị đầu ra văn bản từ các chương trình chạy trong nó . PTY được đánh số và số PTY là tên của mục tương ứng trong / dev / pts.
Ví dụ: nếu số PTY của cửa sổ đầu cuối mới là 7, hãy gọi lệnh này từ một cửa sổ khác:% echo 'Tôi là một di di ảo'> / dev / pts / 7 Đầu ra xuất hiện trong cửa sổ đầu cuối mới.
Một tty
là một vật lý t erminal- t elet y cổng pe trên một máy tính (thường là một cổng nối tiếp).
Từ teletype là một shorting của máy đánh chữ điện báo , hoặc máy đánh chữ thiết bị từ những năm 1930 - chính nó là một thiết bị điện từ thay thế các điện báo máy của những năm 1830 và năm 1840 mã hóa.
Một pty
là một p seudo- t ele ty pe cổng cung cấp bởi một máy tính Hệ điều hành hạt nhân cho các chương trình phần mềm kết nối bắt chước thiết bị đầu cuối, chẳng hạn như ssh, xterm, hoặc màn hình.
Thiết bị đầu cuối chỉ đơn giản là giao diện người dùng của máy tính sử dụng văn bản cho đầu vào và đầu ra.
Những sử dụng p seudo- t ele ty pe cổng Tuy nhiên, đặt tên và triển khai của họ đã tách ra một chút.
Linux gắn kết một hệ thống tệp đặc biệt phát sinh trên / dev (có lẽ là viết tắt của erial) tạo ra một mục tương ứng trong /dev/pts
mỗi cửa sổ thiết bị đầu cuối mới mà bạn mở, ví dụ:/dev/pts/0
macOS / FreeBSD cũng sử dụng cấu trúc tệp / dev , tuy nhiên, họ sử dụng TTY
quy ước đặt tên được đánh số ttys
cho mỗi cửa sổ đầu cuối mới mà bạn mở, vd/dev/ttys002
Microsoft Windows vẫn có khái niệm về một LPT
cổng cho Thiết bị đầu cuối dòng máy in trong Command Shell để xuất ra máy in.