Учебное пособие по командам переименования Linux для начинающих (с примерами)
На этой странице
- Команда переименования Linux
- Q1. Как использовать команду переименовать?
- Вопрос 2. Как rename обрабатывает символические ссылки?
- Вопрос 3. Как сделать пробный прогон с переименованием?
- Q4. Как rename справляется с перезаписью файлов?
- Заключение
Если вы работаете с файлами в командной строке в 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 не предлагает слишком много вариантов, и мы уже обсуждали здесь некоторые из основных. После того, как вы попрактикуетесь в этом, перейдите на справочную страницу инструментов, чтобы узнать больше об этом.