Команда Linux mv: перемещение и переименование файлов

LinuxBeginner
Практиковаться сейчас

Введение

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

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

Изучение директории проекта

Начнем с изучения содержимого нашей проектной директории.

  1. Откройте терминал. По умолчанию вы должны находиться в директории /home/labex/project. Чтобы подтвердить это, вы можете использовать команду pwd, которую вы изучили ранее. Она отобразит ваш текущий рабочий каталог.

  2. Используйте команду ls, чтобы вывести список содержимого текущей директории:

ls

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

index.html  styles.css  script.js  utils.js  images

Не беспокойтесь, если вы увидите дополнительные файлы или если некоторые из них будут отсутствовать. Главное — понять, какие файлы и папки присутствуют в вашей рабочей среде.

Перемещение файла

Теперь давайте переместим файл, чтобы лучше организовать структуру нашего проекта. Мы переместим файл styles.css в новую директорию под названием css.

  1. Сначала нам нужно создать директорию css. Используйте команду mkdir, с которой вы уже знакомы:
mkdir css

Эта команда создает новую папку с именем css в вашем текущем местоположении.

  1. Теперь воспользуемся командой mv, чтобы переместить styles.css в директорию css:
mv styles.css css/

Разберем эту команду:

  • mv — это команда, которую мы используем для перемещения файлов.
  • styles.css — это исходный файл, который мы хотим переместить.
  • css/ — это целевая директория, куда мы перемещаем файл.

Косая черта (слэш) после css указывает на то, что это директория. Использование слэша необязательно, но оно помогает явно указать, что мы перемещаем файл именно внутрь папки.

  1. Чтобы убедиться, что файл был перемещен, мы можем снова использовать команду ls, на этот раз заглянув внутрь директории css:
ls css

В выводе вы должны увидеть styles.css. Если вы его не видите, не волнуйтесь — мы проверим это на этапе верификации.

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

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

  1. Давайте переименуем index.html в home.html. Мы снова воспользуемся командой mv, но на этот раз и источник, и цель будут находиться в одной и той же директории:
mv index.html home.html

В этой команде:

  • index.html — текущее имя файла (источник).
  • home.html — новое имя, которое мы хотим дать файлу (цель).

Когда источник и цель находятся в одной директории, mv понимает, что мы хотим именно переименовать файл, а не переместить его.

  1. Чтобы проверить изменения, используйте команду ls:
ls

Вы должны увидеть home.html в списке, а index.html больше не должен там присутствовать. Если присутствуют оба файла или вы видите только index.html, не переживайте — наш шаг проверки поможет это проконтролировать.

Перемещение нескольких файлов

Часто возникает необходимость переместить несколько файлов одновременно. Давайте упорядочим наши JavaScript-файлы, переместив их в директорию scripts.

  1. Сначала создайте новую директорию для скриптов с помощью команды mkdir:
mkdir scripts
  1. Теперь мы воспользуемся командой mv, чтобы переместить все файлы с расширением .js в директорию scripts:
mv *.js scripts/

Разберем эту команду:

  • mv — наша команда для перемещения.
  • *.js — это шаблон, который соответствует всем файлам, заканчивающимся на .js. Символ * является подстановочным знаком (wildcard), который означает «любая последовательность символов».
  • scripts/ — наша целевая директория.

Эта команда переместит все файлы JavaScript (файлы, заканчивающиеся на .js) в папку scripts.

  1. Чтобы проверить результат, используйте команду ls для просмотра содержимого директории scripts:
ls scripts

Вы должны увидеть список всех файлов JavaScript. Если вы не видите файлов или некоторые файлы .js все еще находятся в основной директории проекта, не волнуйтесь — наши шаги проверки помогут это исправить.

Использование опции -i для безопасного перемещения

При перемещении файлов рекомендуется использовать опцию -i, чтобы предотвратить случайную перезапись. Опция -i означает «interactive» (интерактивный режим) и будет запрашивать подтверждение перед перезаписью существующего файла.

  1. Давайте создадим тестовый файл для эксперимента. Для этого мы воспользуемся новой командой echo. Не обязательно вникать во все детали работы echo — мы просто используем её для создания файла с некоторым содержимым:

    echo "Test content" > test.txt
    

    Эта команда создает новый файл с именем test.txt и текстом "Test content" внутри.

    Убедитесь, что файл home.html существует, прежде чем запускать следующую команду. Проверить это можно так:

    ls home.html
    

    Если его нет, создайте его следующей командой:

    echo "Home page" > home.html
    
  2. Теперь попробуем переместить этот файл так, чтобы перезаписать существующий файл, используя опцию -i:

    mv -i test.txt home.html
    
  3. Вы увидите сообщение, похожее на это:

    mv: overwrite 'home.html'?
    

Система спрашивает, действительно ли вы хотите перезаписать существующий файл home.html файлом test.txt. Введите n и нажмите Enter, чтобы отменить операцию.

Опция -i очень полезна, когда вы не уверены, можете ли вы случайно перезаписать важные данные. Она дает вам шанс передумать перед внесением изменений.

Резюме

В этой лабораторной работе вы научились использовать команду mv для организации файлов в проекте веб-разработки. Вы попрактиковались в перемещении и переименовании файлов, работе с несколькими файлами одновременно и использовании опции -i для безопасного выполнения операций.

Вот некоторые дополнительные опции команды mv, которые не рассматривались в этой работе:

  • -f: Принудительное перемещение без запроса подтверждения.
  • -n: Не перезаписывать уже существующий файл.
  • -v: Подробный режим (verbose), объясняющий каждое выполняемое действие.

Ресурсы