Harting Development

Eine ausführbare Datei unter Linux erstellen

Lukas Fuchs vor 2 Jahren Automatisierung & Scripting 3 Min. Lesezeit

Voraussetzungen für die Ausführung von Dateien unter Linux

Als Unix-ähnliches Betriebssystem verwendet Linux Berechtigungen, um den Zugriff auf Dateien und Verzeichnisse zu kontrollieren. Um eine Datei unter Linux ausführen zu können, musst du über die entsprechenden Zugriffsberechtigungen verfügen. Dieser Abschnitt führt dich durch die wesentlichen Voraussetzungen für die Ausführung von Dateien unter Linux.

Dateirechte verstehen

Jede Datei und jedes Verzeichnis in Linux hat eine Reihe von Berechtigungen, die den Zugriff für drei Benutzergruppen steuern:

  • Besitzer: Der Benutzer, der die Datei erstellt hat
  • Gruppe: Benutzer, die der gleichen Gruppe wie der Eigentümer angehören
  • Andere: Alle anderen Benutzer auf dem System

Diese Berechtigungen werden üblicherweise in einem bestimmten Format dargestellt: -rwxrwxrwx. Jeder Buchstaben stellt eine Berechtigung dar:

  • r (Lesen): Berechtigung zum Lesen des Inhalts der Datei
  • w (Schreiben): Berechtigung zum Ändern des Inhalts der Datei
  • x (Ausführen): Berechtigung zum Ausführen des Inhalts der Datei

Standardberechtigungen von Dateien

Wenn du eine neue Datei erstellst, erhält die Datei standardmäßig die folgenden Berechtigungen:

  • Besitzer: rwx (Lesen, Schreiben, Ausführen)
  • Gruppe: rw (Lesen, Schreiben)
  • Andere: r (Lesen)

Das bedeutet, dass der Besitzer die Datei lesen, schreiben und ausführen kann, während Mitglieder der Gruppe sie lesen und schreiben, aber nicht ausführen können, und andere Benutzer die Datei nur lesen können.

Ausreichende Berechtigungen prüfen

Um eine Datei auszuführen, musst du über die Ausführen-Berechtigung für die Benutzergruppe verfügen, der du angehörst. Du kannst die Berechtigungen einer Datei mithilfe des ls -l-Befehls prüfen:

$ ls -l myfile
-rw-r--r--  1 user  group  12345 Jul  8 10:09 myfile

In diesem Beispiel hat der Besitzer (user) die Berechtigungen rwx, die Gruppe (group) hat rw, und andere (Andere) haben nur r. Die erste Spalte zeigt an, dass die Datei noch keine Ausführbarkeit für Benutzer außerhalb der Gruppe und des Besitzers hat.

chmod-Befehl: Zugriffsrechte ändern

Was ist chmod?

chmod ist ein Befehl in Linux-Systemen, mit dem du die Zugriffsrechte von Dateien und Verzeichnissen ändern kannst. Die Rechte bestimmen, wer lesen, schreiben oder eine Datei ausführen darf.

Syntax

Die Syntax von chmod lautet:

chmod [Berechtigungen] [Dateiname]

Dabei sind:

  • Berechtigungen: Eine Kombination aus Buchstaben und Zahlen, die die Zugriffsrechte festlegen.
  • Dateiname: Der Pfad zur Datei oder zum Verzeichnis, dessen Rechte du ändern möchtest.

Zugriffsrechte verstehen

chmod verwendet drei grundlegende Zugriffsrechte:

  • r (Lesen): Ermöglicht das Lesen des Inhalts einer Datei oder das Auflisten des Inhalts eines Verzeichnisses.
  • w (Schreiben): Ermöglicht das Erstellen, Ändern oder Löschen des Inhalts einer Datei oder das Erstellen neuer Dateien oder Verzeichnisse in einem Verzeichnis.
  • x (Ausführen): Ermöglicht die Ausführung einer Datei oder den Zugriff auf ein Verzeichnis.

Berechtigungen festlegen

Du kannst die Zugriffsrechte für drei verschiedene Gruppen festlegen:

  • Besitzer: Der Eigentümer der Datei oder des Verzeichnisses.
  • Gruppe: Die Gruppe, zu der der Eigentümer gehört.
  • Alle: Alle anderen Benutzer des Systems.

Um Berechtigungen für eine bestimmte Gruppe zu ändern, verwendest du folgende Syntax:

chmod [Berechtigung für Besitzer][Berechtigung für Gruppe][Berechtigung für Alle] [Dateiname]

Beispielsweise erteilt der folgende Befehl dem Besitzer Leserechte, der Gruppe Schreibrechte und allen anderen Ausführungsrechte:

chmod 464 datei.txt

Numerische Berechtigungen

Anstelle der Buchstabenberechtigungen kannst du auch numerische Berechtigungen verwenden. Jeder Gruppe wird eine Zahl zugewiesen:

  • Besitzer: 4
  • Gruppe: 2
  • Alle: 1

Um numerische Berechtigungen festzulegen, addierst du einfach die Zahlen für die gewünschten Berechtigungen. Beispielsweise erteilt der folgende Befehl dem Besitzer alle Berechtigungen:

chmod 700 datei.txt

Tipps

  • Überprüfe die aktuellen Berechtigungen einer Datei mit dem Befehl ls -l.
  • Sei vorsichtig beim Ändern der Berechtigungen, da dies Sicherheitsrisiken zur Folge haben kann.
  • Verwende die Option -R mit chmod, um die Berechtigungen für eine Datei und alle ihre Unterverzeichnisse und -dateien rekursiv zu ändern.

./ (Punkt-Schrägstrich): Ausführbare Datei im aktuellen Verzeichnis aufrufen

Nachdem du die Zugriffsrechte geändert hast, kannst du die ausführbare Datei im aktuellen Verzeichnis aufrufen, indem du den Befehl ./ verwendest, gefolgt vom Namen der ausführbaren Datei.

Funktionsweise

Der Befehl ./ teilt dem Betriebssystem mit, dass die Datei im aktuellen Verzeichnis ausgeführt werden soll. Dies ist besonders nützlich, wenn sich die ausführbare Datei nicht in deinem $PATH befindet, der eine Liste von Verzeichnissen enthält, in denen das System nach ausführbaren Dateien sucht.

Beispiel

Angenommen, du hast eine ausführbare Datei mit dem Namen programm.sh in deinem aktuellen Verzeichnis. Du kannst sie mit folgendem Befehl ausführen:

./programm.sh

Tipps

  • Wenn du den Befehl ./ verwendest, musst du dich im selben Verzeichnis wie die ausführbare Datei befinden.
  • Du kannst auch den vollständigen Pfad zur ausführbaren Datei angeben, wenn sie sich nicht im aktuellen Verzeichnis befindet.
  • Wenn du die ausführbare Datei regelmäßig aufrufen musst, kannst du eine Verknüpfung erstellen, indem du den Befehl ln -s verwendest. Dies erspart dir die Eingabe des vollständigen Befehls jedes Mal, wenn du die Datei ausführen möchtest.

Vorbereitungen für die Ausführung von Dateien

Um ausführbare Dateien unter Linux ausführen zu können, sind einige Vorbereitungen erforderlich. Hier sind die wichtigsten Schritte, die du beachten solltest:

1. Dateitypen verstehen

Linux unterscheidet zwischen verschiedenen Dateitypen. Um eine Datei ausführen zu können, muss sie als "ausführbare Datei" gekennzeichnet sein. Dies wird durch die Dateiberechtigungen gesteuert.

2. Dateiberechtigungen prüfen

Die Dateiberechtigungen bestimmen, wer auf eine Datei zugreifen und sie ausführen darf. Du kannst sie mit dem Befehl ls -l überprüfen. Die Ausgabe zeigt die Zugriffsrechte für den Besitzer, die Gruppe und andere Benutzer an.

3. Ausführbarkeitsflag setzen

Um eine Datei ausführbar zu machen, musst du das Ausführbarkeitsflag setzen. Dies kannst du mit dem Befehl chmod tun. Der Befehl nimmt folgende Form an:

chmod +x [Dateiname]

z.B.:

chmod +x datei.sh

Dadurch wird das Ausführbarkeitsflag für den Besitzer gesetzt.

4. Verzeichnispfad hinzufügen

Wenn sich die ausführbare Datei nicht im aktuellen Verzeichnis befindet, musst du ihren Verzeichnispfad angeben, wenn du sie aufrufen möchtest. Du kannst dies tun, indem du den Befehl ./ vor den Dateinamen setzt:

./[Dateiname]

z.B.:

./dateiname.sh

5. $PATH-Variable prüfen

Wenn du eine ausführbare Datei von jedem Verzeichnis aus aufrufen möchtest, kannst du sie in die $PATH-Variable aufnehmen. Diese Variable enthält eine Liste von Verzeichnissen, in denen das System nach ausführbaren Dateien sucht. Du kannst sie mit dem Befehl echo $PATH prüfen.

Um eine ausführbare Datei zur $PATH-Variable hinzuzufügen, kannst du export PATH=$PATH:[Verzeichnispfad] verwenden:

export PATH=$PATH:/opt/bin

Dateirechte prüfen und verstehen

Bevor du eine Datei ausführbar machen kannst, musst du die aktuellen Dateirechte verstehen. Diese Rechte bestimmen, wer auf die Datei zugreifen und Änderungen vornehmen kann. Sie sind in drei Kategorien unterteilt:

Zugriffsrechte

  • Benutzer: Der Eigentümer der Datei
  • Gruppe: Die Gruppe, zu der der Benutzer gehört
  • Andere: Alle anderen Benutzer auf dem System

Jedes Recht kann entweder lesen (r), schreiben (w) oder ausführen (x) umfassen.

So prüfst du Dateirechte

Um die Dateirechte zu prüfen, verwende den Befehl ls -l. Dieser Befehl listet alle Dateien in einem Verzeichnis mit ihren Dateirechten auf. Die Ausgabe des Befehls sieht etwa so aus:

-rw-r--r-- 1 user group 1024 2023-03-08 12:34 datei.txt

In diesem Beispiel:

  • -rw-r--r-- sind die Dateirechte.
  • 1 ist die Anzahl der Hardlinks zur Datei.
  • user ist der Besitzer der Datei.
  • group ist die Gruppe, zu der der Benutzer gehört.
  • 1024 ist die Größe der Datei in Bytes.
  • 2023-03-08 12:34 ist der Zeitstempel der letzten Änderung der Datei.
  • datei.txt ist der Name der Datei.

Bedeutung der Dateirechte

Die ersten drei Zeichen der Dateirechte geben den Dateityp an:

  • - Normale Datei
  • d Verzeichnis
  • l Symbolischer Link
  • b Blockgerät
  • c Zeichen Gerät

Die nächsten neun Zeichen geben die Zugriffsrechte an:

  • Die ersten drei Zeichen geben die Zugriffsrechte des Benutzers an.
  • Die nächsten drei Zeichen geben die Zugriffsrechte der Gruppe an.
  • Die letzten drei Zeichen geben die Zugriffsrechte der anderen an.

Wenn ein Recht nicht gewährt ist, wird es durch einen Bindestrich (-) dargestellt.

Dateirechte ändern mit chmod

chmod (change mode) ist ein Linux-Befehl, mit dem du die Zugriffsrechte von Dateien und Verzeichnissen ändern kannst. Um chmod zu verwenden, musst du Folgendes wissen:

Berechtigungssystem

Dateirechte in Linux werden in drei Gruppen unterteilt:

  • Besitzer (user): Der Benutzer, dem die Datei gehört.
  • Gruppe (group): Die Gruppe, zu der der Benutzer gehört.
  • Andere (others): Alle anderen Benutzer außer dem Besitzer und der Gruppe.

Für jede Gruppe kannst du drei Zugriffsrechte festlegen:

  • Lesen (r): Die Datei oder das Verzeichnis lesen.
  • Schreiben (w): Die Datei bearbeiten oder dem Verzeichnis Dateien hinzufügen.
  • Ausführen (x): Die Datei ausführen (bei ausführbaren Dateien) oder das Verzeichnis eingeben.

chmod-Syntax

Die chmod-Syntax lautet:

chmod [Optionen] [Rechte] [Dateiname]

Dabei sind:

  • [Optionen] sind optionale Argumente, die das Verhalten von chmod steuern.
  • [Rechte] sind die Zugriffsrechte, die du festlegen möchtest.
  • [Dateiname] ist der Name der Datei oder des Verzeichnisses, für das du die Rechte ändern möchtest.

Rechte festlegen

Du kannst Rechte auf zwei Arten festlegen:

  1. Symbolisch: Verwende Buchstaben, um Rechte festzulegen:
r: Lesen
w: Schreiben
x: Ausführen

Du kannst mehrere Rechte kombinieren, indem du sie einfach zusammenschreibst, z. B. "rwx" für Lesen, Schreiben und Ausführen.

  1. Numerisch: Verwende eine Oktalzahl, um Rechte festzulegen. Jede Ziffer in der Zahl repräsentiert eine Gruppe von Rechten:
1: Ausführungsrecht
2: Schreibrecht
4: Leserecht

Beispielsweise repräsentiert die Zahl 755 die Rechte "rwxr-xr-x" (Ausführung, Schreiben und Lesen für den Besitzer, Ausführung und Leseberechtigung für die Gruppe und Ausführungsrecht für andere).

