Это символическая ссылка, которая также обозначена буквой l
в первом столбце. Это обычный случай, когда простое имя чего-либо связано с "реальной вещью" с точным номером версии. Все ваши скрипты и команды могут просто ссылаться на /opt/lampp/bin/phpize
. Когда установлена версия 5.5.16 или 5.6, вам просто нужно изменить ссылку (или установщик сделает это за вас).
"Не каталог": как вы упомянули, звездочка указывает, что это исполняемые файлы, а не каталоги. То, что обычно добавляет звездочку для исполняемых файлов, ставит косую черту /
для каталогов. Так что cd
не применим.
Ваша проблема с запуском исполняемого файла в текущем каталоге является распространенной. Короче говоря, если вы укажете только имя, оболочка будет искать ваш PATH. Это распространенная и рекомендуемая практика, чтобы ваш текущий каталог не был в вашей переменной PATH. Итак, что все делают, это просто указывают текущий каталог: ./phpize
Альтернативы, чтобы указать весь путь, как у меня выше. Это, конечно, будет работать независимо от текущего каталога. Или вы можете добавить этот каталог в ваш путь. Если у вас много каталогов только с одним или двумя исполняемыми файлами, которые вы часто используете, это может оказаться громоздким. Таким образом, другое использование символических ссылок - создание ссылок на эти разбросанные исполняемые файлы (ссылки на короткие имена без версий - ссылки могут быть вложенными) и помещение всех этих новых ссылок в один каталог, который вы добавляете в PATH. Так что теперь, когда вы набираете только имя, оболочка с поиском по PATH находит вторичную ссылку, которая переходит на первичную ссылку, находит точный исполняемый файл и запускает его.