Я обновил свой Ubuntu до версии 13.04. После этого обновления я не могу выполнять c программы в терминале. Когда я пытаюсь выполнить, он показывает ошибку, как показано ниже
bash: ./cd: Permission denied
, где cd - мой исполняемый файл, который отлично работает в более низких версиях ubuntu.
Сначала вы должны знать, каковы разрешения.
Чтобы узнать разрешения, введите приведенный ниже код в своем терминале.
ls -lh
или
ls -l
, тогда он покажет права доступа ко всем файлам, как показано ниже. выберите права доступа к файлу.
-rw-r - r--
Вы должны разделить их на 4 части.
parts: 1 2 3 4
+--------------------------------+
| - | r w - | r - x | - - - | (r: Read, w: Write, x: Executable, -: No perm)
+--------------------------------+
perm: ROOT USER GROUP
Вы получаете сообщение об ошибке «Отказано в доступе». «cd» - ваш исполняемый файл. Требуется разрешение на выполнение (x).
Чтобы изменить права доступа к файлу:
В вашем случае у вас может не быть исполняемого разрешения. для этой попытки ниже caode
chmode +x <filename> (eg: chmode +x cd //here cd is your filename)
вы также можете назначить другие разрешения, заменив «x» на «r» (чтение) или «w» (запись).
для повторной проверки используйте
ls -l (or) ls -lh.
Примечание. Если «chmod» возвращает ошибку, например «операция не разрешена», попробуйте
sudo chmod +x <filename> (eg: sudo chmod +x cd)
для получения дополнительной информации о разрешениях:
man chmod
Убедитесь, что ваш cd
действительно выполняется с помощью следующей команды:
chmod +x cd
Мне кажется, что вы пытаетесь выполнить встроенные команды в терминале (например, «cd»). Вместо того, чтобы вводить перед ними «./», вызывайте их просто как «cd» из командной строки.
Возможно, я неправильно понимаю ваш запрос, но, надеюсь, это сработает. В противном случае следуйте одному из приведенных выше ответов, который включает назначение исполняемого бита файлу и попробуйте запустить его таким образом.