Чтение онлайн

на главную - закладки

Жанры

UNIX — универсальная среда программирования
Шрифт:

Следует отметить, что

pr
— это не программа форматирования текста: она не разбивает текст на строки и не выравнивает поля. Настоящими программами форматирования являются
troff
и
nroff
, которые обсуждаются в гл. 9.

Существуют также команды, которые производят вывод на высокоскоростное печатающее устройство. Поищите в вашем руководстве команду с именем

lp
или
lpr
или посмотрите в предметном указателе (индексе) слово "printer". Выбирайте команду в зависимости от того, какое печатающее устройство подключено к вашей машине. Часто команды
pr
и
lpr
используются совместно. После того как
pr
отформатирует информацию должным образом,
lpr
будет управлять процессом передачи па печатающее устройство. Мы вернемся к этому вопросу позднее.

Пересылка, копирование и удаление файлов. Команды
mv
,
cp
,
rm

Рассмотрим другие команды. Вначале попробуем изменить имя файла. Переименование файла производится "пересылкой" (moving) его от одного имени к другому следующим образом:

$ mv junk special

Это означает, что файл с именем

junk
будет называться теперь
special
, содержимое его не меняется. Если теперь выполнить команду
ls
, то вы увидите другой список, в котором нет файла
junk
, но есть файл
special
:

$ ls

special

temp

$ cat junk

cat: can't open junk

$

Будьте осторожны: если вы перешлете файл на место уже существующего файла, то последний будет замещен.

Чтобы иметь копию файла (т.е. две его версии), воспользуйтесь командой

cp
:

$ cp special special.save

которая продублирует файл

special
в
special.save
. Наконец, когда вы устанете создавать и пересылать файлы, команда rm уберет все указанные файлы:

$ rm temp junk

rm: junk nonexistent

$

$ cp special special.save

Вы получите предупреждение, если один из удаляемых файлов не существует, но в противном случае

rm
, как и большинство команд UNIX, отработает без лишних слов. Системе не свойственна "болтовня". Приглашения, сообщения об ошибках кратки и не всегда помогают. Краткость может огорчать новичков, но опытных пользователей раздражают "разговорчивые" команды.

Чем может быть имя файла?

До сих пор мы употребляли имена файлов, даже не упоминая о том, что является законным именем файла. Теперь пора ввести несколько правил. Во-первых, имя файла ограничено 14 символами. [2] Во-вторых, хотя и можно использовать практически любой символ в имени файла, здравый смысл подсказывает, что следует употреблять только видимые символы и избегать применения символов, несущих определенную смысловую нагрузку. Например, как вы уже видели, в команде

ls
флаг
– t
означает список, упорядоченный по времени, так что если у вас есть файл с именем
– t
, вам придется очень постараться, чтобы он попал в список. (Как, действительно, это сделать?) Кроме знака "минус", есть и другие символы, имеющие специальный смысл в первой позиции, однако пока вы не освоите систему, лучше использовать на этом месте только буквы, цифры, точку и символ подчеркивания. (Точка и символ подчеркивания по традиции употребляются для разбития имени файла на части, как в случае
special.save
). Наконец, не забывайте о различии прописных и строчных букв:
junk
,
JUNK
и
Junk
— разные имена файлов.

2

В

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

Группа полезных команд

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

poem
, который содержит известное стихотворение Августа Де Моргана. Создадим его с помощью редактора
ed
:

$ ed а

Great fleas have little fleas

 upon their backs to bite 'em,

And little fleas have lesser fleas,

 and so ad infinitum.

And the great fleas themselves, in turn,

 have a greater fleas to go on;

While these again have greater still,

 and greater still, and so on.

.

w poem 263

q

$

Начнем с первой команды, которая подсчитывает число строк, слов и символов в одном или нескольких файлах и называется

wc
по одной из ее функций — подсчета слов ("word counting"):

$ wc poem

8 46 263 poem

$

т.е. в файле

poem
восемь строк, 46 слов и 263 символа. Определение "слова" весьма просто — любая последовательность символов, не содержащая пробела, символа табуляции или перевода строки. Команда
wc
произведет подсчет более чем в одном файле (и сообщит итог) и при необходимости "умолчит" о любом счетчике, см.
wc(1)
.

Вторая команда,

grep
, отыскивает в файлах строки, которые подходят под шаблон (ее имя происходит от имени команды редактора
ed g/regular-expression/p
, которая объясняется в приложении 1). С помощью этой команды можно найти слово
"fleas"
в файле
poem
:

$ grep fleas poem

Great fleas have a little fleas

And little fleas have lesser fleas,

And the great fleas themselves, in turn,

 have greater fleas to go on;

$

Команда

grep
может также отыскивать строки, которые не соответствуют шаблону, если используется флаг
– v
. (Флаг назван по имени команды редактора
ed
; действие флага можно представить как инвертирование условия соответствия шаблону.)

$ grep -v fleas poem

 upon their backs to bite 'em,

 and so ad infinitum.

While these again have greater still,

 and greater still, and so on.

$

Команду

grep
можно использовать для поиска в нескольких файлах: в таком случае она будет выдавать имя файла перед каждой строкой, подходящей под шаблон, что позволяет найти место, где произошло сопоставление. Существуют также флаги для нумерации строк и т.д. Команда может применяться и для сопоставления с более сложными шаблонами, чем
"fleas"
, но об этом речь пойдет в гл. 4.

Поделиться:
Популярные книги

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя

Привет из Загса. Милый, ты не потерял кольцо?

Лисавчук Елена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Привет из Загса. Милый, ты не потерял кольцо?

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

Убивать чтобы жить 7

Бор Жорж
7. УЧЖ
Фантастика:
героическая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 7

У врага за пазухой

Коваленко Марья Сергеевна
5. Оголенные чувства
Любовные романы:
остросюжетные любовные романы
эро литература
5.00
рейтинг книги
У врага за пазухой

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Генерал Скала и ученица

Суббота Светлана
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Генерал Скала и ученица

Оцифрованный. Том 1

Дорничев Дмитрий
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Оцифрованный. Том 1

Его маленькая большая женщина

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Его маленькая большая женщина

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит