Linux-Befehle und Bash-Scripting: Übungen und Lösungen

Eingeordnet in Informatik

Geschrieben am in mit einer Größe von 5,41 KB

Linux-Grundlagen und Shell-Befehle

1) Zuordnungen und Prozesse

  • 1: fg %1 – 3D-Platte montiert.
  • 2: B – gzip-komprimiert.
  • 3: unmount – nichts.
  • 4: mke3fs -C – Formatierung.
  • 5: tar – nichts.
  • 6: dd if=E – zurückschreiben.
  • 7: bg %3 – F-Bestehen der Aufgabe.
  • 8: tar cvf – A-empaquetar (archivieren).

2) Praktische Befehlsanwendungen

  • A: 2 + 2 berechnen: expr 2 + 2
  • B: Benutzerpasswort ändern: passwd ana
  • C: Computer ausschalten: shutdown -h now
  • D: Besitzer zu Antonio ändern (Übung 60): chown antonio ejer60
  • E: Alle Dateien löschen: rm *
  • F: Dateinamen ändern: mv script52 ejer52
  • G: Alle Dateien in der Übung kopieren: cp Übung* ./
  • H: Vollständigen Pfad anzeigen: pwd
  • I: Suche nach /bin/bash: grep "/bin/bash" *
  • J: Datei in /etc suchen: find /etc/ -name "pro*"

3) Berechtigungen setzen

Nach ls -l ejer52: Um dem Benutzer Rechte für diese Datei zu geben: chmod 700 ejer52.

5) Definitionen und Systembegriffe

  • A: PS1: Definiert den Prompt.
  • B: HOME: Home-Verzeichnis.
  • C: Hintergrundprozess: Erhält keinerlei Signal.
  • D: MANPATH: Gibt den Pfad für Handbücher an.
  • E: Vordergrundprozess: Erhält Input.

6) Prozesse beenden

Wenn ein Prozess nicht reagiert: Konsole öffnen (root oder Benutzer), Prozess suchen mit ps -aux, Prozess beenden mit kill -9 [PID].

8) Skriptausführung

Damit ein Skript im aktuellen Verzeichnis ausgeführt werden kann: Unter anderem den Pfad in die PATH-Variable aufnehmen.

9) Archivierung und Kompression

Paket-Befehl für /home/angeles/uebungen nach /home/angeles/kopien: tar cvf - /home/angeles/uebungen | gzip -9c > /home/angeles/kopien/copia.tar.gz

10) Ausgabeumleitung und Sortierung

  • A: Nach Ausführung von ls /win | sort > ergebnis: Die Inhalte des Verzeichnisses /win werden sortiert in der Datei "ergebnis" gespeichert.
  • B: Es würde am Bildschirm nichts angezeigt werden.

11) Chmod-Varianten

  • A: chmod a+r entspricht chmod 444.
  • B: chmod 666 entspricht chmod ugo+rw.

12) Befehlsprüfung (Ja/Nein)

cp (ja), yast (nein), halt (ja), cat (nein), useradd (ja).

13) Systemverzeichnisse

  • A: /bin: Speichert ausführbare Systemdateien.
  • B: /sbin: Speichert ausführbare Dateien für die Administration.
  • C: /dev: Speichert Gerätetreiber.
  • D: /etc: Enthält Konfigurationsdateien.

Bash-Praktikum 1: Menü-Skript

#!/bin/bash
option=0
while [ $option -ne 4 ]
do
  echo "MENU"
  echo "1) Inhalt einer Datei anzeigen"
  echo "2) Dateien in einem Verzeichnis anzeigen"
  echo "3) Uhrzeit und Datum anzeigen"
  echo "4) Beenden"
  read option
  case $option in
    1) clear; echo "Bitte Dateinamen eingeben:"; read file
       if [ -e $file ]; then
         if [ -f $file ]; then cat $file; else echo "Der Parameter ist keine Datei"; fi
       else echo "Fehler im Parameter"; fi ;;
    2) clear; echo "Geben Sie das gewünschte Verzeichnis an:"; read directory
       if [ -d $directory ]; then ls -l $directory; else echo "Fehler im Parameter"; fi ;;
    3) clear; date ;;
    4) exit ;;
  esac
done

Bash-Praktikum 2: Unterverzeichnisse zählen

#!/bin/bash
echo "Verzeichnis zur Prüfung eingeben:"
read directory
if [ -d $directory ]; then
  cont=0
  for dir in $(ls $directory); do
    if [ -d $directory/$dir ]; then
      cont=$(expr $cont + 1)
    fi
  done
  echo "Das Verzeichnis $directory enthält $cont Unterverzeichnisse."
else
  echo "$directory ist kein Verzeichnis."
fi

Bash-Praktikum 3: Dateien zusammenführen

#!/bin/bash
if [ $# -eq 1 ]; then
  cd $1
  for i in *; do
    if [ -d $i ]; then
      echo "$i ist ein Verzeichnis (keine Datei)"
    else
      cat $i >> /home/verzeichnis/file.txt
    fi
  done
else
  echo "Das Programm setzt voraus, dass Sie einen Parameter übergeben."
fi

Verwandte Einträge: