Benutzer-Werkzeuge

Webseiten-Werkzeuge


allgemein:howto:linux_essentials

Linux Essentials

Anforderungskatalog für Linux Essentials Test

Hilfe unter Linux

Zu fast allen Befehlen können über den Parameter -h bzw. –help direkte Hilfen angezeigt werden.

Beispiel:

ls --help

So bekommt man meistens die Parameter in sehr knapper Form angezeigt.

Ausführlichere Hilfe bekommt man über die sogenannten Manuals oder Man-Pages, die über den folgenden Befehl aufgerufen werden.

man ls

Über die Pfeiltasten kann navigiert werden. Mit 'q'1) beendet man das Programm.

  • sudo -i * interaktive Shell mit „frischer“ Umgebung
  • sudo -s Shell mit übernommener Umgebung

type feststellen welcher Type der Befehl hat z.B. /bin/mkdir bzw. echo als built-in Befehl.

Parameter hinter Befehlen

Entweder kurz man -L de_DE ls oder lang man –locale=de_DE ls

~<USERNAME> fremder Home-Ordner

which mkdir gibt den Pfad, der Datei mkdir aus.

file mkdir gibt Informationen zur Datei aus.

Beispiele für Umgang mit Dateien

Wie viele Benutzer gibt es im System?

cat /etc/passwd | grep -c : > anzahl_user

Wie viele Gruppen gibt es im System?

cat /etc/group | grep -c : > anzahl_gruppen

Erstelle eine Liste aller Benutzernamen im System!

cat /etc/passwd | cut -d: -f1 > usernames.txt

Wie viele verschiedene Login-Shells gibt es im System?

cat /etc/passwd | cut -d: -f7 | sort | uniq -c |sort -g -r > shells.txt

Suchen von Dateien nach vorgegebenen Kriterien

 
#!/bin/bash
# Suche alle Dateien, die nicht root gehören
echo Suche alle Dateien, die nicht root gehören
sudo find / -xdev -type f \! -user root | wc -l

# Suche alle Dateien, die global ausführbar sind.
echo Suche alle Dateien, die global ausführbar sind.
sudo find / -xdev -type f -executable | wc -l

# Suche alle Dateien, die global schreibbar sind.
echo Suche alle Dateine, die globarl schreibbar sind.
sudo find / -xdev -type f -perm /o=w  | wc -l

# Suche alle Dateien, die das SUID-Bit gesetzt haben.
echo Suche alle Dateien, die das SUID-Bit gesetzt haben.
sudo find / -xdev -perm -4000 | wc -l
# Im Anschluss ausgeben mit ls -l
sudo find / -xdev -perm -4000 | xargs ls -l 
# Oder so innerhalb des find Befehls
sudo find / -xdev -perm -4000 -exec ls -l {} \;
# wichtig: \; muss als Ende für exec durchgereicht werden. Ohne \ würde die bash das ; konsumieren

# oder per for-Schleife
for f in $(sudo find / -xdev -perm -4000) ; do
 ls -l $f
done

Exit-Status

Wenn ein Befehl erfolgreich war, dann wird der Exit-Status 0 zurückgegeben. Sonst ungleich 0.

ls *
echo $?
Ergebnis: 0

ls gibtesnicht
echo $?
Ergebnis: 2

Man kann den Exit-Status zur Steuerung von weiteren Befehlen nutzen.

echo hallo > gibtes
ls gibtes && cat gibtes
Ausgabe: hallo

rm gibtes
ls gibtes && cat gibtes
Ausgabe: ls: cannot access gibtes
cat Befehl wird nicht mehr ausgeführt.
1)
quit
allgemein/howto/linux_essentials.txt · Zuletzt geändert: 14.12.2017 08:53 von richard