Beispiele

Hier sind einige Beispiele für die Verwendung von chmod:

  • Um dem Besitzer Lese- und Schreibberechtigung sowie der Gruppe und anderen nur Leseberechtigung zu erteilen, verwende:
chmod u=rw,g=r,o=r datei.txt
  • Um allen Benutzern Ausführungsrecht für eine ausführbare Datei zu erteilen, verwende:
chmod a+x ausführbare_datei
  • Um die Rechte einer Datei auf 755 zu setzen, verwende:
chmod 755 datei.txt

Ausführbarkeit für Besitzer, Gruppe oder Alle erteilen

Um die Ausführbarkeit für bestimmte Benutzergruppen zu erteilen, verwendest du den chmod-Befehl mit den folgenden Optionen:

/u (Besitzer)

Um die Ausführbarkeit für den Besitzer der Datei zu erteilen, verwende die Option /u.

chmod u+x datei

/g (Gruppe)

Um die Ausführbarkeit für die Gruppe, zu der die Datei gehört, zu erteilen, verwende die Option /g.

chmod g+x datei

/o (Alle anderen)

Um die Ausführbarkeit für alle anderen Benutzer zu erteilen, verwende die Option /o.

chmod o+x datei

/a (Alle)

Um die Ausführbarkeit für alle oben genannten Gruppen zu erteilen, verwende die Option /a.

chmod a+x datei

Beispiel:

Du möchtest beispielsweise die Ausführbarkeit für den Besitzer und die Gruppe einer Datei namens script.sh erteilen:

chmod ug+x script.sh

Symbolische Links erstellen

Neben der Änderung der Dateirechte kannst du auch symbolische Links erstellen, um Dateien ausführbar zu machen. Ein symbolischer Link ist ein Zeiger auf eine andere Datei oder ein Verzeichnis.

Vorteile symbolischer Links

  • Zugriff auf ausführbare Dateien in anderen Verzeichnissen: Du kannst einen symbolischen Link zu einer ausführbaren Datei in einem anderen Verzeichnis erstellen, um sie im aktuellen Verzeichnis auszuführen.
  • Alternative Dateinamen: Du kannst einen symbolischen Link mit einem benutzerfreundlicheren Dateinamen erstellen, während die ursprüngliche ausführbare Datei einen komplexeren Namen hat.

So erstellst du einen symbolischen Link

Um einen symbolischen Link zu erstellen, verwende den Befehl ln:

ln -s Quelle Ziel

Dabei gilt:

  • Quelle ist der Pfad zur ausführbaren Datei oder dem Verzeichnis.
  • Ziel ist der Pfad zum symbolischen Link.

Beispiel

Nehmen wir an, du hast eine ausführbare Datei namens meineapp im Verzeichnis /opt/meineanwendung. Du möchtest einen symbolischen Link namens app im aktuellen Verzeichnis erstellen, um meineapp auszuführen:

ln -s /opt/meineanwendung/meineapp app

Jetzt kannst du die ausführbare Datei durch Aufrufen des symbolischen Links app ausführen:

./app

Hinweise

  • Symbolische Links funktionieren nur auf Dateien und Verzeichnisse, die bereits vorhanden sind.
  • Wenn du den ursprünglichen Speicherort der ausführbaren Datei änderst, musst du den symbolischen Link entsprechend aktualisieren.
  • Symbolische Links können durch Ändern der Dateirechte des ursprünglichen Speicherorts ungültig werden.

Weitere Beiträge

Folge uns

Neue Beiträge

Linux-Server

Erstellung eines bootfähigen Linux-USB-Sticks: Schritt-für-Schritt-Anleitung

AUTOR • Apr 21, 2026
Beitrag

Sami Lesebär: WLAN-Einrichtung und Nutzung

AUTOR • Apr 21, 2026
Linux-Server

Thunderbird unter Linux: Installation, Konfiguration und Fehlerbehebung

AUTOR • Apr 21, 2026
Netzwerk & Routing

Roborock verbindet sich nicht mit WLAN: Probleme beheben und Lösungen finden

AUTOR • Apr 21, 2026
Netzwerk & Routing

FRITZ!Box 7590: So beheben Sie einen defekten WLAN-Chip

AUTOR • Apr 21, 2026
Linux-Server

Erstellung von Linux-Partitionen: Ein umfassender Leitfaden für die Verwaltung Ihrer Festplatte

AUTOR • Apr 21, 2026
Linux-Server

MX Linux Systemanforderungen: Alles, was du wissen musst

AUTOR • Apr 21, 2026
Linux-Server

Die besten PDF-Reader für Linux: Eine umfassende Übersicht

AUTOR • Apr 21, 2026
Netzwerk & Routing

Hoymiles HM-800: Schritt-für-Schritt-Anleitung zur WLAN-Verbindung

AUTOR • Apr 21, 2026
Systemadministration

Wechselrichter verbindet sich nicht mit WLAN: Problemlösungen und Anleitungen

AUTOR • Apr 21, 2026
Beitrag

FritzBox 7590 Firmware Downgrade: So Geht's

AUTOR • Apr 21, 2026
Beitrag

Anleitung: Home Assistant mit Hoymiles verbinden

AUTOR • Apr 21, 2026
Netzwerk & Routing

Raspberry Pi 4 WLAN-Antenne: Optimierung und Reichweitenerhöhung

AUTOR • Apr 12, 2026
Systemadministration

Schritt-für-Schritt-Anleitung zur Einrichtung von WLAN in Linux

AUTOR • Apr 12, 2026
Cloud & Virtualisierung

Deye Wechselrichter einrichten: Schritt-für-Schritt-Anleitung für eine reibungslose Inbetriebnahme

AUTOR • Apr 10, 2026
Netzwerk & Routing

Verbinden Sie Ihren Sungrow-Wechselrichter ganz einfach mit WLAN

AUTOR • Apr 10, 2026
Systemadministration

Formatieren einer Festplatte unter Linux: Eine umfassende Anleitung

AUTOR • Apr 10, 2026
Linux-Server

Linux-Festplattenklonen: Schritt-für-Schritt-Anleitung zum Duplizieren Ihrer Festplatte

AUTOR • Apr 10, 2026
Systemadministration

Tastaturlayout unter Linux ändern: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 10, 2026
Sicherheit & Hardening

Plasma Static Hash: Die Zukunft der Trichomentrennung?

AUTOR • Apr 06, 2026

Beliebte Beiträge

Beitrag

Threema unter Linux verwenden: So gelingt der Einstieg

AUTOR • Jun 18, 2025
Netzwerk & Routing

Landroid verbindet sich nicht mit WLAN: Ursachen und Lösungen

AUTOR • Apr 19, 2024
Netzwerk & Routing

Bluetooth-Signale in WLAN konvertieren: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 19, 2024
Beitrag

Linux Mint: Speicherplatz freigeben leicht gemacht

AUTOR • Dec 12, 2024
Netzwerk & Routing

WLAN-Rauchmelder mit FRITZ!Box verbinden: So geht's

AUTOR • Apr 19, 2024
Netzwerk & Routing

NFS-Volumes mit Linux mounten: Anleitung zum effektiven Dateisystemzugriff

AUTOR • Apr 17, 2024
Linux-Server

WhatsApp für Linux: Installation, Einrichtung und Nutzung

AUTOR • Jun 18, 2025
Beitrag

Linux Netzwerk Einrichten: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 06, 2025
Linux-Server

Marktdominanz von Linux: Ein Überblick über den aktuellen Stand

AUTOR • Apr 17, 2024
Linux-Server

Linux Mint 32 Bit: Installation, Verwendung und Tipps für ein reibungsloses Erlebnis

AUTOR • Apr 17, 2024
Linux-Server

Die ultimative Anleitung zum Linux-Befehl für Updates

AUTOR • Apr 17, 2024
Sicherheit & Hardening

WLAN-Anmeldeseite erscheint nicht: Ursachen und Lösungen

AUTOR • Apr 19, 2024
Linux-Server

Linux auf USB-Stick installieren: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 17, 2024
Linux-Server

Die ultimative Anleitung zur fstab-Datei: Mounten und Konfigurieren von Dateisystemen

AUTOR • Dec 19, 2025
Netzwerk & Routing

Handy-Symbolführer: Bedeutung der Symbole auf Ihrem Smartphone

AUTOR • Apr 19, 2024
Linux-Server

Linux-Browser: Vergleich, Funktionen und Tipps für die beste Wahl

AUTOR • Apr 17, 2024
Sicherheit & Hardening

Linux Mint vergessenes Passwort zurücksetzen: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 17, 2024
Linux-Server

Linux Mint installieren: Eine Schritt-für-Schritt-Anleitung für Anfänger

AUTOR • Apr 17, 2024
Linux-Server

So erstellen Sie einen bootfähigen Linux Live USB-Stick: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 17, 2024
Linux-Server

OneNote für Linux: Installation, Funktionen und Vorteile

AUTOR • Apr 17, 2024