Как я могу выполнить c программ в Ubuntu 13.04

Я обновил свой Ubuntu до версии 13.04. После этого обновления я не могу выполнять c программы в терминале. Когда я пытаюсь выполнить, он показывает ошибку, как показано ниже

bash: ./cd: Permission denied

, где cd - мой исполняемый файл, который отлично работает в более низких версиях ubuntu.

-1
задан 30 September 2013 в 18:04

3 ответа

Сначала вы должны знать, каковы разрешения.

Чтобы узнать разрешения, введите приведенный ниже код в своем терминале.

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    
  1. 1-я часть указывает тип файла. «-» означает обычный. «d» означает каталог, «p» для трубы e.t.c ..
  2. 2-я часть указывает права ROOT. В моем примере это «r w -». это означает, что root имеет права на чтение и запись, но не на исполняемые права.
  3. 3-я часть - для разрешений ПОЛЬЗОВАТЕЛЯ. здесь мы можем увидеть "г - х". это означает, что у пользователя есть права на чтение и выполнение, но нет прав на запись.
  4. 4-я часть указывает права доступа 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
0
ответ дан 30 September 2013 в 18:04

Убедитесь, что ваш cd действительно выполняется с помощью следующей команды:

chmod +x cd
0
ответ дан 30 September 2013 в 18:04

Мне кажется, что вы пытаетесь выполнить встроенные команды в терминале (например, «cd»). Вместо того, чтобы вводить перед ними «./», вызывайте их просто как «cd» из командной строки.

Возможно, я неправильно понимаю ваш запрос, но, надеюсь, это сработает. В противном случае следуйте одному из приведенных выше ответов, который включает назначение исполняемого бита файлу и попробуйте запустить его таким образом.

0
ответ дан 30 September 2013 в 18:04

Другие вопросы по тегам:

Похожие вопросы: