.out - незвичайне розширення. Зазвичай це, як правило, означає "вихід треку".
Перевірте свій синтаксис, який ви використовуєте для складання
напр
gcc myfile.c /usr/lib/libsomelibrary.a -o outputfilename
або можливо
g++ myfile.cpp -lm -o outputfilename
Ви можете перевірити, чи встановлений у файлі виконаний біт
ls -l a.out
або ви можете просто примусити виконуваний біт
chmod +x a.out
тоді ви можете запустити файл
./a.out
або просто
a.out
Ви також можете переконатися, що вихідний файл записаний правильно як двійковий
тобто
file a.out
Це дозволить повідомити, який формат файлу - сценарій або двійковий
Вам рідко потрібно виконувати як root, якщо ви не обмежили, хто повинен мати змогу запускати виконуваний файл.
Якщо ви компілювали як root (наприклад, sudo make), або маєте Makefile, який встановив виконуваний файл як root, то я можу запропонувати вам відновити дозвіл після входу користувача
тобто
sudo chown fred:fred a.out
тобто замініть "fred" своїм ідентифікатором користувача.