Поиск по сайту:
Нет рабства более позорного, чем рабство духа (Сенека Старший).

Linux переименовать файл, начинающийся с дефиса (тире)

28.04.2022
Linux переименовать файл, начинающийся с дефиса (тире)

При именовании файла общепринятой и рекомендуемой практикой является не начинать и не заканчивать имя файла дефисом (тире), пробелом, подчеркиванием и точкой (точкой). Однако иногда вы можете по ошибке начать имя файла с дефиса. Хотя это нормально, но такое наименование может быть немного проблематичным, так как параметры (переключатели) почти всех команд Linux начинаются с дефиса. В этом случае, если вы передадите это имя файла, начинающееся с тире, команде Linux, оно будет рассматриваться как параметр команды (переключатель) и, скорее всего, завершится ошибкой. Наиболее распространенная проблема возникает, когда вы пытаетесь переименовать этот файл, чтобы убрать прочерк. Однако это больше не будет для вас проблемой, так как мы собираемся показать вам, как переименовать файл, начинающийся с дефиса, в ОС Linux.

Примечание
Показанный здесь метод был протестирован на Ubuntu 20.04 LTS. Однако этому можно следовать в любом другом дистрибутиве Linux.

 

Давайте сначала покажем вам, что происходит, когда вы переименовываете файл, начинающийся с дефиса. Вывод ниже показывает, что команда mv (rename) обрабатывает аргумент, не являющийся параметром (имя файла «-doc»), как параметр команды и выдает ошибку “invalid option”.

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

$ ls -- -*

 

Переименовать файл, начинающийся с тире

Есть два способа переименовать файл, который начинается с дефиса. Давайте обсудим их обоих.

Читать  Как показать номера строк в Vim

 

Способ 1

Чтобы переименовать файл, начинающийся с тире, добавьте «./» к имени файла, где «.» указывает текущий каталог терминала, а «/» указывает, что имя указывает на файл в текущем каталоге. Цель «./» перед именем файла — скрыть тире от команды.

Например, чтобы переименовать файл с именем «-doc» внутри текущего каталога в «mydoc», команда будет выглядеть так:

$ sudo mv ./-doc mydoc

 

Эта команда переименует файл в «mydoc».

Если файл для переименования находится в другом каталоге, укажите путь к файлу. Например, чтобы переименовать файл «-doc», расположенный в каталоге ~/Documents, в «mydoc», команда будет выглядеть так:

$ sudo mv ~/Documents/-doc ~/Documents/mydoc

Способ 2

Другой способ переименовать файл, начинающийся с тире, — использовать двойное тире «–» перед именем файла. «-» используется в командах Linux для обозначения конца опций и отключения дальнейшей обработки опций. После «-» ничего не принимается как вариант. Это делается для прекращения обработки опциона. В противном случае команда будет рассматривать аргумент, не являющийся параметром, как параметры (флаги) и завершится ошибкой. Поэтому вам нужно будет использовать «-», когда аргумент, не являющийся опцией, начинается с дефиса.

Чтобы переименовать файл «-doc» в «mydoc», используйте «-» перед именем файла следующим образом:

$ sudo mv ---doc mydoc

 

Это переименует файл в «mydoc».

Вот и все. В этом посте мы показали вам два способа переименовать файл, начинающийся с дефиса в Linux. Чтобы узнать больше о команде mv (переместить и переименовать), посетите ее справочную страницу.

Читать  Bash для начинающих. Использование функций в Bash

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

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

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


Рекомендуемое
Строки являются универсальным типом данных и наиболее часто используются при…

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: