Это означает, что файл с именем 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
До сих пор мы употребляли имена файлов, даже не упоминая о том, что является законным именем файла. Теперь пора ввести несколько правил. Во-первых, имя файла ограничено 14 символами.[2]
Во-вторых, хотя и можно использовать практически любой символ в имени файла, здравый смысл подсказывает, что следует употреблять только видимые символы и избегать применения символов, несущих определенную смысловую нагрузку. Например, как вы уже видели, в командеls
флаг -t
означает список, упорядоченный по времени, так что если у вас есть файл с именем -t
, вам придется очень постараться, чтобы он попал в список. (Как, действительно, это сделать?) Кроме знака "минус", есть и другие символы, имеющие специальный смысл в первой позиции, однако пока вы не освоите систему, лучше использовать на этом месте только буквы, цифры, точку и символ подчеркивания. (Точка и символ подчеркивания по традиции употребляются для разбития имени файла на части, как в случае special.save
). Наконец, не забывайте о различии прописных и строчных букв: junk
, JUNK
и Junk
— разные имена файлов.Поскольку у нас уже есть основные средства создания файлов, выдачи списка имен файлов, печати их содержимого, мы можем рассмотреть и другие команды обработки файлов. Чтобы изложение было конкретным, будем использовать файл 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
$ wc poem
8 46 263 poem
$
т.е. в файле poem
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.
$