LPIC-1 102 (Version 4)

Linux Junior Level 102 (inkl. letzte Änderung des LPI, Stand 13.Januar 2015)

Linux Junior Level 102 (inkl. letzte Änderung des LPI, Stand 13.Januar 2015)


C. T.
Diese Lernkarten decken fortgeschrittene Linux-Administration ab, mit Fokus auf Befehle, Dateien und Benutzerverwaltung. Sie behandeln Themen wie GnuPG, SSH, TCP-Wrapper und Systemüberwachung, einschließlich der Konfiguration von Ports, Shell-Befehlen und Benutzerauthentifizierung. Ideal für IT-Profis, die ihre Kenntnisse in Linux-Systemadministration vertiefen möchten, um effizienter mit Dateien, Benutzern und Systemprozessen umzugehen.
Cartes-fiches
304
Utilisateurs
11
Langue
Allemand
Catégorie
Informatique
Niveau
Autres
Créé / Mis à jour
13.08.2016 / 30.04.2024

Cartes-fiches

Nenne neben Bash andere Shells?

sh : Vorfahre der Bash
ksh : Korn-Shell --> eine Bourne Shell mit einer C-Shell kommbiniert
csh : ist dem Syntax der Programmiersprache C angelehnt
zsh : ähnelt der ksh, bietet aber erheblich höheren Funktionsumfang

Was sind Umgebungsvariablen?

gelten für alle Shells, die ein Benutzer verwendet. Sie werden ausserdem vererbt (beim Aufruf einer Subshell wird ein automatischer Export der Variablen gemacht). Sie werden normalerweise in Grossbuchstaben geschrieben (kein technischer Hintergrund, nur zur Hilfe der Übersichtlichkeit)

Was sind Shellvariablen?

Sie müssen in jeder Shell, die durch den Benutzer oder ein Skript gestartet wird, neu deklariert werden. Es findet standartmässig keine Vererbung statt. Nach Konventionen werden sie klein geschrieben.

Wie setzt man eine Shellvariable?

a=7

Wie kann man auf einen Wert eine Kombination von 2 Shellvariable setzen (Summe)?

let c=$a+$b

Wie kann man eine Shellvariable in einer Subshell verwenden?

export c

Wie kann man eine Shellvariable setzen und direkt in einer Subshell verwenden?

export h=333

Wie kann man alle Shellvariablen der aktuellen Shell anzeigen'

set

Was sind wichtige Shellvariablen, welche Standartmässig gesetzt sind?

BASH= /bin/bash
HISTSIZE=1000
HOME=/root
HOSTNAME=example1
MANPATH=/usr/share/man:/usr/local/man:/usr/X11R6/man:/opt/gnome/share/man
PAGER=less
PATH=/sbin:/usr/bin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/usr/X11R

Wie kann man die Umgebungsvariablen einsehen?

env

Wie kann man gesetzte Variablen löschen?

unset a

Wie kann man einen Befehl in Kombination mit bestimmten Parametern als kurze Eingabe setzen?

alias ll="ls -la"

Was ist eine Einschränkung, die ein Alias mit sich bringt und was kann man als Ersatz verwenden?

Ein Übergabewert ($1, $2 usw) kann nur einmal ausgewertet werden
function kann dazu verwendet werden:

function FUNKTIONSNAME ()
{
Befehl 1
Befehl 2
...
Befehl n
}

Wie kann man bei einem Alias, bei welchem man das Existierende Kommando überschrieben hat den ursprünglichen Befehl ausfüren ohne, dass man den Gesamten Pfad zu diesem Kommando eingeben muss?

man kann vorab das Kommando builtin verwenden

Wie kann man mehrere Befehle in einer einzigen Zeile ausführen?

In dem man die einzelnen Befehle mit einem Semikolon trennt

df -h;free -m

Wie kann man einen Befehl ausführen lassen, wenn der voran gegangene Befehl erfolgreich ausgeführt wird?

Dazu muss zwischen den zwei Befehlen zwei Ampercent-Zeichen (&&) eingefügt werden.

Wie kann man einen Befehl ausführen lassen, wenn der voran gegangene Befehl nicht erfolgreich ausgeführt wird?

Dazu muss zwischen den zwei Befehlen zwei Pipe-Zeichen (||) eingefügt werden.

Wie kann man lange Kommandos über mehrere Zeilen verteilen?

Zum Abschluss jeder Zeile muss ein Backslash \  eingefügt werden (Hinter dem Backslash dürfen keine Leerzeichen stehen)

Was ist eine Forkbomb?

Ein Kommando  welches den Computer zum Absturz bringt

Was ist der Unterschied von Konfigurationsdateien, welche für alle Anwender Gültigkeit haben und  Konfigurationsdateien, welche für den jeweiligen User Gültigkeit haben?

für alle Anwender: befinden sich im Verzeichnis /etc und beginnen niemals mit einem Punkt!
für den jeweiligen User: befinden sich im jeweiligen Homeverzeichnis und beginnen immer mit einem Punkt!

Wie heissen die 2 gängigsten systemweite Konfigurationsdateien, wo sind sie abgelegt und was ist deren Inhalt?

/etc/profile : ist die erste Confdatei welche bei der Login-Shell eingelesen wird. Sie enthält erste Umgebungsvariablen und die erste PATH-Anweisung. Änderungen in der Datei erfodert eine neue Anmeldung

/etc/bash.bashrc : enthält Systemweite Einstellungen, Aliase und Funktionen. Diese wird bei beim Start jeder Shell neu eingelesen und erfordert keine Neuanmeldung

Wie heissen die gängigsten Konfigurationsdateien für den Benutzer, wo sind sie abgelegt und was ist deren Inhalt?

~/.bash_profile : wird (falls vorhanden) nur bei Neuanmeldung direkt nach /etc/profile ausgeführt. Sie enthält zusätzliche Pfadangaben (z.b. Homedir), Standarteditor und benutzerspezifische Umgebungsvariablen

~/.bash_login : alternative zu .bash_profile (nur verwendet, wenn .bash_profile nicht besteht)

~/.profile : ursprüngliche Confdatei der Bash. Alternative alternative zu .bash_profile (nur verwendet, wenn .bash_profile und .bash_login nicht besteht)

~/.bashrc : ist andere, ursprüngliche Confdatei der Bash. Sie wird in jedem Fall eingelesen (auch beim aufruf einer neuen Shell). Enthält im Wesentlichen Aliase und Funktionen.

~/.bash_logout : ist optional und wird ausgeführt, wenn sich ein Benutzer ausloggt

~/.inputrc : enthält Definitionen, die die Tastaur betreffen (Funktionstasten und Hotkeys) Z.b. Wechsel in Homeverzeichnis:
Control-h: "cd ~"

Wie können Änderungen in einer Konfigurationsdatei sofort wirksam gemacht werden?

source /etc/profile

oder

. /etc/profile

Wo Versteckt sich das Skeleton Verzeichnis und für was ist es Zuständig?

/etc/skel

Ist eine Vorlage für das Homeverzeichnis, somit wird beim erstellen einers Users mit useradd -m hans ein Verzeichnis erstellt unter /home/hans und der Inhalt von /etc/skel in dieses Verzeichnis kopiert (Rechte werden auf den neuen Benutzer gesetzt).

Ein Bash-Script kann man auf 2 verschiedene Arten aufrufen?

/bin/bash /home/root/script

oder

source /home/root/script

wobei source ein Bash-internes Kommando ist.

Was muss bei einer Datei gemacht werden, dass diese Ausführbar ist?

mit chmod muss das Ausführrecht übergeben werden.

chmod a+x script

evtl. Berechtigung nur auf eine Gruppe oder eine User geben

Zudem muss dem Script die Shebangzeile hinzugefügt werden, welche der Shell mitteilt, dass es sich um ein ausführbares Programm handelt und welche Umgebung für das Script benötigt wird.

Welche Nummer hat der Errorlevel, wenn kein Fehler auftaucht?

0 (Null)

Wie kann man einen Errorlevel nachschauen?

echo $?

Was sind wichtige Shell-Script Kommandos und was bedeuten sie?

while : Solange

do : tue (mach)

done : Wenn die Bedingung nicht mehr zutrifft wird hinter dem done fortgesetzt.

shift : bewirkt, dass die Werte der Übergabeparameter innerhalb ihrer Variablen verschoben werden.
Z.B. aus $2 wird $1, aus $3 wird $2, aus $4 wird $3 usw.

