Рассмотрим небольшую серию команд, приведенную в листинге 5.1 (рис. 5.2).
Листинг 5.1. Операции с файлом
touch file.txt
echo "some text" > file.txt
cat file.txt
cp file.txt file-copy.txt
cat file-copy.txt
rm file.txt cat file.txt
mv file-copy.txt file.txt
cat file.txt
Команда touch создает в текущем каталоге файл file.txt. Вторая команда ( echo ) записывает строку same text в этот же файл. Обратите внимание, > — это символ перенаправления ввода/вывода, о котором мы поговорим чуть позже.
Третья команда ( cat ) выводит содержимое файла (в файле — записанная нами строка same text ). Команда cp копирует файл file.txt в файл с именем file-copy.txt. После этого мы опять используем команду cat , чтобы вывести содержимое файла file-copy.txt, — надо же убедиться, что файл действительно скопировался.
Команда rm удаляет файл file.txt. При удалении система спрашивает, хотите ли вы удалить файл? Если да, то нужно нажать клавишу , а если нет, то клавишу . Точно ли файл удален? Убедимся в этом — введите команду cat file.txt . Система нам сообщает, что такого файла нет.
Восьмая команда ( mv ) переименовывает файл file-copy.txt в файл file.txt. Последняя команда выводит исходный файл file.txt. Думаю, особых проблем с этими командами у вас не возникло, тем более, что их принцип действия вам должен быть знаком по командам DOS, которые, как квалифицированный пользователь Windows, вы должны знать наизусть.
Вместо полного имени файла иногда очень удобно указать маску имени. Например, у нас есть много временных файлов, которые заканчиваются фрагментом tmp — для их удаления нужно воспользоваться командой:
rm *tmp
Если же нужно удалить все файлы в текущем каталоге, можно просто указать «звездочку»:
rm *
Аналогично, можно применить символ ? который в отличие от звездочки, заменяющей последовательность символов произвольной длины, заменяет всего один символ. Например, нам нужно удалить все файлы, имена которых состоят из трех символов и начинаются на d:
rm d??
Будут удалены файлы d11, dbm, d78 и т. д., но не будут тронуты файлы, имена которых состоят из более чем трех букв и которые не начинаются на d.
Маски имен допустимы также при работе с каталогами.
5.6. Команды для работы с каталогами
Основные команды для работы с каталогами приведены в табл. 5.2.
При указании имени каталога можно указать следующие символы:
□. — означает текущий каталог. Если вы введете команду cat./file , то она выведет файл file, который находится в текущем каталоге;
□ ..— родительский каталог, например, команда cd.. переведет нас на один уровень вверх по дереву файловой системы;
□ ~ домашний каталог пользователя.
Теперь рассмотрим команды для работы с файлами на практике. Выполните следующие команды (листинг 5.2).
Листинг 5.2. Работа с файлами
mkdir directory
cd directory
touch file1.txt
touch file2.txt
ls
cd..
ls directory
rm directory
rmdir directory
rm — r directory
Первая команда ( mkdir ) создает каталог directory в текущем каталоге. Вторая команда ( cd ) переходит (изменяет каталог) в только что созданный каталог. Следующие две команды touch создают в новом каталоге два файла: file1.txt и file2.txt.
Команда ls без указания каталога выводит содержимое текущего каталога. Команда cd.. переходит в родительский каталог (как уже упоминалось, в Linux родительский каталог обозначается .. , а текущий — . ). Таким образом, находясь в каталоге directory, мы можем обращаться к файлам file1.txt и file2.txt без указания каталога или же как./file1.txt и./file2.txt.
Внимание!
В Linux для разделения элементов пути служит прямой слэш (/), а не обратный (\), как в Windows. Запомните это!
В Linux часто употребляется обозначение ~ — это домашний каталог. Предположим, что наш домашний каталог назван /home/den. В нем мы создали подкаталог dir и поместили в него файл file 1.txt. Полный путь к файлу можно записать так:
/home/den/dir/file1.txt
или так:
~/dir/file1.txt
Как видите, тильда (~) заменяет часть пути. Удобно? Конечно!
Поскольку мы находимся в родительском для каталога directory каталоге, для того чтобы вывести содержимое только что созданного каталога, в команде ls нам нужно четко указать его имя:
Читать дальше
Конец ознакомительного отрывка
Купить книгу