Оба дескриптора файла stdin и stdout указывают на это. Как это работает? Может ли кто-то указать на хороший ресурс для понимания терминалов UNIX и системных вызовов, которые взаимодействуют с ним.Что такое/dev/tty в UNIX?
26
A
ответ
40
dev/tty
- объект файловой системы, представляющий текущую консоль. Копирование файлов в этот «каталог» из командной строки выводит содержимое этих файлов на консоль:
cp myfile.txt /dev/tty
эквивалентно
cat myfile.txt
Эти объекты существуют, чтобы позволить вам использовать знакомый файл API для взаимодействия с консолью. Это умный способ унифицировать консольный API с файловым API. Вы можете использовать fopen
, fprintf
и т. Д., Чтобы взаимодействовать с консолью так же, как вы взаимодействуете с обычными файлами.
Этот пример записывает "Hello, world\n"
на терминал:
#include <stdio.h>
int main (int argc, const char * argv[]) {
FILE *f = fopen("/dev/tty", "w");
fprintf(f, "Hello, world!\n");
return 0;
}
Смежные вопросы
- 1. Что такое */в Unix?
- 2. Что означает ## */в unix?
- 3. Что такое st_ino в Unix?
- 4. Что такое профилирование в unix?
- 5. Что такое оператор «./» в Unix?
- 6. Unix/Linux: что есть ./?
- 7. Что касается сценария оболочки UNIX
- 8. Что случилось с CFFI-UNIX?
- 9. Что касается времени доступа unix
- 10. web/unix интерфейс: что использовать?
- 11. Unix: Что делает сам кот?
- 12. Что такое unix/linux внутренности?
- 13. Что означает эта команда unix?
- 14. Что касается сценария оболочки Unix
- 15. Что такое «Unix-подобный» компилятор?
- 16. Что делает эта функция unix?
- 17. Что означает нижняя оболочка Unix?
- 18. Что означает следующая команда UNIX?
- 19. Что означает «отсоединить» в потоке на unix?
- 20. Что означает $ {1 + "$ @"} в сценарии оболочки unix?
- 21. Что такое echo.sock в системе unix?
- 22. что эквивалентна команда UNIX, которая в VMS
- 23. Что делает команда -e в Unix?
- 24. Что такое call out table в unix?
- 25. Что делает «-a» в сценариях Unix Shell
- 26. Что касается команды cd в UNIX
- 27. Что такое ln -sfv в UNIX?
- 28. Что такое S_IFMT в системном программировании UNIX?
- 29. Что включать в курс обучения UNIX?
- 30. Что подразумевается под родительским процессом в unix
Что псевдотерминалы? Как я могу взаимодействовать с ними? – Bruce
@Bruce Псевдо-терминалы представляют собой абстракции вдоль линий '/ dev/tty', которые представляют собой, например, другие логические терминалы, которые не соответствуют физическому терминалу. Вы можете увидеть их на работе, открыв два окна xterm, набрав в них 'tty', чтобы увидеть их псевдотерминальные имена, а затем скопировать файл в одно окно в другое. Например, если вы наберете 'tty' и вы получите'/dev/ttys002' в одном окне и '/ dev/ttys000' в другом, вы можете скопировать файл с одного xterm в' ttys ... 'из другой, и содержимое будет отображаться в другом окне. – dasblinkenlight
Что такое применение/использование объединения двух API и предоставление такой функции? –