Er is niet één enkel bestandsformaat voor een programma in Ubuntu (of welke Linux-distributie dan ook). Het formaat is afhankelijk van de gebruikte programmeertaal en hoe het programma is gebouwd. Hier zijn enkele mogelijkheden:
* Uitvoerbare bestanden: Dit zijn bestanden die rechtstreeks door het besturingssysteem kunnen worden uitgevoerd. Op Ubuntu (en andere Linux-systemen) hebben deze doorgaans het achtervoegsel `.out` (hoewel dit niet altijd het geval is), of helemaal geen achtervoegsel. Ze zijn vaak in het ELF-formaat (Executable and Linkable Format).
* Broncodebestanden: Dit zijn voor mensen leesbare bestanden die de instructies bevatten die door een programmeur zijn geschreven. De bestandsextensie is afhankelijk van de programmeertaal:
* `.c` (C)
* `.cpp` of `.cc` (C++)
* `.java` (Java)
* `.py` (Python)
* `.go` (Go)
* `.js` (JavaScript - vaak voor Node.js-programma's)
* `.rs` (roest)
*en nog veel meer...
* Gecompileerde objectbestanden: Dit zijn tussenbestanden die tijdens het compilatieproces zijn gemaakt. Ze hebben doorgaans de extensie `.o`.
* Statische bibliotheken: Dit zijn verzamelingen gecompileerde objectbestanden die samen zijn gebundeld. Ze hebben meestal de extensie `.a`.
* Gedeelde bibliotheken (dynamische bibliotheken): Dit zijn ook verzamelingen gecompileerde code, maar dan geladen tijdens runtime. Ze hebben doorgaans de extensie `.so`.
* Scripts: Dit zijn vaak tekstbestanden met opdrachten die door een tolk kunnen worden uitgevoerd (zoals bash-scripts met een `.sh`-extensie, of Python-scripts met een `.py`-extensie).
Kortom, een programma in Ubuntu kan in veel verschillende bestandsformaten bestaan, afhankelijk van het ontwikkelingsstadium en de technologieën die zijn gebruikt om het te maken. Het uitvoerbare bestand zelf, klaar om te worden uitgevoerd, is meestal een ELF-bestand, maar de broncode en de bijbehorende bestanden kunnen veel verschillende extensies hebben. |