Ошибка «No such file or directory» появляется, когда нужный файл отсутствует.
Давайте исключим самое банальное:
1. Файла нет на диске
user@pc1:~$ cat hello.cpp cat: hello.cpp: No such file or directory
Поскольку отсутствует файл hello.cpp , то выводится ошибка
2. Кириллица в названии
Проверьте, что в названии файла буква «с» не написана кириллицей. Например в расширении «.cpp».
3. Неправильный путь
Пример из Python
data_file= open ("../text.txt",'r')
«../» в общем случае говорит о том, что файл будет искаться на 1 директорию выше, чем файл с кодом.
Если файл лежит в директории с кодом, то следует писать:
data_file= open ("./text.txt",'r')
4. Неправильная битность
Вы можете увидеть ту же ошибку, если пытаетесь запустить например 64-битное приложение на 32-битной Windows
5. Более экзотические причины.
Причина ошибки может быть самой разной, в зависимости от приложения, которое вы используете.
Если это как раз тот случай, напишите о нем в комментариях, в будущем это очень поможет другим.
Нашли опечатку или ошибку? Выделите её и нажмите Ctrl+Enter
Помогла ли Вам эта статья?
Ошибка error no such file or directory (Ошибка: нет файла или каталога) возникает на различных устройствах и программах. Разберем возможные решения в некоторых случаях.
В любом случае, в первую очередь обратите внимание на наличие необходимого файла или папки, если он указан в ошибке.
Если ошибка возникает при запуске приложения и после появления ошибки загрузка прекращается, происходет «вылет», вероятно игра или приложение установлена с ошибкой, либо в установочном файле отсутствуют важные компоненты. Если файлы скачаны через торент, проверьте целостность ХЭШа. Для этого кликните на закачку правой кнопкой и нажмите «Пересчитать хэш».

Проверьте, соответствует ли разрядность вашей операционной и запускаемого приложения. К примеру, ошибка no such file or directory появится, если вы запускаете программу, предназначенную для 64-х битных систем в 86-битной Windows.
Так же проверьте, есть ли у выполняемой программы или скрипты все необходимые права на чтение и запись. В windows запустите программу от имени администратора.
При написании программ и скриптов обратите внимание на кириллические символы в пути к файлу или папке.
Эта статья очень обобщенная, но вы наверняка пришли с конкретной ошибкой. Просим вас внести свой вклад в сообщество и напишите свою ошибку error no such file or directory и название программы, в которой она возникает в комментариях ниже. Мы постараемся вам помочь.

Наверняка библиотеки какому-то бинарнику не хватает. Воспользуйтесь ldd, чтобы узнать, какому.
Если ты говоришь, что это скрипт, то сделай:
Там должно быть что-то вроде:
И вот этого «/usr/bin/shell» он, видимо, найти не может.
И вот этого «/usr/bin/shell» он, видимо, найти не может.
самый распространённый случай: виндовый перевод стоки (lfcr) в конце этой первой строки.
это на хостингах всяких обычно бывает, где клиенты в виндовых блокнотах скрипты редактируют. А у топикстартера замена дистрибутива была. Скорее всего пути просто поменялись к интерпретатору.

При обновлении Дебиана меняются пути к интерпретаторам? Если только ТС что-то своё устанавливал.

Тебя по фотографии не лечили никогда?
Может скрипт запускается, в процессе пытается запустить что-то не существующее и на этом завершает работу.
Всем спасибо, особенно xsectorx, за мысль о «file». До меня доперло лишь сейчас, что мой скрипт работает, а сам бинарник собран под старое ядро. Хотя ошибка «файл не существует» несколько не на те мысли наводит. Придется скачать/собрать новый ADB.
Уберите пробелы в названиях папок и файлов.

сам бинарник собран под старое ядро. Хотя ошибка «файл не существует» несколько не на те мысли наводит.
ну а что ей писать, если нет нужного файла?

Уберите пробелы в названиях папок и файлов.
Источник
Содержание
- «No such file or directory» error when executing a binary
- 8 Answers 8
- Not the answer you’re looking for? Browse other questions tagged linux or ask your own question.
- Linked
- Related
- Hot Network Questions
- Subscribe to RSS
- Try to run the following command
- Исправление ошибок Linux
- Решение проблем Linux
- Проблемы с командами в терминале
- Проблемы в программах
- Проблемы с драйверами и ядром
- Проблемы с графической оболочкой
- Проблемы с диском и файловой системой
- Выводы
- No such file or directory при выполнении элементарного скрипта
- 1 ответ 1
- Всё ещё ищете ответ? Посмотрите другие вопросы с метками ubuntu bash или задайте свой вопрос.
- Связанные
- Похожие
- Подписаться на ленту
«No such file or directory» error when executing a binary
I was installing a binary Linux application on Ubuntu 9.10 x86_64. The app shipped with an old version of gzip (1.2.4), that was compiled for a much older kernel:
I wasn’t able to execute this program. If I tried, this happened:
ldd was similarly unhappy with this binary:
I’m curious: What’s the most likely source of this problem? A corrupted file? Or a binary incompatibility due to being built for a much older ?
8 Answers 8
I was missing the /lib/ld-linux.so.2 file, which is needed to run 32-bit apps. The Ubuntu package that has this file is libc6-i386.
Old question, but hopefully this’ll help someone else.
In my case I was using a toolchain on Ubuntu 12.04 that was built on Ubuntu 10.04 (requires GCC 4.1 to build). As most of the libraries have moved to multiarch dirs, it couldn’t find ld.so. So, make a symlink for it.
Check required path:
If you’re on 32bit, it’ll be i386-linux-gnu and not x86_64-linux-gnu.
You get this error when you try to run a 32-bit build on your 64-bit Linux.
Also contrast what file had to say on the binary you tried (ie: 32-bit) with what you get for your /bin/gzip :
which is what I get on Ubuntu 9.10 for amd64 aka x86_64.
Edit: Your expanded post shows that as the readelf output also reflects a 32-bit build.
I think you’re x86-64 install does not have the i386 runtime linker. The ENOENT is probably due to the OS looking for something like /lib/ld.so.1 or similar. This is typically part of the 32-bit glibc runtime, and while I’m not directly familiar with Ubuntu, I would assume they have some sort of 32-bit compatibility package to install. Fortunately gzip only depends on the C library, so that’s probably all you’ll need to install.

I also had problems because my program interpreter was /lib/ld-linux.so.2 however it was on an embedded device, so I solved the problem by asking gcc to use ls-uClibc instead as follows:
Well another possible cause of this can be simple line break at end of each line and shebang line If you have been coding in windows IDE its possible that windows has added its own line break at the end of each line and when you try to run it on linux the line break cause problems
Not the answer you’re looking for? Browse other questions tagged linux or ask your own question.
Linked
Hot Network Questions
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.10.29.40598
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Источник
Здравствуйте, уважаемые. Скачал btsync (у меня arm, по ссылке Linux ARM тут), положил в /usr/bin и не могу запустить:
Как так и что с этим делать?
P.S. Тоже самое происходит, если переместить исполняемый файл, например, в домашний каталог.
P.S.S. Debian Jessie, вот такая железка.

chmod +x точно не поможет?


apparmor, selinux, noexec?

такое бывает когда исполняемый файл например предназначенный для 32 битной архитектуры пытаются запустить в 64-битной системе



В общем, похоже-таки несовместимость архитектур. Придётся пересобирать из исходников. Источник: http://otvety.google.ru/otvety/thread?tid=1e74bf1617bdb4b6



Try to run the following command
I had the same issue on Cubieboard.
Try to run the following command:

На Debian 7.6.0 (Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux) столкнулся с той же проблемой. Для запуска 32-битного приложения может потребоваться пакет ia32-libs-i386. Дебиан по умолчанию не дает его установить из-за зависимостей. Решается таким образом:
Источник
Исправление ошибок Linux
Каждый пользователь, рано или поздно сталкивается с определенными проблемами в своей операционной системе Linux. Это может быть просто неправильное использование команд или их непонимание, так и такие серьезные ошибки Linux, как отсутствие драйверов, неработоспособность сервисов зависание системы и так далее.
Эта статья ориентирована в первую очередь на новичков, которые не знают, что делать когда их будут поджидать проблемы linux, мы дадим общую концепцию и попытаемся показать в какую сторону двигаться дальше. Мы рассмотрим исправление ошибок в linux как простых, так и более сложных. Но давайте сначала определим, какие проблемы linux будем рассматривать, разобьем их на категории:
Все это мы рассмотрим ниже, но сначала общее введение и немного теории.
Решение проблем Linux
Linux очень сильно отличается от WIndows, это заметно также при возникновении проблем Linux. Вот допустим, произошла ошибка в программе Windows, она полностью закрывается или выдает непонятное число с кодом ошибки и все, вы можете только догадываться или использовать поиск Google, чтобы понять что произошло. Но в Linux все совсем по-другому. Здесь каждая программа создает лог файлы, в которых мы можем при достаточном знании английского или даже без него, выяснить, что произошло. Более того, если программу запускать из терминала, то все ошибки linux и предупреждения мы увидим прямо в окне терминала. и сразу можно понять что нужно делать.
Причем вы сможете понять что произошло, даже не зная английского. Главным признаком ошибки есть слово ERROR (ошибка) или WARNING (предупреждение). Рассмотрим самые частые сообщения об ошибках:
Сообщения об ошибках, кроме терминала, мы можем найти в различных лог файлах, все они находятся в папке /var/log, мы рассматривали за какие программы отвечают определенные файлы в статье просмотр логов linux. Теперь же мы подробнее рассмотрим где и что искать если linux выдает ошибку.
Проблемы с командами в терминале
Обычно проблемы с командами в терминале возникают не из-за ошибки linux или потому, что разработчики что-то недоработали, а потому, что вы ввели что-то неправильно или предали не те что нужно опции.
Если были переданы не те опции, то, скорее всего, программа покажет вам справку, ознакомившись с которой вы сможете очень быстро понять в чем проблема. Также справку выдают множество команд если их запустить без параметров.
Если файла, которого вы передали в параметрах не существует, то вам будет об этом сказано соответствующим сообщением. Сообщения могут быть и более специфичные, в зависимости от ошибки, но в конце концов, вы можете воспользоваться переводчиком Google, чтобы понять смысл того, что хочет система.
Очень распространенной среди новичков ошибкой, есть no such file or directory при попытке выполнить файл, скачанный из интернета. Сразу кажется что это бред, ведь файл существует, но на самом деле оболочка ищет только файлы с флагом исполняемый, а поэтому пока вы не установите этот флаг для файла, он для оболочки существовать не будет.
Проблемы в программах
Если ни с того ни с сего закрывается или не так, как требуется работает, какая-нибудь графическая программа, решение проблем linux начинается из запуска ее через терминал. Для этого просто введите исполняемый файл программы и нажмите Enter. Обычно достаточно начать вводить имя программы с маленькой буквы и использовать автодополнение для завершения ввода названия.
Многие ошибки системы linux, связанные с графической оболочкой вы можете найти в файле
/.xsession-errors в вашей домашней директории. Если оболочка работает медленно, зависает или не работают другие программы, но в других логах причин этому нет, возможно, ответ находится именно в этом файле.
Также ошибки linux могут возникать не только в обычных программах но и в работающих в фоне сервисах. Но их тоже можно решить, чтобы посмотреть сообщения, генерируемые сервисом, запущенным с помощью systemd, просто наберите команду просмотра состояния сервиса:
$ sudo systemctl status имя_сервиса
Дальше вы знаете, что делать с этой ошибкой, главное что у вас есть зацепка, а дальше все можно решить, ну или почти все.
Здесь, как и всегда большинство ошибок связано с тем, что что-то не установлено, какого-то файла нет или к чему-то невозможно получить доступ, тогда решение проблем linux не вызовет много забот.
Проблемы с драйверами и ядром
Проблемы с драйверами, модулями ядра или прошивками могут вызвать много неприятностей во время загрузки системы. Это может быть просто медленная загрузка системы, неработоспособность определенных устройств неправильная работа видео или полная невозможность запустить графическую подсистему. Исправление ошибок Linux начинается с просмотра логов.
Вы можете посмотреть все сообщения ядра с момента начала загрузки, выполнив команду чтобы узнать какую linux выдает ошибку:
Чтобы иметь возможность удобно листать вывод можно выполнить:
Или сразу выбрать все ошибки:
sudo dmesg | grep error
Дальше будет очень просто понять какого драйвера не хватает, что система не может загрузить или что нужно установить. Если возникает ошибка ввода-вывода linux, то, скорее всего, драйвер несовместим с вашим устройством, в таком случае, может помочь обновление ядра, чтобы получить самую новую версию драйвера. В некоторых случаях ядро может само предложить вариант решения проблемы прямо в сообщении об ошибке вплоть до того какую команду выполнить или какой файл скачать. Если же нет, вы все еще можете воспользоваться поиском для решения своей проблемы linux.
Проблемы с графической оболочкой
Когда проблемы linux касаются графической оболочки, то решить их новичкам не так уж просто. Больше всего потому что доступен только терминал. Графическая оболочка может просто зависнуть или вовсе не запускаться, например, после обновления.
При проблемах с графической оболочкой вы можете всегда переключиться в режим терминала с помощью сочетания клавиш Ctrl+Alt+F1. Далее, вам нужно ввести логин и пароль, затем можете вводить команды терминала.
Посмотреть логи графической оболочки вы можете в том же файле
Если проблема наблюдается после обновления до новой версии, то можно очистить кеш и удалить папку с настройками, обычно это помогает.
Проблемы с диском и файловой системой
Если это случилось, вам, скорее всего, придется переключиться в режим терминала и удалить несколько файлов. Вы можете удалять файлы логов или кэша пакетного менеджера. Много файлов удалять не нужно, достаточно освободить несколько мегабайт, чтобы прекратились ошибки системы linux и нормально работала графическая оболочка, а затем уже в ней решать все проблемы linux.
Выводы
Теперь исправление ошибок Linux будет для вас немного проще. Ошибки системы linux довольно сложная тема и этой информации явно мало, если у вас остались вопросы или есть предложения по улучшению статьи пишите в комментариях!
Источник
No such file or directory при выполнении элементарного скрипта
под root выполняю скрипт fs.sh, находящийся в /var/
Помогите разобраться, почему скриптом не могу попасть в каталог, а если в консоли набрать cd / то прекрасно перехожу.

