Оболочка отвечает за расширение подстановочных знаков, таких как *
, перед передачей командной строки на mv
и делает это напрямую, основываясь исключительно на том, какие файлы / каталоги существуют, не зная, что это за программа или что она может хочу сделать с этими именами. Таким образом, в этом случае ../*
раскрывается для каждого имени файла / каталога в родительском каталоге, включая текущий каталог <имя каталога> . Затем mv
просматривает список полученных аргументов, пытаясь переместить все, кроме последнего, в последний, что приводит к появившейся ошибке.