Давайте сначала покажем вам, что происходит, когда вы переименовываете файл, начинающийся с дефиса. Вывод ниже показывает, что команда mv (rename) обрабатывает аргумент, не являющийся параметром (имя файла «-doc»), как параметр команды и выдает ошибку “invalid option”.
Чтобы просмотреть все файлы, начинающиеся с тире в текущем каталоге, используйте команду ниже:
$ ls -- -*
Есть два способа переименовать файл, который начинается с дефиса. Давайте обсудим их обоих.
Способ 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 (переместить и переименовать), посетите ее справочную страницу.
Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!
Спасибо! Ваша заявка принята
Спасибо! Ваша заявка принята