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

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/mv("File Moving/Renaming") linux/FileandDirectoryManagementGroup -.-> linux/pwd("Directory Displaying") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/FileandDirectoryManagementGroup -.-> linux/wildcard("Wildcard Character") subgraph Lab Skills linux/echo -.-> lab-209743{{"Команда Linux mv: перемещение и переименование файлов"}} linux/ls -.-> lab-209743{{"Команда Linux mv: перемещение и переименование файлов"}} linux/touch -.-> lab-209743{{"Команда Linux mv: перемещение и переименование файлов"}} linux/mv -.-> lab-209743{{"Команда Linux mv: перемещение и переименование файлов"}} linux/pwd -.-> lab-209743{{"Команда Linux mv: перемещение и переименование файлов"}} linux/mkdir -.-> lab-209743{{"Команда Linux mv: перемещение и переименование файлов"}} linux/wildcard -.-> lab-209743{{"Команда Linux mv: перемещение и переименование файлов"}} end

Исследование директории проекта

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

  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. Символ * - это подстановочный знак, означающий "соответствует любым символам".
  • scripts/ - это наша целевая директория.

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

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

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

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

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

  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: Подробный режим, объясняющий, что выполняется

Ресурсы