UNIX — универсальная среда программирования | страница 17



Команда редактора >'w' (write — писать) сохранит введенную информацию: >'w junk' запишет ее в файл с именем >junk. Именем файла может быть любое слово. Мы выбрали >junk, чтобы показать, что этот файл не очень важен ("junk" — мусор).

Редактор сообщает системе число символов, записанных им в файл. До ввода команды >'w' ничего не отправляется на постоянное хранение, поэтому, если вы отключите свой компьютер от сети и пойдете домой, информация не попадет в файл. (Если вы это сделаете во время редактирования, информация, с которой вы работаете, будет сохранена в файле >ed.hup, и в дальнейшем можно будет продолжить работу.) В случае аварии системы в процессе редактирования (т.е. неожиданного останова из-за неисправности аппаратуры или ошибок в программном обеспечении) ваш файл сохранит только то, что в него записала последняя команда write. Но после выполнения команды >w информация хранится постоянно. Она может стать доступной, если вы введете

>$ ed junk

Конечно, можно редактировать введенный текст, чтобы исправить опечатки, заменить слова, переставить части текста и т.д. Когда вы завершите редактирование, команда >'q' ("quit" — выход) осуществит выход из редактора.

Что за файлы здесь?

Чтобы знать, с чем приходится иметь дело, создадим два файла с именами >junk и >temp:

>$ ed

>То be or not to be

>.

>w junk

>19

>q

>$ ed

>a

>What is a question.

>.

>w temp

>22

>q

>$

Число символов, сообщаемое редактором >ed, включает и специальный символ в конце каждой строки, называемый перевод строки или конец строки, — так система представляет символ RETURN.

Команда >ls перечисляет имена (но не содержание) файлов:

>$ ls

>junk

>temp

>$

Они и являются, действительно, именами двух только что созданных файлов (могут быть также и другие, которые вы не создавали сами). Имена автоматически сортируются в алфавитном порядке.

Как и большинство команд, >ls имеет возможные аргументы, которые позволяют изменить ее действие. Возможные аргументы следуют за именем команды в командной строке и обычно состоят из знака минус и одной буквы, несущей смысловую нагрузку. Например, команда >ls -t требует перечисления файлов во временном порядке, т.е. в зависимости от времени последнего изменения файла, причем файлы, измененные последними, перечисляются вначале:

>$ ls -t

>temp

>junk

>$

Возможный аргумент >-l означает "длинный" список (long — длинный), который содержит больший объем информации о каждом файле:

>$ ls -l

>total 2

>-rw-r--r-- 1 you 17 Sep 26 16:25 junk

>-rw-r--r-- 1 you 18 Sep 26 16:26 temp