GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie mache ich eine Datei im Linux-Terminal ausführbar?

Jede Datei, die sich in einem POSIX-kompatiblen Dateisystem (Ext4, Btrfs, XFS, JFS usw.) befindet, hat sich selbst zugewiesene "Modusbits".

Um eine Datei unter Linux ausführbar zu machen, muss das Bit für den ausführbaren Modus aktiviert werden.

Um das Bit für den ausführbaren Modus zu setzen, wird der Befehl chmod wie folgt verwendet:

chmod u+x <file>

Damit können Sie diese Datei vom Terminal aus ausführen:

./file

Das war die schnelle Zusammenfassung. Sehen wir uns die Dinge ein wenig im Detail an.

Machen Sie eine Datei unter Linux ausführbar

Es gibt mehrere Möglichkeiten, wie Sie eine Datei unter Linux ausführbar machen können. Die gebräuchlichsten Methoden beinhalten die Verwendung von chmod Befehl, auf unterschiedliche Weise.

Um zu prüfen, ob Sie eine Datei ausführen können, verwenden Sie den -l Flag mit ls Befehl.

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

In der ersten Spalte -rw-r--r-- stellt dar, dass der Besitzer lesen und schreiben kann, Benutzer aus der Gruppe nur lesen und alle anderen nur die Datei lesen können.

Beachten Sie das Fehlen von x von den Erlaubnissymbolen. Das bedeutet, dass lhb.txt ist nicht ausführbar.

Ich empfehle dringend, sich über Linux-Dateiberechtigungen zu informieren und Ihre Grundlagen aufzufrischen, um diese Befehle besser zu verstehen.

Methode 1:Datei für alle ausführbar machen

Die erste und einfachste Methode besteht darin, eine Datei mit dem folgenden Befehl ausführbar zu machen:

chmod +x <file>

Das x Flag dient dazu, die Ausführungsberechtigung einer Datei zu setzen oder aufzuheben. Und mit + Zeichen vor x bedeutet, dass wir es als ausführbare Datei festlegen möchten.

Dadurch wird die Datei für den Eigentümer, die Gruppe und alle anderen ausführbar. Jeder auf dem System kann es ebenfalls ausführen.

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod +x lhb.txt

$ ls -l lhb.txt
-rwxr-xr-x  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Wie Sie jetzt sehen können, haben alle, der Eigentümer, die Gruppe und andere die ausführbare Datei x Bit gesetzt. Das bedeutet, dass jeder diese Datei jetzt ausführen kann.

Methode 2:Datei nur für bestimmte Benutzer oder Gruppen ausführbar machen

Wenn Sie nicht möchten, dass jeder eine Datei ausführen kann, sollten Sie Klassen angeben, bevor Sie Dateiberechtigungen hinzufügen/entfernen.

Die verfügbaren Klassen sind:

  • u :Berechtigungen für Eigentümer/Benutzer
  • g :Berechtigungen für Gruppe
  • o :Berechtigungen für andere
  • a :Berechtigungen für alle

Wenn Sie eine Klasse angeben, ähnelt die Syntax größtenteils der, die Sie in der ersten Methode gesehen haben.

chmod <class>+x <file>

Das heißt, wenn ich die Datei so ausführbar machen möchte, dass nur der Eigentümer der Datei sie ausführen kann und niemand sonst, dann sollte ich den folgenden Befehl verwenden:

chmod u+x <file>

Hier ist ein Beispiel:

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod u+x lhb.txt

$ ls -l lhb.txt
-rwxr--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Um es für alle in der Gruppe, die diese Datei besitzen, ausführbar zu machen, sollte ich den folgenden Befehl verwenden:

chmod g+x <file>

Hier ist ein Beispiel:

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod g+x lhb.txt
$ ls -l lhb.txt
-rw-r-xr--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Wenn Sie a angeben Klasse, es ist fast so, als ob Sie keine angegeben hätten. Schauen wir mal.

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod +x lhb.txt

$ ls -l lhb.txt
-rwxr-xr-x  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod 644 lhb.txt #reset permissions

$ chmod a+x lhb.txt

$ ls -l lhb.txt
-rwxr-xr-x  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Diese Befehle sehen möglicherweise anders aus, haben aber das gleiche Ergebnis.

Methode 3:Verwenden Sie die Oktalzahlen

Wenn Sie der ersten Methode folgen, aktivieren Sie nur das Ausführbar-Flag einer Datei, indem Sie ein +x ausführen , so dass jeder es ausführen kann.

Aber manchmal möchten Sie vielleicht nicht, dass jeder eine Datei ausführt, vielleicht sollte es einige Privilegien benötigen. In diesem Fall können Sie den vollständigen Satz an Berechtigungen angeben.

Dies geschieht normalerweise, indem entweder ein Oktalwert oder ein symbolischer Wert angegeben wird, um Dateiberechtigungen zu aktivieren.

Auf diese Weise können Sie genauer steuern, wie die Flags gesetzt werden. Unten ist die Syntax für die Verwendung von Oktalwerten mit chmod Befehl:

chmod <octal> <file>

Wenn Sie nicht gut mit Zahlen umgehen können, können Sie einen Online-Chmod-Rechner verwenden, der Ihnen hilft, korrekte Oktalwerte zu generieren und so die Verwendung falscher Werte und das Durcheinander von Dateiberechtigungen zu vermeiden.

Angenommen, ich möchte die Datei nur für den Eigentümer und die Gruppe ausführbar machen, ich muss zuerst ihre aktuellen Berechtigungen kennen und die ausführbaren Bits mit [chmod-calculator].

hinzufügen

Mal sehen, wie das geht.

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod 754 lhb.txt

$ ls -l lhb.txt
-rwxr-xr--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Wie Sie sehen, können nur der Eigentümer und die Gruppe die Datei ausführen.

Schlussfolgerung

In diesem Artikel wird beschrieben, wie Sie eine Datei in einem Linux-System ausführbar machen. Es konzentrierte sich hauptsächlich auf die verschiedenen Möglichkeiten, den chmod zu verwenden Befehl. Wenn Sie mehr darüber wissen möchten, haben wir ein paar Beispiele zur Verwendung von chmod Befehl.


Linux
  1. So verwalten Sie Linux-Dateifunktionen

  2. So finden Sie eine Datei in Linux

  3. So drucken Sie eine JSON-Datei im Linux-Terminal

  4. Wie macht man eine Datei spärlich?

  5. Wie kann man feststellen, ob eine Linux-Binärdatei 32-Bit oder 64-Bit ist?

Wie man eine Datei unter Linux ausführbar macht

So überprüfen Sie die Prüfsumme unter Linux

So installieren Sie den Ranger Terminal File Manager unter Linux

So erstellen Sie eine Datei in Linux mit Terminal

So verknüpfen Sie eine Datei unter Linux per Symlink

So kopieren Sie Dateien und Verzeichnisse im Linux-Terminal