1 ответ 1
содержимое вашего скрипта:
видно, что строки оканчиваются двумя символами: rn (cr+lf).
а должны заканчиваться одним символом r (cr).
преобразовать файл можно, например, с помощью программы dos2unix (в популярных дистрибутивах операционной системы gnu/linux обычно входит в одноимённый пакет):

Всё ещё ищете ответ? Посмотрите другие вопросы с метками ubuntu bash или задайте свой вопрос.
Связанные
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2022 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2022.10.29.40598
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Источник
Многие ошибки, которые вы встретите при выполнении команд системы Linux, являются результатом неправильных действий с файлами или процессами. Приведем распространенные сообщения об ошибках и разберем их.
No such file or directory
Вероятно, вы пытались получить доступ к несуществующему файлу. Поскольку ввод/вывод в системе Unix не делает различий между файлами и каталогами, это сообщение об ошибке появляется везде. Вы получите его, если попытаетесь выполнить чтение несуществующего файла, или решите перейти в отсутствующий каталог, или попробуете записать файл в несуществующий каталог и так далее.
File exists
В данном случае вы, возможно, пытались создать файл, который уже существует. Это часто бывает, когда вы создаете каталог, имя которого уже занято каким-либо файлом.
Not a directory, Is a directory
Эти сообщения возникают, когда вы пытаетесь использовать файл в качестве каталога или каталог в качестве файла. Например, так:
$ touch a $ touch a/b touch: a/b: Not a directory
Обратите внимание на то, что сообщение об ошибке относится только к части a пути a/b. Когда вы столкнетесь с такой проблемой, вам потребуется время, чтобы отыскать компонент пути, с которым обращаются как с каталогом.
No space left on device
На вашем жестком диске закончилось свободное пространство.
Permission denied
Эта ошибка возникает, когда вы пытаетесь выполнить чтение или запись, указав файл или каталог, к которым вам не разрешен доступ (вы обладаете недостаточными правами). Эта ошибка говорит также о том, что вы пытаетесь запустить файл,для которого не установлен бит выполнения (даже если вы можете читать этот файл). Из раздела 2.17 вы больше узнаете о правах доступа.
Operation not permitted
Обычно такая ошибка возникает, когда вы пытаетесь завершить процесс, владельцем которого не являетесь.
Segmentation fault, Bus error
Суть ошибки сегментации состоит в том, что разработчик программы, которую вы только что запустили, где-то ошибся. Программа пыталась получить доступ к области памяти, к которой ей не разрешено обращаться, в результате операционная система завершила работу программы. Подобно ей, ошибка шины означает, что программа пыталась получить доступ к памяти не должным образом. Если вы получаете одну из этих ошибок, то, вероятно, вы передали на ввод программы какие-либо неожиданные для нее данные.
Каждый пользователь, рано или поздно сталкивается с определенными проблемами в своей операционной системе Linux. Это может быть просто неправильное использование команд или их непонимание, так и такие серьезные ошибки Linux, как отсутствие драйверов, неработоспособность сервисов зависание системы и так далее.
Эта статья ориентирована в первую очередь на новичков, которые не знают, что делать когда их будут поджидать проблемы linux, мы дадим общую концепцию и попытаемся показать в какую сторону двигаться дальше. Мы рассмотрим исправление ошибок в linux как простых, так и более сложных. Но давайте сначала определим, какие проблемы linux будем рассматривать, разобьем их на категории:
- Проблемы с командами в терминале
- Проблемы с программами
- Проблемы с драйверами и ядром
- Проблемы с графической оболочкой
- Проблемы с диском и файловой системой
Все это мы рассмотрим ниже, но сначала общее введение и немного теории.
Linux очень сильно отличается от WIndows, это заметно также при возникновении проблем Linux. Вот допустим, произошла ошибка в программе Windows, она полностью закрывается или выдает непонятное число с кодом ошибки и все, вы можете только догадываться или использовать поиск Google, чтобы понять что произошло. Но в Linux все совсем по-другому. Здесь каждая программа создает лог файлы, в которых мы можем при достаточном знании английского или даже без него, выяснить, что произошло. Более того, если программу запускать из терминала, то все ошибки linux и предупреждения мы увидим прямо в окне терминала. и сразу можно понять что нужно делать.
Причем вы сможете понять что произошло, даже не зная английского. Главным признаком ошибки есть слово ERROR (ошибка) или WARNING (предупреждение). Рассмотрим самые частые сообщения об ошибках:
- Permission Denied — нет доступа, означает что у программы нет полномочий доступа к определенному файлу или ресурсу.
- File or Directory does not exist — файл или каталог не существует
- No such file or Directory — нет такого файла или каталога
- Not Found — Не найдено, файл или ресурс не обнаружен
- Connection Refused — соединение сброшено, значит, что сервис к которому мы должны подключиться не запущен
- is empty — означает, что папка или нужный файл пуст
- Syntax Error — ошибка синтаксиса, обычно значит, что в конфигурационном файле или введенной команде допущена ошибка.
- Fail to load — ошибка загрузки, означает что система не может загрузить определенный ресурс, модуль или библиотеку (fail to load library) обычно также система сообщает почему она не может загрузить, permission denied или no such file и т д.
Сообщения об ошибках, кроме терминала, мы можем найти в различных лог файлах, все они находятся в папке /var/log, мы рассматривали за какие программы отвечают определенные файлы в статье просмотр логов linux. Теперь же мы подробнее рассмотрим где и что искать если linux выдает ошибку.
Проблемы с командами в терминале
Обычно проблемы с командами в терминале возникают не из-за ошибки linux или потому, что разработчики что-то недоработали, а потому, что вы ввели что-то неправильно или предали не те что нужно опции.
Если были переданы не те опции, то, скорее всего, программа покажет вам справку, ознакомившись с которой вы сможете очень быстро понять в чем проблема. Также справку выдают множество команд если их запустить без параметров.
Также довольно частой ошибкой при выполнении команд есть неиспользование команды sudo перед самой командой для предоставления ей прав суперпользователя. В таких случаях вы обычно получаете ошибку Permission Denied или просто уведомление, что не удалось открыть тот или иной файл или ресурс: can not open …, can not read … и так далее.
Если файла, которого вы передали в параметрах не существует, то вам будет об этом сказано соответствующим сообщением. Сообщения могут быть и более специфичные, в зависимости от ошибки, но в конце концов, вы можете воспользоваться переводчиком Google, чтобы понять смысл того, что хочет система.
Очень распространенной среди новичков ошибкой, есть no such file or directory при попытке выполнить файл, скачанный из интернета. Сразу кажется что это бред, ведь файл существует, но на самом деле оболочка ищет только файлы с флагом исполняемый, а поэтому пока вы не установите этот флаг для файла, он для оболочки существовать не будет.
Проблемы в программах
Если ни с того ни с сего закрывается или не так, как требуется работает, какая-нибудь графическая программа, решение проблем linux начинается из запуска ее через терминал. Для этого просто введите исполняемый файл программы и нажмите Enter. Обычно достаточно начать вводить имя программы с маленькой буквы и использовать автодополнение для завершения ввода названия.
В терминале программа, скорее всего, покажет почему она не работает. Также у многих программ поддерживается опция -v или —verbose. Вы можете попробовать использовать эту опцию, если первый запуск в терминале ничего не дал. Далее, когда уже есть сообщение об ошибке, вы можете попытаться исправить его сами, если поняли в чем дело или попытаться найти решение на формуме, скорее всего, другие пользователи уже решили вашу проблему. Но если нет, вы можете создать новую тему и описать там свою ошибку. Но без вывода программы в терминале вам вряд ли помогут.
Многие ошибки системы linux, связанные с графической оболочкой вы можете найти в файле ~/.xsession-errors в вашей домашней директории. Если оболочка работает медленно, зависает или не работают другие программы, но в других логах причин этому нет, возможно, ответ находится именно в этом файле.
Также ошибки linux могут возникать не только в обычных программах но и в работающих в фоне сервисах. Но их тоже можно решить, чтобы посмотреть сообщения, генерируемые сервисом, запущенным с помощью systemd, просто наберите команду просмотра состояния сервиса:
$ sudo systemctl status имя_сервиса
Дальше вы знаете, что делать с этой ошибкой, главное что у вас есть зацепка, а дальше все можно решить, ну или почти все.
Здесь, как и всегда большинство ошибок связано с тем, что что-то не установлено, какого-то файла нет или к чему-то невозможно получить доступ, тогда решение проблем linux не вызовет много забот.
Проблемы с драйверами и ядром
Проблемы с драйверами, модулями ядра или прошивками могут вызвать много неприятностей во время загрузки системы. Это может быть просто медленная загрузка системы, неработоспособность определенных устройств неправильная работа видео или полная невозможность запустить графическую подсистему. Исправление ошибок Linux начинается с просмотра логов.
Вы можете посмотреть все сообщения ядра с момента начала загрузки, выполнив команду чтобы узнать какую linux выдает ошибку:
sudo dmesg
Чтобы иметь возможность удобно листать вывод можно выполнить:
sudo dmesg | less
Или сразу выбрать все ошибки:
sudo dmesg | grep error
Дальше будет очень просто понять какого драйвера не хватает, что система не может загрузить или что нужно установить. Если возникает ошибка ввода-вывода linux, то, скорее всего, драйвер несовместим с вашим устройством, в таком случае, может помочь обновление ядра, чтобы получить самую новую версию драйвера. В некоторых случаях ядро может само предложить вариант решения проблемы прямо в сообщении об ошибке вплоть до того какую команду выполнить или какой файл скачать. Если же нет, вы все еще можете воспользоваться поиском для решения своей проблемы linux.
Проблемы с графической оболочкой
Когда проблемы linux касаются графической оболочки, то решить их новичкам не так уж просто. Больше всего потому что доступен только терминал. Графическая оболочка может просто зависнуть или вовсе не запускаться, например, после обновления.
При проблемах с графической оболочкой вы можете всегда переключиться в режим терминала с помощью сочетания клавиш Ctrl+Alt+F1. Далее, вам нужно ввести логин и пароль, затем можете вводить команды терминала.
Посмотреть логи графической оболочки вы можете в том же файле ~/.xsession-erros.
Если проблема наблюдается после обновления до новой версии, то можно очистить кеш и удалить папку с настройками, обычно это помогает.
Проблемы с диском и файловой системой
Самая частая проблема с диском у новичков — это переполнение диска. Если под диск выделить очень мало места, то он переполнится и система не сможет создавать даже временные файлы, а это приведет к тому что все если не зависнет, то, по крайней мере, не сможет нормально работать.
Если это случилось, вам, скорее всего, придется переключиться в режим терминала и удалить несколько файлов. Вы можете удалять файлы логов или кэша пакетного менеджера. Много файлов удалять не нужно, достаточно освободить несколько мегабайт, чтобы прекратились ошибки системы linux и нормально работала графическая оболочка, а затем уже в ней решать все проблемы linux.
Выводы
Теперь исправление ошибок Linux будет для вас немного проще. Ошибки системы linux довольно сложная тема и этой информации явно мало, если у вас остались вопросы или есть предложения по улучшению статьи пишите в комментариях!

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
I simply want to run an executable from the command line, ./arm-mingw32ce-g++, but then I get the error message,
bash: ./arm-mingw32ce-g++: No such file or directory
I’m running Ubuntu Linux 10.10. ls -l lists
-rwxr-xr-x 1 root root 433308 2010-10-16 21:32 arm-mingw32ce-g++
Using sudo (sudo ./arm-mingw32ce-g++) gives
sudo: unable to execute ./arm-mingw32ce-g++: No such file or directory
I have no idea why the OS can’t even see the file when it’s there. Any thoughts?
asked Oct 16, 2010 at 14:00
![]()
This error can mean that ./arm-mingw32ce-g++ doesn’t exist (but it does), or that it exists and is a dynamically linked executable recognized by the kernel but whose dynamic loader is not available. You can see what dynamic loader is required by running ldd /arm-mingw32ce-g++; anything marked not found is the dynamic loader or a library that you need to install.
If you’re trying to run a 32-bit binary on an amd64 installation:
- Up to Ubuntu 11.04, install the package
ia32-libs. - On Ubuntu 11.10, install
ia32-libs-multiarch. - Starting with 12.04, install
ia32-libs-multiarch, or select a reasonable set of:i386packages in addition to the:amd64packages.
answered Oct 16, 2010 at 14:25
![]()
4
I faced this error when I was trying to build Selenium source on Ubuntu. The simple shell script with correct shebang was not able to run even after I had all pre-requisites covered.
file file-name # helped me in understanding that CRLF ending were present in the file.
I opened the file in Vim and I could see that just because I once edited this file on a Windows machine, it was in DOS format. I converted the file to Unix format with below command:
dos2unix filename # actually helped me and things were fine.
I hope that we should take care whenever we edit files across platforms we should take care for the file formats as well.
![]()
answered Sep 23, 2015 at 9:29
![]()
JitendraJitendra
6766 silver badges10 bronze badges
3
This error may also occur if trying to run a script and the shebang is misspelled. Make sure it reads #!/bin/sh, #!/bin/bash, or whichever interpreter you’re using.
answered Jan 27, 2014 at 20:24
![]()
ZoltánZoltán
20.9k13 gold badges92 silver badges133 bronze badges
3
I had the same error message when trying to run a Python script — this was not @Warpspace’s intended use case (see other comments), but this was among the top hits to my search, so maybe somebody will find it useful.
In my case it was the DOS line endings (rn instead of n) that the shebang line (#!/usr/bin/env python) would trip over. A simple dos2unix myfile.py fixed it.
answered Feb 23, 2015 at 15:50
djlaukdjlauk
2,8591 gold badge13 silver badges12 bronze badges
1
I found my solution for my Ubuntu 18 here.
sudo dpkg --add-architecture i386
Then:
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
answered May 15, 2020 at 15:37
betontalpfabetontalpfa
3,3241 gold badge32 silver badges61 bronze badges
1
I got this error “No such file or directory” but it exists because my file was created in Windows and I tried to run it on Ubuntu and the file contained invalid 15r where ever a new line was there.
I just created a new file truncating unwanted stuff
sleep: invalid time interval ‘15r’
Try 'sleep --help' for more information.
script.sh: 5: script.sh: /opt/ag/cont: not found
script.sh: 6: script.sh: /opt/ag/cont: not found
root@Ubuntu14:/home/abc12/Desktop# vi script.sh
root@Ubuntu14:/home/abc12/Desktop# od -c script.sh
0000000 # ! / u s r / b i n / e n v b
0000020 a s h r n w g e t h t t p : /
0000400 : 4 1 2 0 / r n
0000410
root@Ubuntu14:/home/abc12/Desktop# tr -d \015 < script.sh > script.sh.fixed
root@Ubuntu14:/home/abc12/Desktop# od -c script.sh.fixed
0000000 # ! / u s r / b i n / e n v b
0000020 a s h n w g e t h t t p : / /
0000400 / n
0000402
root@Ubuntu14:/home/abc12/Desktop# sh -x script.sh.fixed
answered Jan 14, 2016 at 15:09
likeGreenlikeGreen
9771 gold badge18 silver badges37 bronze badges
I got the same error for a simple bash script that wouldn’t have 32/64-bit issues. This is possibly because the script you are trying to run has an error in it. This ubuntu forum post indicates that with normal script files you can add sh in front and you might get some debug output from it. e.g.
$ sudo sh arm-mingw32ce-g++
and see if you get any output.
In my case the actual problem was that the file that I was trying to execute was in Windows format rather than Linux.
answered Nov 27, 2013 at 14:58
![]()
icc97icc97
10.6k8 gold badges68 silver badges88 bronze badges
As mentioned by others, this is because the loader can’t be found, not your executable file. Unfortunately the message is not clear enough.
You can fix it by changing the loader that your executable uses, see my thorough answer in this other question: Multiple glibc libraries on a single host
Basically you have to find which loader it’s trying to use:
$ readelf -l arm-mingw32ce-g++ | grep interpreter
[Requesting program interpreter: /lib/ld-linux.so.2]
Then find the right path for an equivalent loader, and change your executable to use the loader from the path that it really is:
$ ./patchelf --set-interpreter /path/to/newglibc/ld-linux.so.2 arm-mingw32ce-g++
You will probably need to set the path of the includes too, you will know if you want it or not after you try to run it. See all the details in that other thread.
answered Jul 11, 2019 at 21:52
msbmsb
3,5303 gold badges28 silver badges38 bronze badges
1
Below command worked on 16.4 Ubuntu
This issue comes when your .sh file is corrupt or not formatted as per unix protocols.
dos2unix converts the .sh file to Unix format!
sudo apt-get install dos2unix -y
dos2unix test.sh
sudo chmod u+x test.sh
sudo ./test.sh
answered Apr 20, 2018 at 9:27
![]()
SoumyaanshSoumyaansh
8,4687 gold badges42 silver badges44 bronze badges
I had the same problem with a file that I’ve created on my mac.
If I try to run it in a shell with ./filename I got the file not found error message.
I think that something was wrong with the file.
what I’ve done:
open a ssh session to the server
cat filename
copy the output to the clipboard
rm filename
touch filename
vi filename
i for insert mode
paste the content from the clipboard
ESC to end insert mode
:wq!
This worked for me.
answered Oct 12, 2014 at 21:44
spacespace
211 bronze badge
1
Added here for future reference (for users who might fall into the same case):
This error happens when working on Windows (which introduces extra characters because of different line separator than Linux system) and trying to run this script (with extra characters inserted) in Linux. The error message is misleading.
In Windows, the line separator is CRLF (rn) whereas in linux it is LF (n). This can be usually be chosen in text editor.
In my case, this happened due to working on Windows and uploading to Unix server for execution.
answered Jan 24, 2020 at 2:54
![]()
PALENPALEN
2,6842 gold badges23 silver badges24 bronze badges
1
I just had this issue in mingw32 bash. I had execuded node/npm from Program Files (x86)nodejs and then moved them into disabled directory (essentially removing them from path). I also had Program Filesnodejs (ie. 64bit version) in path, but only after the x86 version. After restarting the bash shell, the 64bit version of npm could be found. node worked correctly all the time (checked with node -v that changed when x86 version was moved).
I think bash -r would’ve worked instead of restarting bash: https://unix.stackexchange.com/a/5610
answered Jul 15, 2016 at 8:31
Pasi SavolainenPasi Savolainen
2,4501 gold badge22 silver badges35 bronze badges
I had this issue and the reason was EOL in some editors such as Notepad++. You can check it in Edit menu/EOL conversion. Unix(LF) should be selected.
I hope it would be useful.
answered Sep 22, 2019 at 12:04
1
Hit this error trying to run terraform/terragrunt (Single go binary).
Using which terragrunt to find where executable was, got strange error when running it in local dir or with full path
bash: ./terragrunt: No such file or directory
Problem was that there was two installations of terragrunt, used brew uninstall terragrunt to remove one fixed it.
After removing the one, which terragrunt showed the new path /usr/bin/terragrunt everything worked fine.
answered Dec 14, 2020 at 20:46
![]()
PieterPieter
1,81216 silver badges16 bronze badges
For those encountering this error when running a java program, it’s possible that you’re trying to run a 64-bit java program using on a 32-bit linux operating system.
I only realised when I ran ldd on 64-bit java which reported:
ldd /usr/java/jdk1.8.0_05/bin/java
‘not a dynamic executable’
Whereas the old 32 bit java reported sensible results:
ldd /usr/java/jdk1.8.0_05/bin/java
answered Jan 22, 2022 at 7:52
keithphwkeithphw
3801 gold badge4 silver badges14 bronze badges
In my case, it turns out the file was a symlink:
$ cat deluge-gtk.lock
cat: deluge-gtk.lock: No such file or directory
$ file deluge-gtk.lock
deluge-gtk.lock: broken symbolic link to 32309
Misleading errors like this are fairly common on Linux. Related discussion: https://lwn.net/Articles/532771/
answered Nov 2, 2021 at 5:01
NavinNavin
3,4982 gold badges27 silver badges51 bronze badges
Give it a try by changing the name of file or folder which is not showing in terminal/command prompt.
step1 : change the name of file or folder.
step2 : cd filename/foldername
answered Nov 21, 2021 at 19:10
2
For future readers, I had this issue when trying to launch a Django server using gunicorn. I was using AWS CodeBuild to build the virtual environment and run tests and using CodeDeploy to put the built artifacts onto the production server and launch the new version (all environments were Ubuntu 20.04). I had mistakenly thought that env/bin/... contained actual binaries of native libraries but that was not the case. It was just Python scripts with a shebang of the path to the Python interpreter on the build machine. In my case, the machine installing the packages and actually running the packages was different. To be more specific, all of the files in env/bin had the shebang #!/codebuild/output/src715682316/src/env/bin/python, so of course running env/bin/gunicorn on the production server would fail. The cryptic error message was when Ubuntu would tell me that env/bin/gunicorn didn’t exist as opposed to saying /codebuild/output/src715682316/src/env/bin/python didn’t exist. I was able to fix this problem by starting gunicorn using python3 env/bin/gunicorn instead of env/bin/gunicorn.
answered May 22, 2022 at 20:17
Badr BBadr B
7251 gold badge7 silver badges11 bronze badges
In a .sh script, each line MUST end with a single character — newline (LF or «n«).
Don’t make mistakes like me, because my text-editor of choice is Notepad++ in Win.
answered Dec 16, 2022 at 22:20
![]()
Нет такого файла или каталога »означает, что либо исполняемый двоичный файл, либо одна из необходимых ему библиотек не существует. Библиотеки также могут нуждаться в других библиотеках. тогда проблему можно решить, убедившись, что упомянутые библиотеки установлены и находятся в пути поиска библиотек.
3 ответы
- Измените каталог в терминале туда, где фактически находится скрипт Python. Если каталог рабочего стола ~ / Desktop, то cd ~ / Desktop. …
- Переместите файл в свой домашний каталог. …
- Запустите сценарий Python с полным путем из домашнего каталога: python3 ~ / Desktop / myfile.py> myfile.html.
Как решить проблему отсутствия такого файла или каталога?
1 Ответ
- Откройте терминал.
- Перейдите в каталог, в котором находится папка проекта.
- ЗАПУСТИТЬ установку композитора.
Как исправить bash Нет такого файла или каталога?
Чтобы исправить это, попробуйте программа dos2unix если он у вас есть, или см. Преобразование файлов DOS в формат Linux. Обратите внимание, что если вы используете dos2unix, он, вероятно, создаст новый файл и удалит старый, что изменит разрешения, а также может изменить владельца или группу и повлиять на жесткие ссылки.
Что означает отсутствие такого файла или каталога?
Это просто «Нет такой записи в каталоге ». Поскольку записи каталога могут быть каталогами или файлами (или символическими ссылками, или сокетами, или каналами, или устройствами), имя ENOFILE было бы слишком узким по своему значению.
Как изменить каталоги в Linux?
Команды для файлов и каталогов
- Чтобы перейти в корневой каталог, используйте «cd /»
- Чтобы перейти в домашний каталог, используйте «cd» или «cd ~».
- Для перехода на один уровень вверх по каталогу используйте «cd ..»
- Для перехода к предыдущему каталогу (или назад) используйте «cd -»
Команда не найдена в Linux?
Ошибка «Команда не найдена» означает, что команды нет в пути поиска. Когда вы получаете сообщение об ошибке «Команда не найдена», это означает, что компьютер искал везде, где только мог, и не смог найти программу с таким названием. … Если команда установлена в вашей системе, убедитесь, что компьютер знает, где искать.
Как исправить отсутствие такого файла или каталога в Arduino?
zip, вы можете перейти в IDE Arduino и выбрать Sketch> Include Library> Add. ZIP-библиотека … Вам просто нужно перейти туда, где был загружен файл. Он сообщит вам «Библиотека добавлена в ваши библиотеки» чуть выше темной области, где появилась исходная ошибка.
Как исправить отсутствие такого файла или каталога в Python?
У вас есть три варианта:
- Используйте абсолютный путь, чтобы открыть файл: file = open (r’C: pathtoyourfile.yaml ‘)
- Создайте путь к файлу относительно вашего скрипта python: from pathlib import Path script_location = Path (__ file __). Absolute (). Parent file_location = script_location / ‘file.yaml’ file = file_location.
Ошибка каталога bash?
Похоже, что-то пытается выполнить строку «/ home / oracle» как команду bash. Если это происходит при каждом входе в систему, возможно, такая команда была добавлена в. bashrc или. bash_profile, например
Как запустить сценарий bash?
Сделать исполняемый сценарий Bash
- 1) Создайте новый текстовый файл с расширением. sh расширение. …
- 2) Добавьте #! / Bin / bash в начало. Это необходимо для части «сделать его исполняемым».
- 3) Добавьте строки, которые вы обычно вводите в командной строке. …
- 4) В командной строке запустите chmod u + x YourScriptFileName.sh. …
- 5) Запускайте, когда вам нужно!
Что такое каталог в Python?
Каталог или папка набор файлов и подкаталогов. … В Python есть модуль os, который предоставляет нам множество полезных методов для работы с каталогами (а также с файлами).
Как создать каталог в Python?
Метод 1: Использование os. mkdir () для создания каталога в Python
- Создание каталога-2 с помощью mkdir ()
- Создание каталога-1 с помощью mkdir ()
- Создание родительского каталога с помощью makedirs ()
- Создание промежуточного каталога с помощью makedirs ()
- Создание базового каталога с помощью makedirs ()
Background
I think your issue is ultimately because of these permissions on that directory:
drwxr-x--x 16 www-data root 12288 Oct 10 17:08 .
Notice that the owner (www-data) and the group (root) have rwx and r-x respectively. However notice that the other permissions are set to just --x.
This means that you can execute commands in this directory, but you cannot read or perform listings of the contents of this directory.
Your scenario
You’re some other user (not www-data), when you run the sudo command while in this directory. Let’s call this user, UserX.
When the shell invokes this command as UserX:
$ sudo ls *.*
and returns this:
ls: cannot access *.*: No such file or directory
UserX’s shell tried to expand the *.* to any files, but because UserX cannot read any of the contents of this directory it returns nothing. You’re then sending a literal *.* to the sudo ls *.* which fails to match any literal files named *.*.
The same problem occurs when you attempt to perform the grep command too. Again UserX cannot read any of the files and so you’re instructing grep to search for a literal file, *.*, and it’s finding no files by that name. Hence the messages:
cannot access .: No such file or directory
and
.: No such file or directory
Example
Say we have the following setup, like yours.
$ sudo chown nginx.root /tmp/afolder
$ sudo chmod 751 /tmp/afolder/
$ sudo ls -ld /tmp/afolder/
drwxr-x--x 2 nginx root 4096 Nov 23 04:10 /tmp/afolder/
$ sudo touch /tmp/afolder/fakefile.txt
Now let’s become «UserX», in my case it’s saml:
$ id
uid=500(saml) gid=501(saml) groups=501(saml)
I can cd into the directory:
$ pwd
/tmp/afolder
But when I attempt to list the files in this directory:
$ ls *
ls: cannot access *: No such file or directory
Same problems with sudo:
$ sudo ls -l *.*
ls: cannot access *.*: No such file or directory
Invoking a shell and protecting the expansion of the * with single quotes can get what you want:
$ sudo bash -c 'ls -l *.*'
-rw-r--r-- 1 root root 0 Nov 23 04:14 fakefile.txt
Background
I think your issue is ultimately because of these permissions on that directory:
drwxr-x--x 16 www-data root 12288 Oct 10 17:08 .
Notice that the owner (www-data) and the group (root) have rwx and r-x respectively. However notice that the other permissions are set to just --x.
This means that you can execute commands in this directory, but you cannot read or perform listings of the contents of this directory.
Your scenario
You’re some other user (not www-data), when you run the sudo command while in this directory. Let’s call this user, UserX.
When the shell invokes this command as UserX:
$ sudo ls *.*
and returns this:
ls: cannot access *.*: No such file or directory
UserX’s shell tried to expand the *.* to any files, but because UserX cannot read any of the contents of this directory it returns nothing. You’re then sending a literal *.* to the sudo ls *.* which fails to match any literal files named *.*.
The same problem occurs when you attempt to perform the grep command too. Again UserX cannot read any of the files and so you’re instructing grep to search for a literal file, *.*, and it’s finding no files by that name. Hence the messages:
cannot access .: No such file or directory
and
.: No such file or directory
Example
Say we have the following setup, like yours.
$ sudo chown nginx.root /tmp/afolder
$ sudo chmod 751 /tmp/afolder/
$ sudo ls -ld /tmp/afolder/
drwxr-x--x 2 nginx root 4096 Nov 23 04:10 /tmp/afolder/
$ sudo touch /tmp/afolder/fakefile.txt
Now let’s become «UserX», in my case it’s saml:
$ id
uid=500(saml) gid=501(saml) groups=501(saml)
I can cd into the directory:
$ pwd
/tmp/afolder
But when I attempt to list the files in this directory:
$ ls *
ls: cannot access *: No such file or directory
Same problems with sudo:
$ sudo ls -l *.*
ls: cannot access *.*: No such file or directory
Invoking a shell and protecting the expansion of the * with single quotes can get what you want:
$ sudo bash -c 'ls -l *.*'
-rw-r--r-- 1 root root 0 Nov 23 04:14 fakefile.txt