let : lass

Was sind wichtige Schalter von test?

-r <FILENAME> : die Datei existiert und ist lesbar (readable).

-w <FILENAME> : die Datei existiert und ist schreibbar (writeable).

-x <FILENAME> : die Datei existiert und ist ausführbar (executeable).

-d <FILENAME> : die Datei existiert und ist ein Verzeichnis (directory).

-b <FILENAME> : die Datei existiert und ist ein Blockorientiertes Gerät.

-c <FILENAME> : die Datei existiert und ist ein zeichenorientiertes Gerät.

-g <FILENAME> : die Datei existiert und das SGID ist gesetzt.

-k <FILENAME> : die Datei existiert und das Sticky Bit ist gesetzt.

-e <FILENAME> : die Datei existiert (exists)

-f <FILENAME> : die Datei existiert und ist eine reguläre Datei.

-L <FILENAME> : die Datei existiert und ist ein symbolischer Link

<FILE1> -nt <FILE2> : FILE1 ist neuer als FILE2 (newer than).

WertA -eq WertB : trifft zu, wenn WertA gleich Wert B ist (equal).

WertA -ne WertB : trifft zu, wenn WertA ungleich Wert B ist (not equal).

WertA -gt WertB : trifft zu, wenn WertA grösser als Wert B ist (greater than)

WertA -ge WertB : trifft zu, wenn WertA grösser oder gleich Wert B ist (greater or equal).

WertA -lt WertB : trifft zu, wenn WertA kleiner als Wert B ist (less than).

WertA -le WertB : trifft zu, wenn WertA kleiner oder gleich Wert B ist (less or equal)

<FILE1> -ot <FILE2> : FILE1 ist älter als FILE2 (older than).

Was ist eine Befehlssubstitution und auf welche Arten kann es geschehen?

Es bedeutet, dass die Ausgabe eines Befehls an einen anderen Befehl oder an eine Variable übergeben werden kann.

for z in `find /home -name *.old`
for z in $(find /home -name *.old)

Wie kann für echo die Escape-Sequenzen aktiviert werden und welche gibt es?

echo -e

\n : vor der Ausgabe jeder Zeile eine zusätzliche Leerzeile generieren
\\ : Soll ein Backslash angezeigt werden muss dieser selber Escaped werden
\a : alert (piept einmal)
\b : backspace
\c : unterdrückt die Ausgabe des Newline-Zeichens
\f : form feed (Leerseite)
\r : carriage return
\t : horizontal tabulator (8 Leerzeichen breit)
\v : vertical tabulator (8 Leerzeilen)

Wie kann eine Ausgabe eines Skriptes in eine Mail erfolgen?

echo "Test Mail" | mail -s Test root

Mit welchem Kommando kann man innerhalb eines Scriptes ein externes Programm oder ein anderes Skript aufrufen und mit diesem Programm oder Skript den aktuell laufenden Prozess ersetzen?

dem Programm das Kommando exec voranstellen

Die aufrufende Shell wird dann durch das aufgerufene Programm beendet und ersetzt.

Welches Kommando wird verwendet, wenn in einem Skript eine Sequenz von aufeinander folgenden Zahlen benötigt wird?

seq -s  , 8 20

8,9,10,11,12,13,14,15,16,17,18,19,20

Wichtige Optionen:
-s : Separator (wie oben ein Komma
-f : Format Fliesskommazahlen
-w : führende Nullen (Erzeugung gleichlanger Zahlen durch Ausgabe führender Nullen )
 

Mit was muss ein SQL-Kommando immer abgeschlossen werden und warum?

mit einem Semikolon

Da der Server sonst einen mehrzeiligen Befehl erwartet

Wie kann bei Mysql die Hilfe und eine detaillierte Hilfe zu bestimmten Bereichen angezeigt werden?

help oder \h

für die detaillierte Hilfe: help contents

 

Wie loggt man sich auf eine mysql-DB ein, welche auf einem anderen Host liegt?

mysql -hEXTERNERHOST -uUSERNAME -pPASSWORT

Mit welchem Befehl erstellt man eine neue Datenbank?

mysql> CREATE DATABASE neuedatenbank;

Mit welchem Befehl zeigt man bestehende Datenbänke an?

mysql> SHOW DATABASES;

Étudier