Ü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 |
SuSe |
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:
/etc/opt/kde3/share/config/kdm/kdmrc
|
[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.
/etc/bash.bashrc.local
|
PS1="${_t}\u@\h \w ## " alias ..='cd ..' alias ...='cd ../..' alias dir='ls -lh' alias du='echo du bist der groesste!! ' |
Einige wichtige Dateien:
-----------------------------------------
/etc/* (systemweite configs)
/etc/sysconfig/*
/etc/fstab (filesystem tabelle - „mountpoints“)
/etc/init.d/* (systemprozesse / runlevel verzeichnisse)
/etc/resolv.conf (Nameserver Einträge)
/etc/sysconfig/network/routes (routen tabelle)
/var/log/messages (syslog)
/etc/X11/xorg.conf (X-configfile)
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"
/etc/profile.local
|
PATH=$PATH:/foo/bar; export PATH; |