Linux Script mit Ls equal

Linux Script mit Ls equal

Ein Beispiel-Skript mit der Funktion ls -l könnte folgendermaßen aussehen:

bash
#!/bin/bash
# Dieses Skript führt die 'ls -l' Funktion auf einem bestimmten Verzeichnis aus.

if [ $# -eq 0 ]
then
  echo "Bitte geben Sie einen Verzeichnisnamen an."
else
  echo "Inhalt des Verzeichnisses $1:"
  ls -l $1
fi

Das Skript beginnt mit der Shebang-Zeile #!/bin/bash, die den Interpreter für das Skript angibt. In diesem Fall ist es Bash.

Die if-Anweisung prüft, ob das Skript mindestens ein Argument hat. Dafür wird der Parameter $# verwendet, der die Anzahl der Argumente angibt. Wenn keine Argumente vorhanden sind, wird eine Fehlermeldung ausgegeben. Andernfalls wird die ls -l Funktion auf das angegebene Verzeichnis angewendet.

Um das Skript ausführbar zu machen, muss es zunächst mit chmod +x scriptname.sh markiert werden. Dann kann es mit ./scriptname.sh ausgeführt werden, wobei scriptname.sh durch den tatsächlichen Namen des Skripts ersetzt wird.

Toni Schlack hat für Sie nachfolgend ein paar Übungen erstellt.

Übung 1: Schreiben Sie ein Skript, das alle Dateien im aktuellen Verzeichnis mit einer Größe von mehr als 1 MB auflistet.

Lösung:

bash
#!/bin/bash
ls -lh | awk '{if ($5 > 1000000) print $9}'

Übung 2: Schreiben Sie ein Skript, das alle Dateien im aktuellen Verzeichnis mit einer Erweiterung von .txt auflistet.

Lösung:

bash
#!/bin/bash
ls -1 *txt

Übung 3: Schreiben Sie ein Skript, das alle leeren Dateien im aktuellen Verzeichnis auflistet.

Lösung:

bash
#!/bin/bash
find . -type f -empty

Übung 4: Schreiben Sie ein Skript, das alle Verzeichnisse im aktuellen Verzeichnis auflistet, die eine bestimmte Zeichenfolge im Namen enthalten.

Lösung:

bash
#!/bin/bash
ls -d *Zeichenfolge*

Übung 5: Schreiben Sie ein Skript, das alle ausführbaren Dateien im aktuellen Verzeichnis auflistet.

Lösung:

bash
#!/bin/bash
ls -l | grep "^-" | awk '{if ($1 ~ /x/) print $9}'

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Search this website