Wykonanie pliku w systemie Linux nie jest w ogóle powiązane z nazwą lub rozszerzeniem pliku. Każdy plik może zostać potencjalnie wykonany, pod warunkiem, że jest on obsługiwany przez binfmtmechanizm jądra (i ustawione są jego uprawnienia do wykonywania).
Najpopularniejszym formatem pliku wykonywalnego jest ELF , chociaż niektóre jądra można skompilować w celu obsługi starego a.outformatu. (Aby uzyskać szczegółowe informacje techniczne, binfmt_elf.cgdzie szukać).
Innym powszechnym mechanizmem jest obsługiwany przez system „Shebang”binfmt_script , który szuka #!/path/to/interpreterna początku pliku.
binfmt_miscpozwala na rejestrację innych osób zajmujących się obsługą, jak tu udokumentowano .
Jeśli masz ochotę na trochę programowania jądra, możesz nawet napisać własny .
Chociaż nie jest to bezpośrednio powiązane, filepolecenie powinno powiedzieć, czy plik jest plikiem wykonywalnym ELF, czy czymś innym.
Konwencja nazewnictwa nie ma nic wspólnego ze statusem pliku (z wyjątkiem sytuacji, gdy jest on używany do binfmt_miscrejestracji). To tylko konwencje. Zazwyczaj .exeplik znaleziony w systemie Linux może być aplikacją mono , uzyskując .exerozszerzenie jako konwencję pochodzącą ze świata Windows / .Net.
Innym aspektem, który może się zdarzyć, gdy chcesz „uruchomić” plik, jest posiadanie narzędzia eksploratora plików, którego używasz rozszerzeń rejestrów, aby móc uruchomić program, który otworzy te pliki. To jest to, co by się stało, jeśli podwójne kliknięcie na .txt, .tar.gzlub .deb, na przykład: pliki wykonywalne, ani nie są wykonywane, ale to, czego używasz dwukrotne kliknięcie wybiera, które wykonywalny do uruchomienia, aby otworzyć te pliki.