UNIX — универсальная среда программирования
UNIX — универсальная среда программирования читать книгу онлайн
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями
shell.
Для программистов-пользователей операционной системы UNIX.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Поскольку завершение строки обозначается символом перевода строки, можно ожидать, что и файл завершается другим специальным символом, скажем
е
od
Программы выбирают данные из файла с помощью системного обращения с именем
read
read
read
read
read
Когда программа читает с вашего терминала, каждая введенная строка передается программе ядром только после ввода символа перевода строки (т.е. нажатия RETURN). Поэтому если вы сделаете ошибки и заметите это до ввода RETURN, можно вернуться и исправить их. Если символ перевода строки введен до того, как вы заметили ошибку, то строка уже прочитана системой и исправить ее нельзя.
Можно посмотреть ввод по строкам на примере команды
cat
-u
$ cat
123
456
789
ctl-d
123
456
789
$ cat -u
123
123
456
456
789
789
ctl-d
$
Команда
cat
Теперь попробуем сделать нечто другое: введите несколько символов, а затем вместо RETURN наберите на клавиатуре ctl-d:
$ cat -u 123ctl-d123
Команда
cat
$ cat -u
123ctl-d123ctl-d$
Интерпретатор отвечает на это выводом приглашения, поскольку команда
cat
Что произойдет, если ввести ctl-d редактору
ed
$ ed < файл
2.2 Что хранится в файле?
Формат файла зависит от программ, которые используют его. Типы файла весьма разнообразны, возможно, потому, что существует большое разнообразие программ. Но, поскольку типы файла не определяются файловой системой, ядро не может указать вам тип файла оно не знает его. Команда
file
$ file /bin /bin/ed /usr/src/cmd/ed.c /usr/man/man1/ed.1
/bin: directory
/bin/ed: pure executable
/usr/src/cmd/ed.с: c program text
/usr/man/man1/ed.1: roff, nroff, or eqn input text
Здесь показаны четыре типичных файла. Все они связаны с редактором: каталог (
/bin
/bin/ed
/usr/src/cmd/ed.с
/usr/man/man1/ed.1
При определении типа файла команда
file
.с
.с
file
Иногда установить тип файла нетрудно. Выполняемая программа помечается вначале двоичным "магическим" числом. Команда
od
$ od /bin/ed
0000000 000410 025000 000462 011444 0000000 000000 000000 000001
0000020 170011 016600 000002 005060 1777776 010600 162706 000004
0000040 016616 000004 005720 010066 0000002 005720 001376 020076