Jawaban:
"tty" aslinya berarti "teletype" dan "pty" berarti "pseudo-teletype".
Di UNIX, / dev / tty * adalah perangkat apa pun yang bertindak seperti "teletype", yaitu terminal. (Disebut teletype karena itulah yang kami punya untuk terminal pada masa itu.)
Pty adalah pseudotty, entri perangkat yang bertindak seperti terminal untuk proses membaca dan menulis di sana, tetapi dikelola oleh sesuatu yang lain. Mereka pertama kali muncul (seingat saya) untuk X Window dan layar dan sejenisnya, di mana Anda membutuhkan sesuatu yang bertindak seperti terminal tetapi dapat digunakan dari program lain.
Ctrl-Alt-F{1..6}
dan mereka terhubung /dev/tty{1..6}
. Linux Console bukan terminal fisik, namun terhubung ke ttyN
(bukan ke ptyN
). Apakah saya melewatkan sesuatu di sini?
Tty adalah terminal (singkatan dari teletype - terminal asli menggunakan printer garis untuk output dan keyboard untuk input!). Terminal pada dasarnya hanyalah perangkat antarmuka pengguna yang menggunakan teks untuk input dan output.
Pty adalah pseudo-terminal - ini adalah implementasi perangkat lunak yang muncul ke program terlampir seperti terminal, tetapi alih-alih berkomunikasi langsung dengan terminal "nyata", ia mentransfer input dan output ke program lain.
Sebagai contoh, ketika Anda ssh ke mesin dan menjalankan ls
, ls
perintah mengirim outputnya ke terminal semu, sisi lain yang dilampirkan ke daemon SSH.
*nix
sistem operasi berbasis menciptakan terminal semu ini.
sshd
dan xterm
dua contoh khas.
Jika Anda menjalankan perintah mount tanpa argumen baris perintah, yang menampilkan sistem file yang terpasang pada sistem Anda, Anda akan melihat baris yang terlihat seperti ini: tidak ada tipe devpts pada / dev / pts (rw, gid = 5, mode = 620) Ini menunjukkan bahwa jenis khusus dari sistem file, devpts, dipasang di / dev / pts. Sistem file ini, yang tidak terkait dengan perangkat perangkat keras apa pun, adalah sistem file "ajaib" yang dibuat oleh Kernel Linux. Ini mirip dengan sistem file / proc
Seperti direktori / dev, / dev / pts berisi entri yang sesuai dengan perangkat. Tetapi tidak seperti / dev, yang merupakan direktori biasa, / dev / pts adalah direktori khusus yang dibuat secara dinamis oleh kernel Linux. Isi direktori bervariasi dengan waktu dan mencerminkan keadaan sistem yang sedang berjalan. Entri dalam / dev / pts berhubungan dengan pseudo-terminal (atau pseudo-TTYs, atau PTYs).
Linux membuat PTY untuk setiap jendela terminal baru yang Anda buka dan menampilkan entri yang sesuai di / dev / pts. Perangkat PTY bertindak seperti perangkat terminal — ia menerima input dari keyboard dan menampilkan output teks dari program yang berjalan di dalamnya . PTY diberi nomor, dan nomor PTY adalah nama entri yang sesuai di / dev / pts.
Misalnya, jika nomor PTY jendela terminal baru adalah 7, aktifkan perintah ini dari jendela lain:% echo 'I am a virtual di'> / dev / pts / 7 Output muncul di jendela terminal baru.
Sebuah tty
adalah fisik t erminal- t Elet y pelabuhan pe pada komputer (biasanya port serial).
Kata teletype adalah kependekan dari mesin tik telegraf , atau perangkat teletypewriter dari tahun 1930-an - itu sendiri merupakan perangkat elektromagnetik yang menggantikan mesin pengkodean telegraf tahun 1830-an dan 1840-an.
Sebuah pty
adalah p seudo- t ele ty pe pelabuhan yang disediakan oleh komputer Sistem Operasi Kernel untuk program perangkat lunak menghubungkan meniru terminal, seperti ssh, xterm, atau layar.
Terminal hanyalah antarmuka pengguna komputer yang menggunakan teks untuk input dan output.
Ini digunakan p seudo- t ele ty pe port Namun, penamaan dan implementasi mereka telah menyimpang sedikit a.
Linux tunggangan khusus sistem file devpts di / dev (yang 's' mungkin berdiri untuk s erial) yang menciptakan sesuai entri dalam /dev/pts
untuk setiap jendela terminal baru Anda membuka, misalnya/dev/pts/0
macOS / FreeBSD juga menggunakan struktur file / dev namun, mereka menggunakan TTY
konvensi penamaan bernomor ttys
untuk setiap jendela terminal baru yang Anda buka misalnya/dev/ttys002
Microsoft Windows masih memiliki konsep LPT
port untuk Terminal Printer Lini di dalam Command Shell-nya untuk output ke printer.