Поиск по сайту:

Учебное пособие по командам переименования Linux для начинающих (с примерами)


На этой странице

  1. Команда переименования Linux
  2. Q1. Как использовать команду переименовать?
  3. Вопрос 2. Как rename обрабатывает символические ссылки?
  4. Вопрос 3. Как сделать пробный прогон с переименованием?
  5. Q4. Как rename справляется с перезаписью файлов?
  6. Заключение

Если вы работаете с файлами в командной строке в Linux, переименование файлов является одной из наиболее частых задач, в которых вы можете столкнуться. Мы уже обсуждали команду mv, которая позволяет вам это делать. И здесь, в этом уроке, мы обсудим еще один такой инструмент, получивший название rename.

Но прежде чем мы начнем с этого, стоит упомянуть, что все примеры в этой статье были протестированы на компьютере с Ubuntu 18.04 LTS.

Команда переименования Linux

Как следует из названия, команда rename в Linux позволяет переименовывать файлы. Ниже приведен его синтаксис:

rename [options] expression replacement file...

И вот как это объясняет справочная страница инструментов:

rename will rename the specified files by replacing the first occurrence of expression in their name by replacement.

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

sudo apt install rename

Ниже приведены несколько примеров в стиле вопросов и ответов, которые должны дать вам лучшее представление о том, как работает команда переименования.

Q1. Как использовать команду переименовать?

Должен сказать, что основное использование не совсем прямолинейно, но понять его несложно. Допустим, у вас есть файл с именем test.txt, и вы хотите переименовать его в new.txt. Тогда вот как вы можете использовать команду переименования для этого.

rename 's/test/new/' test.txt

Q2. Как rename обрабатывает символические ссылки?

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

Итак, если symlink.txt — это символическая ссылка, указывающая на root.txt, то следующая команда обеспечит выполнение операции переименования для root.txt:

rename -s 's/root/new/' symlink.txt

Q3. Как сделать пробный прогон с переименованием?

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

rename -n 's/new/test/' new.txt

произвел следующий вывод:

rename(new.txt, test.txt)

но на самом деле не переименовывал new.txt в test.txt.

Q4. Как rename справляется с перезаписью файлов?

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

Например, следующая команда:

rename 's/new/test/' new.txt

произвел следующий вывод:

new.txt not renamed: test.txt already exists

Но когда использовалась команда -f:

rename -f 's/new/test/' new.txt

Операция завершилась гладко, и файл test.txt был перезаписан.

Заключение

Команда rename не предлагает слишком много вариантов, и мы уже обсуждали здесь некоторые из основных. После того, как вы попрактикуетесь в этом, перейдите на справочную страницу инструментов, чтобы узнать больше об этом.