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+rentsprichtchmod 444. - B:
chmod 666entsprichtchmod 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
doneBash-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."
fiBash-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