Манипулировать файлами можно при помощи одного из графических файловых менеджеров, например, Наутилус или Konqueror. Кроме того, это можно делать из командной строки, и это будет даже быстрее. Эта глава разъясняет, как именно работать с файлами в командной строке.
Вы можете создавать новые файлы как при помощи приложений (таких как текстовые редакторы), так и командой touch, которая создает пустой файл, куда можно добавить текст или другие данные. Чтобы создать файл с помощью команды touch, наберите в командной строке:
touch <имя_файла>
Вместо <имя_файла> должно стоять название файла по вашему выбору. Просмотрев список файлов текущего каталога с помощью команды
ls -l имя_файла
вы увидите, что этот файл содержит ноль (0) байт информации:
-rw-rw-r-- 1 user user 0 Mar 07 16:01 имя_файла
Для копирования файла наберите следующее:
cp <источник> <пункт_назначения>
Замените <источник> названием файла, который вы копируете, а <пункт_назначения> названием каталога, куда он должен попасть.
Итак, чтобы скопировать файл example.txt в каталог docs/ в вашем домашнем каталоге, перейдите в свой домашний каталог и наберите:
cp example.txt docs/
В команде cp вы можете использовать как относительный, так и абсолютный путь к файлу. Наш домашний каталог является вышестоящим по отношению к каталогу docs/; каталог docs/ на ступень ниже домашнего каталога.
![]() | Подсказка |
|---|---|
Чтобы больше узнать об относительных и абсолютных путях, обратитесь к Разд. 4.7, Смена каталога с помощью команды cd. | |
Прочтите man-страницу команды cp (наберите в командной строке man cp) и просмотрите полный список опций команды cp. Среди прочих опций команды cp имеются следующие:
-i (interactive) — интерактивный режим. Требует подтверждения, если командой будет переписан файл в месте назначения. Это помогает избежать возможных ошибок.
-r (recursive) — рекурсивный режим. Вместо копирования всех указанных файлов и каталогов скопирует все дерево каталогов, подкаталоги и прочее.
-v (verbose) — режим дополнительных сообщений. Выводить на экран сообщение о каждой выполняемой операции.
Теперь у вас имеется файл example.txt в каталоге docs/. Воспользуйтесь командой cp -i, чтобы еще раз скопировать файл в то же самое место:
cp -i example.txt docs/ cp: переписать 'docs/example.txt'?
Чтобы переписать файл, нажмите клавишу [Y] и затем [Enter]. Если вы не хотите переписывать существующий файл, нажмите [N] и [Enter].
Для перемещения файлов используйте команду mv. Узнать больше о команде mv можно из man-страницы mv, для чего необходимо набрать в командной строке man mv.
Ниже приведены некоторые часто используемые опции команды mv:
-i (interactive) — интерактивный режим. Предупреждает, что выбранный файл будет записан поверх уже существующего в каталоге назначения. Это полезная опция, она похожа на опцию -i команды cp и дает возможность подумать, действительно ли нужно перезаписать уже существующий файл.
-f (force) — принудительный режим. Данная опция выключает интерактивный режим и перемещает файлы, не выдавая подсказок. Если вы еще плохо разбираетесь, что делать, эта опция опасна; старайтесь ее не использовать, пока не станете чувствовать себя в системе уверенно.
-v (verbose) — режим дополнительных сообщений. Выводить на экран сообщение о каждой выполняемой операции.
Если вы хотите переместить файл из своего домашнего в другой существующий каталог, наберите, находясь в домашнем каталоге, следующее:
mv example.txt docs/
Та же команда, но с использованием абсолютного пути, выглядит так:
mv /home/user/example.txt /home/user/docs/
Команда mv используется не только для перемещения, но и для переименования файлов и каталогов.
Следующая команда переименует файл original_name в файл new_name:
mv original_name new_name
Следующая команда переместит файл original_name из каталога на один уровень выше текущего в текущий и переименует этот файл в new_name:
mv ../original_name new_name
Следующая команда переместит файл original_name из текущего каталога в каталог dir3/ и переименует этот файл в new_name:
mv original_name /dir1/dir2/dir3/new_name
Вы научились создавать файлы командой touch и создали каталог docs/, используя команду mkdir.
Теперь нужно научиться удалять файлы и каталоги. Удаление командой rm — простой процесс. Для получения более подробной информации обратитесь к man-странице команды rm. Ниже перечислены некоторые опции данной команды:
-i (interactive) — интерактивный режим. Требует подтвердить удаление для предотвращения ошибочного удаления файла.
-f (force) — принудительный режим. Выключает интерактивный режим и удаляет файл(ы), не запрашивая подтверждения. Не используйте эту опцию, если вы не достаточно разбираетесь, что нужно делать.
-v (verbose) — режим дополнительных сообщений. Выводить на экран сообщение о каждой выполняемой операции.
-r (recursive) — рекурсивный режим. Удалить каталог и все файлы и подкаталоги в нем.
Чтобы удалить файл test.txt с помощью команды rm, наберите:
rm test.txt
![]() | Внимание |
|---|---|
Как только файл или каталог удален командой rm, он исчезает навсегда и не может быть восстановлен. | |
Используйте опцию -i, чтобы иметь последнюю возможность подумать, прежде чем удалить файл.
rm -i test.txt rm: удалить обычный файл 'test.txt'?
Вы можете также удалять файлы, используя метасимволы *, но будьте осторожны, потому что вы можете легко удалить нужные файлы.
Для удаления файла с использованием метасимволов наберите:
rm tes*
Эта команда удалит все файлы в каталоге, имена которых начинаются с tes.
С помощью команды rm можно удалить также несколько файлов. Например:
rm test.txt example.txt
Чтобы удалить каталог, используйте команду rmdir (например, rmdir examples), но только если каталог пуст. Чтобы удалить каталог с помощью команды rm, необходимо указать опцию -r.
Например, если вы рекурсивно удаляете каталог examples/, вы должны ввести:
rm -r examples/
Если вы хотите совместить опции удаления, такие как принудительную и рекурсивную, вы можете ввести:
rm -rf examples/
Удаление каталога с помощью команды rmdir безопаснее, чем с помощью rm. С rmdir вы не сможете использовать рекурсивное удаление, поэтому каталог, который содержит какие-нибудь файлы, не будет удален.
![]() | Внимание |
|---|---|
Команда rm может удалить всю вашу файловую систему! Если вы вошли в систему как пользователь root и ввели простую команду rm -rf /, — вы в беде. Эта команда рекурсивно удалит всю вашу систему. | |
Чтобы больше узнать о команде rmdir, обратитесь к ее man-странице (введите man rmdir).
Для создания ссылок, символьных и жестких, используется команда ln.
Жесткая ссылка — другое имя для существующего файла. Для создания жесткой ссылки введите в командной строке:
ln файл ссылка
Символьная ссылка — особый маленький файл, содержащий путь к файлу. Для создания символьной ссылки используется та же команда, что и для создания жесткой, но с опцией -s:
ln -s файл ссылка
При создании символьной ссылки на каталог автоматически создаются символьные ссылки на все входящие в него файлы и каталоги.
Чтобы больше узнать о команде ln, прочтите ее man-страницу, введя в командной строке man ln.