Übersicht über die wichtigsten Shell-Befehle zur Netzwerk- und Systemadministration für den fortgeschrittenen User.

(Alle Shell Befehle kann man auch in eine Datei mit Endung „.sh“ legen (Endung optional) und diese, nachdem man sie ausführbar gemacht hat, starten!! Zu Beginn eines "Shellscripts" muss in der ersten Zeile "#!/bin/bash" (ohne ") vorangestellt werden)



Interface Konfiguration (verschiedenes)

ifconfig eth0 0.0.0.0 promisc up

Promiscious mode aktivieren

ifconfig eth0 down

Interface abschalten

ifconfig

Übersicht über aktivierte Interfaces

ifconfig eth0 up

Interface einschalten

ifconfig -a

Übersicht über alle Networkinterfaces



Ein Interface (eth1) konfigurieren

ifdown eth1

deaktiviert das Interface eth1

ifconfig eth1 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255

definiert IP und Netmask für das Interface eth1

route add default gw 192.168.0.1

setzt den Default-Gateway

ifup eth1

aktiviert das Interface eth1



Empfange von DHCP

dhcpcd eth0
dhclient eth0

SuSe
Debian



ping

ping


ping -c 2 192.168.0.3

nur 2 Packete


Routen ausgeben

route



Route hinzufügen

route add -net 192.168.0.3 netmask 255.255.255.0 gw 192.168.0.1



Routen verfolgen

traceroute




„bridge utils“ (ein Tool um eine Netzwerkbrücke einzurichten)

brctl addbr br0

bridge zum System hinzufügen

brctl delbr br0

bridge löschen

brctl addif br0 tap0

ein Interface „tap0“ zur Brücke hinzufügen

brctl show

listet alle bridge-einstellungen

brctl delif br0 tap0

entfernt ein Interface von der Brücke



Secureshelltunnel eröffnen (SSH-Port = 22)

ssh user@host


ssh root@192.168.0.3

Baut eine ssh verbindung als user „root“ zu dem Rechner mit der IP 192.168.0.3 auf


SSH mit X unterstützung

ssh -X root@192.168.0.3

mit X-Unterstützung ist es möglich grafische Programme am Server zu öffen, die lokal dargestellt werden.


SSH mit definiertem Port

ssh user@80.178.135.33 -p 2233




securecopy (durch SSH-Tunnel von A nach B kopieren)

scp [quelle] [ziel]


scp DATEI XX.XX.XX.XX:/home/user/DATEI

sendet die datei „DATEI“ an den Server und legt diese im /home Verzeichnis des Users ab

scp XX.XX.XX.XX:/home/user/DATEI DATEI

holt die date „DATEI“ aus dem angegebenen Verzeichnis und legt diese lokal ab.


X login eines remotePC auf display 1 legen (Alt+F8)

X :[display] -query [IP]


X :1 -query 192.168.0.3

Ermöglicht sich auf einem RemotePC mit voller grafischer Unterstützung einzuloggen




In folgender Datei muss am RemotePC editiert werden um den X-login zu ermöglichen:


[Xdmcp]

Enable=true



Prozess killen

kill [pid]

Ermöglicht einen bestimmten Prozess zu terminieren

killall [name] (oder) killall -9 [name]

Terminiert alle Prozesse mit diesem Namen


Prozess listing

ps


ps caux

listet alle Prozesse und deren Besitzer in übersichtlicher Weise


Pipe (mit diesem Zeichen „|“ kann man mehrere Shellbefehle verknüpfen)

|



Einen String aus einer menge heraus"grep"en

grep




Dateien auflisten/suchen lassen

slocate [name]

liefert genauen Pfad der Datei (slocate ist datenbankbasierend)

find [location]

listet alle Dateien die gefunden werden

find / -name NAME -depth

durchsucht gesamten Verzeichnisbaum nach NAME


find kombiniert mit grep

find / | grep [dateiname]

sucht atei auf gesamten system


Verzeichnis Navigation

cd [location]

wechselt in definiertes Verzeichnis

..

wechselt in nächst höheres Verzeichnis



Datei ausführen (in subshell)

./[file]



X Anwendung als „root“ starten (Alt+F2 „Ausführen“)

kdesu NAME



Dateien löschen

rm *.*

löscht alle Dateien im Verzeichnis

rm DATEI

löscht definierte Datei

rm /home/user/verzeichnis -R

löscht ein Verzeichnis R= rekursiv


Dateien kopieren

cp [original] [kopie]



Dateien verschieben

mv [file] [location]


mv /verz/verz/file /verz




„long listing“ eines Verzeichnisses

ls -l

listet alle Dateien

ls *aa*

listet alle Dateien die "aa" beinhalten


Datei anlegen

touch [file]



Inhalt einer Datei ausgeben

cat [file]


tac [file]

rückwärts ausgeben


Die letzten 10 Zeilen einer Datei ausgeben

tail [file]


tail -n 20

20 zeilen



Inhalt einer Datei in eine andere schreiben

cat [file1] > [file2]

file2 wird automatisch angelegt


Ausgabe +Beobachtung von Veränderungen

tail -f /var/log/messages

sinnvoll bei system logs



Aktuellen Benutzer wechseln

su [username]



Dateirechte setzen

chmod [rechte] [file]

rechte : [owner group others]

chmod 777 dateiname

jeder darf ausführen,lesen,schreiben

chmod 700 dateiname

nur Besitzer darf alles


Dateibesitzer setzen

chown user:users [file]

Datei gehört user in der Gruppe user



.deb installieren

dpkg -i openvpn-2.0-3.i586.deb

debian paket installieren

dpkg -e openvpn

e= erase || nur Name notwendig!

dpkg --configure -a

zB. fall das GUI mist baut.. Fertig installieren, konfigurieren

.rpm installieren

rpm -hiv openvpn-2.0-3.i586.rpm --nodeps

Abhängigkeiten werden ignoriert || h= human readable || i= install || v= verbose

rpm -e openvpn

e= erase || nur Name notwendig!

rpm --rebuilddb

zB. um Fehler in der rpm-Database zu beheben


Aus einem „source rpm“ eine "normales" für seine Distribution bauen

rpmbuild --rebuild name.src.rpm

*.rpm ist danach unter /usr/src/packages/RPMS/ixxx zu finden




In folgender Datei kann man das Aussehen des prompt PS1, aliase etc. festlegen.


PS1="${_t}\u@\h \w ## "

alias ..='cd ..'

alias ...='cd ../..'

alias dir='ls -lh'

alias du='echo du bist der groesste!! '




Einige wichtige Dateien:

-----------------------------------------




In folgender Datei kann man festlegen welche Verzeichnisse man im PATH haben möchte. Wenn diese Datei nicht vorhanden ist kann man sie einfach anlegen "touch /etc/profile.local"


PATH=$PATH:/foo/bar;

export PATH;