Я имею исполняемый файл, но не знаю, каково тип или формат это. Когда я выполняюсь как это
$chmod +x xfile
$./xfile
Это показывает
Permission denied
когда я работаю как суперпользователь
$sudo ./xfile
Это показывает
sudo: ./xfile: command not found
Я плохо знаком с Linux, скажите мне, как выполнить его.
Странно, здесь все работает именно так.
Сначала попытайтесь выяснить, что это за файл:
file xfile
Команда file просматривает файл и, основываясь на некой «магии», пытается выяснить, что делает эта программа. [ 114]
Из того, что вы описываете, я предполагаю, что это исполняемый файл оболочки, который пытается выполнить еще одну программу. Если это так, почему бы вам не опубликовать код исполняемого файла оболочки, используя http://paste.ubuntu.com .
Проблема - это, если файловая система устройства не похожа ext3
или ext4
, (и вероятно это - FAT32 для Вас), файловая система не хранит много метаданных о файлах, включая исполняемый бит.
Когда Вы делаете chmod +x yourfile
, затем ls -la yourfile
, Вы заметите, что исполняемый бит не был на самом деле установлен.
Решение здесь к cp yourfile ~/yourfile; chmod +x ~/yourfile; ~/yourfile
, потому что файловая система, в которой установлен Ваш Linux, имеет исполняемые полномочия.
Была такая же проблема. В моем случае исполняемый файл хранился на другом диске, поэтому chmod + x не работал.
Я скопировал исполняемый файл в каталог Linux (например, Desktop), установил разрешения с помощью chmod + x, запустил исполняемый файл с помощью «./», и это сработало:)