Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная
  2. Linux: Введение
  3. Работа с файловой системой

Копирование и перемещение файлов

Для перемещения файлов и каталогов предназначена утилита mv (сокращение от англ. «move» — «перемещать»). У mv два обязательных параметра: первый — перемещаемый файл или каталог, второй — файл или каталог назначения. Имена файлов и каталогов могут быть заданы в любом допустимом виде: при помощи полного или относительного пути. Кроме того, mv позволяет перемещать не только один файл или каталог, а сразу несколько. За подробностями о допустимых параметрах и ключах следует обратиться к руководству по mv.

[methody@localhost methody]$ mv -- -filename-with- examples/
[methody@localhost methody]$ cd examples
[methody@localhost examples]$ mv ../text .
[methody@localhost examples]$ ls
-filename-with-  text
[methody@localhost examples]$

Пример 10. Перемещение файлов

Мефодий сначала переместил в каталог «examples» файл «-filename-with-», поскольку имя этого файла начинается с «-», ему потребовалось предварить его ключом «--», чтобы следующее слово было воспринято комадной оболочкой как параметр (этот приём был описан в лекции Терминал и командная строка). Затем он перешёл в каталог «examples» и переместил из родительского каталога («../») файл «text» в текущий каталог («.»). Теперь в каталоге «examples» два файла с примерами.

Перемещение файла внутри одной файловой системы в действительности равнозначно его переименованию: данные самого файла при этом остаются на тех же секторах диска, изменяются каталоги, в которых произошло перемещение. Перемещение предполагает удаление ссылки на файл из того каталога, откуда он перемещён, и добавление ссылки на этот самый файл в тот каталог, куда он перемещён. В результате изменяется полное имя файла — полный путь, т. е. положение файла в файловой системе.

Иногда требуется создать копию файла: для большей сохранности данных, для того, чтобы создать модифицированную версию файла и т. п. В Linux для этого предназначена утилита cp (сокращение от англ. «copy» — «копировать»). Утилита cp требует присутствия двух обязательных параметров: первый — копируемый файл или каталог, второй — файл или каталог назначения. Как обычно, в именах файлов и каталогов можно использовать полные и относительные пути. Есть несколько возможностей при комбинации файлов и каталогов в параметрах cp — о них можно прочесть в руководстве.

[methody@localhost examples]$ cp text text.bak
[methody@localhost examples]$ ls
-filename-with-  text  text.bak

Пример 11. Копирование файлов

Мефодий решил создать резервную копию файла «text», «text.bak» в том же каталоге, что и исходный файл. Для этой простейшей операции копирования достаточно передать cp в качестве двух параметров имя исходного файла и имя копии. По умолчанию cp, как и многие другие утилиты, будет работать с файлами в текущем каталоге.

Нужно иметь в виду, что в Linux утилита cp нередко настроена таким образом, что при попытке скопировать файл поверх уже существующего не выводится никакого предупреждения. В этом случае файл будет просто перезаписан, а данные, которые содержались в старой версии файла, бесповоротно потеряны. Поэтому при использовании cp следует всегда быть внимательным и проверять имена файлов, которые нужно скопировать.

Говоря о копировании, уместно вспомнить широко известное высказывание, приписываемое Уильяму Оккаму: «Не следует умножать сущности сверх необходимого». Созданная при помощи cp копия файла связана с оригиналом только в воспоминаниях пользователя, в файловой системе исходный файл и его копия — две совершенно независимые и ничем не связанные единицы. Поэтому при наличии нескольких копий одного и того же файла в рамках одной файловой системы повышается вероятность запутаться в копиях или забыть о некоторых из них. Если задача состоит в том, чтобы обеспечить доступ к одному и тому же файлу из разных точек файловой системы, нужно использовать специально предназначенный для этого механизм файловой системы Linux — ссылки.

Перекрёстные ссылки книги для Копирование и перемещение файлов

  • Создание каталогов
  • Вверх
  • Файл и его имена: ссылки

Book navigation

  • Предисловие
  • Сеанс работы в Linux
  • Терминал и командная строка
  • Структура файловой системы
  • Работа с файловой системой
    • Текущий каталог
    • Домашний каталог
    • Информация о каталоге
    • Перемещение по дереву каталогов
    • Создание каталогов
    • Копирование и перемещение файлов
    • Файл и его имена: ссылки
    • Удаление файлов и каталогов
  • Доступ процессов к файлам и каталогам
  • Права доступа
  • Работа с текстовыми данными
  • Возможности командной оболочки
  • Текстовые редакторы
  • Этапы загрузки системы
  • Работа с внешними устройствами
  • Конфигурационные файлы
  • Управление пакетами
  • Сеть TCP/IP в Linux
  • Сетевые и серверные возможности
  • Графический интерфейс (X11)
  • Прикладные программы
  • Политика свободного лицензирования

Последние материалы

  • Приложение scanimage
    1 day ago
  • Утилита sensors
    5 days ago
  • Сканер Rkhunter
    1 week 5 days ago
  • Программа resize2fs
    2 weeks 3 days ago
  • Аудиопроигрыватель QMMP
    3 weeks 2 days ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru