Vad är filformatet EXEC?
Exekverbara filer för Unix och Unix-liknande system kan sparas med filtillägget .exec. En .exec-fil kan innehålla praktiskt taget vilket program som helst som är körbart på ett givet operativsystem - antingen en kompilerad binärfil (som en ELF-binär på Linux/Unix) eller ett skript i klartext. .exec har sin motsvarighet i form av .exe-filer på Windows-system.
Som regel på Unix-system sparas exekverbara filer utan något filtillägg - suffixet .exec används för att markera exekverbara filer i filhanterare och IDE:er på macOS, Linux eller FreeBSD, för att skilja den körbara utdatan från källkodsfiler.
Förmågan att köra en .exec-fil bestäms av filens rättighetsbitar och dess interna header, inte av filtillägget. Kärnan kontrollerar magic bytes vid offset 0: ELF-binärer börjar med \x7FELF, macOS Mach-O-binärer med FEEDFACE, och skript med #! följt av en sökväg till en tolkar (t.ex. #!/bin/bash för ett .sh-skript).
.exec-filer kan köras från kommandoraden (skal). På macOS är det exekveringsbiten (rättighetsattributet x) som spelar roll - en fil körs korrekt med eller utan filtillägget .exec. Innan du kör en obekant .exec-fil, använd kommandot file för att bekräfta dess faktiska typ.
Säkerhet & trygghet
RISK: HIGHEn exekverbar fil är den mest riskfyllda filtypen att köra från en okänd källa: en .exec körs med dina användarrättigheter och kan läsa, ändra, kryptera eller radera dina filer samt ladda ner mer kod. Innan du kör en fil du inte byggt själv: kör „file file.exec” för att se vad det är, och om det är ett textskript, läs det först. På macOS blockerar Gatekeeper osignerade/onotariserade binärer som standard - den varningen finns där för ditt skydd. Kör aldrig blint „chmod +x” på en fil från ett forum, e-post eller slumpmässig nedladdning. Filtillägget „.exec” ger ingen säkerhet; lita på källan, inte suffixet.
Formatdetaljer
i ett nötskal- Applikation/IDE-exportmarkör - Vissa byggverktyg och appar namnger sina producerade körbara artefakter *.exec rent som en etikett; den verkliga typen under ytan är fortfarande ELF/Mach-O/skript.
Program som öppnar EXEC-filer
Tekniska detaljer
djup specifikation| Kodning | Binär (ELF eller Mach-O kompilerad kod) eller klartext (tolkarskript med shebang) |
| Binärformat på Linux/Unix | ELF (Executable and Linkable Format) - magic bytes 7F 45 4C 46 („\x7FELF”) vid offset 0 |
| Binärformat på macOS | Mach-O - magic FE ED FA CE (32-bitars) eller FE ED FA CF (64-bitars); fat/universal-binärer använder CA FE BA BE |
| Skriptmarkör | Shebang (#!) vid byte-offset 0 följt av sökväg till tolk, t.ex. #!/usr/bin/env python3 - tolkas av kärnan före exekvering |
| MIME-typ | application/x-executable (Linux-binär); application/x-mach-binary (macOS); application/x-shellscript (textskript) |
| Exekveringskontroll | Unix-rättighetsbitar - exekveringsbiten (x) måste vara inställd; själva filtillägget .exec ignoreras av kärnan |
| Målplattform | Linux, macOS, BSD-varianter (FreeBSD, OpenBSD, NetBSD), Solaris och andra Unix-liknande system |
| Byteordning | Little-endian för x86-64 och ARM (mest modern hårdvara); big-endian på äldre RISC Unix-plattformar som SPARC och MIPS |
| Typisk filstorlek | 1 KB (minimalt skalskript) till tiotals MB (statiskt länkad kompilerad binär) |
| Arkitekturkodning | Inbäddad i ELF-fältet e_machine (x86-64 = 0x3E, ARM64 = 0xB7, RISC-V = 0xF3) eller Mach-O-fälten cputype/cpusubtype |
| Kodintegritet | Ingen inneboende kontrollsumma i formatet; macOS stöder kodsignering via verktyget codesign; Linux förlitar sig på externa GPG- eller pakethanterarsignaturer |
| Komprimering | Inte inbyggt i formatet; binärer kan vara UPX-packade eller inbäddade i ett självuppackande skalskript |
| Konvention för filtillägg | Suffixet .exec är informellt - de flesta nativa Unix-exekverbara filer saknar filtillägg; operativsystemet använder magic bytes, inte filnamnet, för att avgöra hur filen ska köras |
| Motsvarighet i Windows | .exe (PE/COFF-format) - filtillägget är obligatoriskt i Windows, till skillnad från .exec som är valfritt i Unix |
| Inspektionskommando | Kommandot file identifierar den faktiska binärtypen (ELF, Mach-O eller skripttolk) oavsett filtillägget .exec |
| Släppt | N/A (extension-less executables predate the .exec label; concept from early Unix) |
| Senaste version | N/A - .exec is a convention, not a versioned format |
| Specifikation | refspecs.linuxfoundation.org |
EXEC-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om EXEC-filer.