Логотип

Как переименовать каталоги в Linux

Как переименовать каталоги в Linux

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

В этой статье объясняется, как переименовать каталоги с помощью командной строки.

 

Переименование каталогов

В Linux и Unix-подобных операционных системах вы можете использовать команду mv (без перемещения) для переименования или перемещения файлов и каталогов из одного места в другое.

Синтаксис команды mv для перемещения каталогов следующий:

mv [OPTIONS] source destination

Например, чтобы переименовать каталог dir1 в dir2, вы запустите:

mv dir1 dir2

 

При переименовании каталогов вы должны указать в mvкоманде ровно два аргумента. Первый аргумент — это текущее имя каталога, а второй — новое имя.

Важно отметить, что, если каталог dir2 уже существует, то каталог dir1 перемещается в dir2.

Чтобы переименовать каталог, который не находится в текущем рабочем каталоге, вам нужно указать абсолютный или относительный путь:

mv /home/user/dir1 /home/user/dir2

 

Переименование нескольких каталогов

Переименование одного каталога — простая задача, но переименование нескольких каталогов одновременно может быть проблемой, особенно для новых пользователей Linux.

Переименование нескольких каталогов одновременно редко требуется.

Читать  команда wget удалена из стандартной установки Ubuntu Server 25.10

 

Переименование нескольких каталогов с помощью mv

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

Вот пример, показывающий, как использовать цикл for в Bash для добавления текущей даты к именам всех каталогов в текущем рабочем каталоге:

for d in *; do 
  if [ -d "$d" ]; then
    mv -- "$d" "${d}_$(date +%Y%m%d)"
  fi
done

Давайте проанализируем код построчно:

  • Первая строка создает цикл и перебирает список всех файлов.
  • Вторая строка проверяет, является ли файл каталогом.
  • Третья строка добавляет текущую дату в каждый каталог.

Вот решение той же задачи с использованием mv в сочетании с find:

find . -mindepth 1 -prune -type d -exec sh -c 'd="{}"; mv -- "$d" "${d}_$(date +%Y%m%d)"' \;

Команда find передает все каталоги mv один за другим, используя опцию -exec. Строка {} — это имя каталога, обрабатываемого в данный момент.

Как видно из примеров, переименование нескольких каталогов с помощью mv не является легкой задачей, так как требует хорошего знания сценариев Bash.

 

Переименование нескольких каталогов с помощью rename

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

Существует две версии команды rename с разным синтаксисом. Мы будем использовать версию команды Perl rename. Файлы переименовываются в соответствии с заданным регулярным выражением perl.

Читать  Как запустить многоадресный трафик в Iperf

В следующем примере показано, как заменить пробелы в именах всех каталогов в текущем рабочем каталоге на подчеркивания:

find . -mindepth 1 -prune -type d | rename 'y/ /_/'

 

Чтобы быть в безопасности, передайте опцию -n, чтобы rename печатала имена каталогов, которые будут переименованы, не переименовывая их.

Вот еще один пример, показывающий, как преобразовать имена каталогов в нижний регистр:

find . -mindepth 1 -prune -type d | rename 'y/A-Z/a-z/'

 

Вывод

Мы показали вам, как использовать mvкоманды для переименования каталогов.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Редактор: AndreyEx

Рейтинг: 4.6 (52 голоса)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала