1

Это действительно странная ошибка, я не могу понять это. По сути, такие команды, как ls могут видеть все файлы в текущем каталоге, однако, когда я иду, чтобы выполнить файл, он выдаст ошибки, такие как "файл не найден", даже если это наиболее очевидно.

альтернативный текст

Если вы посмотрите на мою историю команд на скриншоте, вы увидите, что я могу ls в каталог и посмотреть его содержимое. Когда я пытаюсь запустить файл, я получаю сообщение об ошибке "нет такого файла или каталога".

Однако, если я набираю просто «vm», я не могу использовать завершение табуляции, чтобы завершить имя каталога, и моя третья команда - я набираю «vm» и нажимаю вкладку « tab», вместо подкаталога в нем перечисляется набор специфичных для vmware инструментов. название. Я могу тогда ls увидеть мое текущее содержимое каталога, и он будет список только одного подкаталога. Однако затем я попытался использовать полный путь к файлу от root для запуска файла, но безрезультатно. Если у кого-то есть понимание, это будет высоко ценится.

К вашему сведению, это Ubuntu Server 10.04 внутри рабочей станции VMWare.

2 ответа2

3

Тот факт, что имя файла указано красным цветом, говорит о том, что это скорее всего неработающая символическая ссылка.

Если вы выполните ls -l vmware-tools-distrib/vmware-install.pl вы, вероятно, увидите что-то вроде:

lrwxrwxrwx 1 user group   10 2010-09-10 10:19 vmware-install.pl -> non-existent-target
0

Когда вы пытаетесь выполнить команду, bash ищет эту команду в PATH. Текущий рабочий каталог обычно не включается в PATH по соображениям безопасности (чтобы избежать атак троянских коней). Чтобы выполнить команду в текущем каталоге, перед ее именем следует ./ , например,

./vmstat

РЕДАКТИРОВАТЬ: не берите в голову - не читал вопрос внимательно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .