Verwendung der symbolischen Notation für Berechtigungen
Während die numerische Notation kompakt ist, kann die symbolische Notation intuitiver sein, besonders wenn man nur eine einzelne Berechtigung ändern möchte. Die symbolische Notation verwendet Buchstaben für Benutzer, Gruppe und Andere sowie Operatoren zum Hinzufügen oder Entfernen von Rechten.
Erstellen wir zunächst eine neue Skriptdatei mit Inhalt:
cd ~/project
echo '#!/bin/bash\necho "Hello, World"' > script.sh
Dieser Befehl erledigt zwei Dinge:
- Er erstellt eine Datei namens
script.sh. Die Endung .sh wird üblicherweise für Shell-Skripte verwendet. Shell-Skripte sind ausführbare Dateien, die eine Reihe von Befehlen enthalten.
- Er schreibt zwei Zeilen in die Datei:
#!/bin/bash (genannt Shebang) teilt dem System mit, dass dies ein Bash-Skript ist. Die Shebang-Zeile gibt den Interpreter an, der zur Ausführung des Skripts verwendet werden soll.
echo "Hello, World" ist der Befehl, der beim Ausführen des Skripts "Hello, World" ausgibt.
\n ist ein Zeilenumbruch, damit die Befehle in separaten Zeilen stehen.
Prüfen wir die ursprünglichen Berechtigungen:
ls -l script.sh
Sie sollten so etwas sehen:
-rw-rw-r-- 1 labex labex 32 Jul 29 16:30 script.sh
Wie man sieht, hat das Skript anfangs nur Lese- und Schreibrechte für Eigentümer und Gruppe sowie Leserechte für Andere. Es fehlt die Ausführungsberechtigung, die nötig ist, um es als Programm zu starten.
Versuchen wir, das Skript auszuführen:
./script.sh
Sie sollten die Fehlermeldung "Permission denied" erhalten, da das Skript noch nicht ausführbar ist. Das ./ weist die Shell an, das Skript im aktuellen Verzeichnis auszuführen.
Fügen wir nun die Ausführungsberechtigung für den Eigentümer mittels symbolischer Notation hinzu:
chmod u+x script.sh
In diesem Befehl:
u bezieht sich auf den User (Eigentümer). Andere Optionen sind g für Group, o für Others und a für All (alle drei).
+x fügt die Ausführungsberechtigung hinzu. Das + fügt ein Recht hinzu, während - ein Recht entfernt.
Somit bedeutet u+x: "Füge dem Eigentümer das Ausführungsrecht hinzu."
Überprüfen wir die Änderung:
ls -l script.sh
Sie sollten nun sehen:
-rwxrw-r-- 1 labex labex 32 Jul 29 16:30 script.sh
Der Eigentümer hat nun rwx-Rechte.
Versuchen wir nun erneut, das Skript auszuführen:
./script.sh
Diesmal sollten Sie die Ausgabe sehen: "Hello, World"
Dieses Beispiel verdeutlicht, warum wir Skripten Ausführungsrechte geben müssen und wie die symbolische Notation es erleichtert, gezielte Änderungen vorzunehmen, ohne die gesamte numerische Darstellung neu berechnen zu müssen.