|
Befehl
|
Beispiel
|
Erklärung
|
|
ls
|
ls
|
ls gibt die
Verzeichnisstruktur aus
|
|
ls -la
|
ls -la
|
Gibt die Verzeichnisstruktur wie von Windows gewohnt aus
(in einer Liste), a bewirkt das alle Dateien angezeigt werden (auch die
mit Punkt voran)
|
|
mkdir
|
mkdir test
|
erstellt das Verzeichnis test
|
|
rmdir
|
rmdir /root/testv1
|
entfernt das Verzeichnis testv1 aus dem root Verzeichnis -> muss leer sein
|
|
cd
|
cd test
|
cd für change directory, wechselt in das Verzeichnis test
|
|
cd
|
cd ..
|
wechselt ein Verzeichnis höher, Achtung auf das
Leerzeichen zwischen d und den 2 Punkten
|
|
pwd
|
pwd
|
gibt das Verzeichnis aus in dem man sich gerade
befindet z.B. /root
|
|
vi
|
vi test
|
erstellt ein Datei mit dem VI - Editor die test heißt
|
|
cat
|
cat test
|
gibt den Inhalt der Datei test aus
|
|
cp
|
cp test test1
|
cp steht für copy und
kopiert eine Datei in eine andere, gibt dann 2 Dateien mit gleichem
Inhalt
|
|
cp
|
cp test testverzeichnis
|
kopiert die Datei test in das Verzeichnis
Testverzeichnis
|
|
cp
|
cp -R testverzeichnis testv
|
kopiert ganze Verzeichnisse z.B. testverzeichnis auf testv
|
|
mv
|
mv test /root/testv
|
verschiebt (move) eine Datei
von der Quelle ins Ziel
|
|
mv
|
mv testd testv1
|
benennt die Datei testd in testv1 um
|
|
rm
|
rm testd
|
löscht die Datei testd
|
|
rm
|
rm -R /
|
Löscht alles (root
Verzeichnis)
- nicht verwenden!!!
|
|
clear
|
clear
|
löscht den Bildschirm, wie cls
unter Windows
|
|
exit
|
exit
|
ausloggen
|
|
Ctrl + D
|
Ctrl + D
|
ausloggen
|
|
logout
|
logout
|
ausloggen
|
|
shutdown
|
shutdown -r now
|
führt sofort einen Neustart aus
|
|
halt
|
halt
|
fährt den Computer herunter
|
|
init
|
init 5
|
startet den Runlevel 5 (Runlevel von 1-6 verfügbar)
|
|
man
|
man cat
|
zeigt die Manpage
(Hilfeseiten) des CAT Befehles an - für alle Befehle verfügbar
|
|
|
|
d rwx rwx
rwx User Gruppe Größe Datum Name
|
|
1. Stelle steht für den Typ
|
3 mal rwx steht für die
Berechtigungen auf das File oder Directory
|
root root
104 Datum Name
|
|
d =
directory
l =
Link
- = Datei
|
r =
read -> 4
w =
write -> 2
x =
execute -> 1
erstes rwx steht für die
Berechtigungen der Benutzer (User = U),
das 2te für die Berechtigungen der Gruppen (Group = G)
und das 3te für die Berechtigungen der Anderen (Others
= O)
|
erstes root steht für den
Namen des Users der das File besitzt
zweites root steht für die Grupper der der Besitzer angehört
104 ist die Gr öße der Datei
Datum ist das Datum wann es das letzte mal gespeichert
wurde
Name ist Name des Files
|
|
chmod
|
chmod 764 testd
|
damit werden die Berechtigungen des Files testd auf
764 gesetzt. 7 = für die User (rwx ->
4+2+1),
6 = für die Gruppen (rw- -> 4+2)
4 = für die Others (r-- ->4)
|
|
chmod
|
chmod u-x testd
|
nimmt das x Recht der User Gruppe weg
|
|
chown
|
chown rene:users
testd
|
change ownership
ändert den Besitzer der Datei testd -> nur root
kann Besitzer ändern; würde Besitzer auf rene
ändern und die Gruppe auf users (es ist auch
möglich nur den Besitzer zu ändern - dann einfach die Gruppe weglassen)
|
|
cmp
|
cmp testd testd1
|
vergleicht den Inhalt 2er Dateien
|
|
du
|
du
|
disk usage
zeigt an wie viel Platz die Directories auf der
Platte brauchen
|
|
du
|
du -a
|
wie oben zeigt jedoch auch die Files an
|
|
file
|
file testv
file testd
file
.xinitrc
|
file gibt an was die Datei
für ein Typ ist und den Inhalt
file testv
-> ASCII text
file testd
-> directory
file .xinitrc
-> shell script
|
|
find
|
find testv
-type f -name "test" oder
|
sucht eine Datei mit dem Namen test; die Suche soll
immer eingegrenzt werden, Wildcards (?, *) können verwendet werden
|
|
find
|
find
/ -type f -name "test"
|
sucht in allen Verzeichnissen nach einer Datei mit dem
Namen "test" - kann sehr lange dauern - daher einschränken
|
|
|
|
ls -la | more
|
Pipe gibt das Dateilisting seitenweise aus -wie unter DOS /p oder |more
|
|
grep
|
cat testd | grep test
|
Filterung von Dateien, zeigt in der Datei testd alle
Zeilen an die test enthalten
|
|
ln
|
ln -s testd testlink
|
-s erzeugt einen symbolischen Link (anstelle eines
Hard - Links) auf die Datei testd mit dem Namen testlink
|
|
ln
|
ln
-s /testv/test testvlink
|
erstellt einen Link auf das Verzeichnis /testv/test
mit dem Namen testvlink
|
|
tail
|
tail testd
|
gibt nur das Ende einer Datei aus
|
|
which
|
which java
|
zeigt den Pfad an von dem er den Java Interpreter
ausgeführt wird z.B.
|
|
users
|
users
|
zeigt alle Benutzer an die gerade am System angemeldet
sind
|
|
uptime
|
uptime
|
zeigt die Zeit an seit der der Computer eingeschaltet
ist, die eingeloggten User und die durchschnittliche Belastung
|
|
df
|
df
|
disk filesystems
- zeigt die Dateisystem des Systems an und wo sie gemountet
sind + die Prozent der Speicherauslastung
|
|
free
|
free
|
zeigt an wie viel Platz auf der Platte noch frei ist
und wie viel belegt ist
|
|
whoami
|
whoami
|
zeigt an als welcher Benutzer ich eingeloggt bin
|
|
who
|
who
|
zeigt alle Benutzer an die angemeldet sind und die
Konsole dazu
|
|
tar
|
tar -cvf
testsicher testv
|
erstellt ein Archiv mit dem Namen testsicher von der
Datei testv;
-c -> create a new
archive
-v -> verbose
-f -> in ein File archivieren
|
|
tar
|
tar -xvf
testv
|
sicher das File wieder zurück
-x -> extract, extrahiert File
-v -> verbose
-f -> aus File extrahieren
|
|
gzip
|
gzip testsicher
|
zippt das File testsicher,
wird immer die Endung .gz angehängt
|
|
gunzip
|
gunzip testsicher.gz
|
entpackt das file testsicher.gz wieder
|
|
User und Gruppenbefehle
|
|
die User werden in der Datei /etc/passwd
gespeichert
und die Gruppen in der Datei /etc/group
|
|
groupadd
|
groupadd testgruppe
|
fügt ein Gruppe mit dem Namen testgruppe hinzu
|
|
useradd
|
useradd -m -g testgruppe testuser
oder
useradd -m testuser1
oder
useradd testuser2
|
fügt einen User mit dem Namen testuser der Gruppe testgruppe
hinzu
-m -> legt Homeverzeichnis und ein
Dokumentenverzeichnis automatisch an
-g -> nach -g wird die Gruppe angegeben an die der User hinzugefügt
werden soll
|
|
passwd
|
passwd testuser
|
passwd ändert das Passwort
des angegebenen Users - wird kein User angegeben wird das Passwort des
aktuellen Users geändert
|
|
userdel
|
userdel -r testuser
|
löscht den angegebenen User und mit der Option -r auch
dessen Homeverzeichnis
|
|
groupdel
|
groupdel testgruppe
|
löscht die angegebene Gruppe
|
|
usermod
|
usermod
|
mit Usermod können
Einstellungen des Users geändert werden
|
|
vi Editor
Befehle
|
|
nach dem Start mit dem Befehl vi
befindet man sich im Command Modus - alles was
gedrückt wird wird als Command
ausgelegt
|
|
d
|
d (2 x drücken)
|
schneidet im Command Modus
die Zeile aus an der der Cursor steht
|
|
p
|
p
|
fügt die letzte ausgeschnittene Zeile wieder ein
|
|
y
|
y (2 x drücken)
|
kopiert die Zeile bei der man steht
|
|
y
|
5 yy
|
kopiert 5 Zeilen von der Stelle an wo der Cursor steht
- mit p können die Zeilen wieder eingefügt werden
|
|
x
|
x
|
löscht ein Zeichen an der Stelle an der der Cursor
steht
|
|
i
|
i
|
aktiviert den Einfügemodus und man kann schreiben
|
|
ESC
|
ESC
|
damit kommt man vom Einfügemodus wieder in den Command Modus
|
|
a
|
a
|
beginnt mit der Eingabe nach der Stelle an der der
Cursor gerade steht
|
|
:
|
:
|
kommt mit einem Doppelpunkt in den Command
Line Modus (zum Speichern, …)
|
|
w
|
:w
|
zum Schreiben der Datei im Command
Line Modus
|
|
q
|
:q
|
Quit fragt wenn nicht
gespeichert wurde
|
|
q
|
:q!
|
beendet vi ohne zu Speichern
|
|
h
|
:h
|
kommt in die Hilfe mit q kann man sie verlassen
|
|
wq
|
:wq
|
write und quit
|
|
x
|
:x
|
exit and write
|
|
/
|
/test
|
sucht nach dem Begriff der nach dem Slash angegeben ist - Eingabe ohne :
|
|
/
|
/
|
sucht nach dem letzten Suchbegriff
|
|
:s
|
:s/test/tast/g
|
Suchen und Ersetzen; nach dem ersten Slash steht der Begriff nach dem gesucht wird (test),
nach dem zweiten Slash steht mit was der erste
Begriff ersetzt werden soll (tast), /g gibt an das alle Entsprechungen
die gefunden werden, ersetzt werden
|
|
Prozessmanagement Befehle
|
|
>
|
ls -la > dir.txt
|
leitet das Directory Listing (ls
-la) in die Datei dir.txt um
|
|
yes
|
yes
|
gibt immer ein y am Bildschirm an bis man es mit Strg+C unterbricht
|
|
Strg + C
|
Strg + C
|
unterbricht einen Prozess
|
|
clear
|
clear > /dev/tty9
|
löscht die Ausgabe am Terminal tty9
|
|
tee
|
tee
|
gibt Dinge am Bildschirm aus - nimmt es vom
Standardinput entgegen und gibt es am Standardoutput aus
|
|
tee
|
tee < dir.txt
|
gibt den Inhalt von dir.txt auf dem Bildschirm aus
-> wie der cat Befehl
|
|
yes
|
yes &
|
startet Prozesse (hier yes)
im Hintergrund, kann sie mit Strg+C auch nicht
abbrechen
|
|
ps
|
ps aux
|
gibt alle Prozesse, die gerade laufen, am Bildschirm
aus
|
|
ps
|
ps -ef
|
gleiche Funktion wie ps aux, jedoch auf allen Unix Systemen verwendbar
|
|
|
|
sieht die UID vom Benutzer, welcher den Prozess
gestartet hat, die PID (Prozess ID), die PPID (Prozess Parent ID) und die Konsole wo der Prozess l äuft, am Ende steht der Prozessname
|
|
kill
|
kill 1254
|
mit kill kann man den Prozessen (PID) Signale senden,
z. B. fürs Anhalten oder z. B. fürs Beenden von Prozessen
|
|
kill
|
kill -9 1254
|
löscht den Prozess mit der PID 1254 aus dem Speicher
|
|
/dev/null
|
yes > /dev/null &
|
/dev/null ist ein
elektronisches schwarzes Loch in das Ausgaben umgeleitet werden - mit dem
Beispiel kann yes im Hintergrund (&) auf /dev/null ausgegeben werden
|
|
jobs
|
jobs
|
zeigt alle Jobs an die gerade auf der aktuellen Shell laufen
- jede Shell hat ihre eigene Jobverwaltung (Jobcontrol),
mit eigener ID (Job-ID)
|
|
|
|
Job ID Status des Jobs Prozess der läuft
|
|
kill
|
kill %6
|
beendet den Prozess mit der Job-ID
6
|
|
[JobID]+
|
+ zeigt den Job an der als nächstes in den Vordergrund
kommt
|
|
[JobID]-
|
- ist der Job, der nach dem + Job in den Vordergrund
kommt
|
|
fg
|
fg
|
setzt den Job der das + hat in den Vordergrund
|
|
fg
|
fg 7
|
setzt den Job mit der ID 7 in den Vordergrund
|
|
Strg+Z
|
Strg+Z
|
stoppt den Job der gerade im Vordergrund läuft - wird
dann in der Jobliste als "Stopped"
angezeigt
|
|
fg
|
fg oder
fg 5
|
foreground - holt den
gestoppten Job wieder in den Vordergrund
|
|
bg
|
bg oder
bg 5
|
background - startet den
gestoppten Prozess wieder im Hintergrund
|
|
killall
|
killall yes
|
killt alle Prozesse die den String yes
enthalten -> ACHTUNG wenn man root ist - killt
alle Prozesse die den entsprechenden String enthalten
|
|
top
|
top
|
ist ein Tool zur Anzeige und Verwaltung der Prozesse,
kann Prozesse killen, Nice - Level verändern,
...
|
|
nice
renice
|
|
starte einen Prozess mit einem bestimmten Nice Level -> +19 ist der niedrigste - benötigt am
wenigsten CPU-Zeit, -19 ist der höchste - benötigt am meisten CPU-Zeit;
der Nice-Level gibt an wie viel CPU-Zeit für
einen Prozess zur Verfügung steht
|
|
diverse Befehle
|
|
export
|
export
|
gibt alle Umgebungsvariablen aus, z.B. den User, den
Hostname, ….
|
|
export
|
export xxx="test"
|
damit legt man eine Variable xxx
an die den Wert test enthält
|
|
Windowmanager
Befehle
|
|
startx
|
startx
|
startet den Default Window
Manager
|
|
xdm
|
xdm
|
startet die XServer
Anmeldung
|
|
kdm
|
kdm
|
startet die KDE Anmeldung
|
|
XFree86
|
XFree86
|
mit diesem Befehl wird der XServer
gestartet
|
|
sax2
|
sax2
|
damit kann das XWindow
Konfigurationsfile geändert werden, Bildschirmauflösung, Farbtiefe, ….
|
|
Verbindung zu anderen PC´s - Befehle
|
|
su
|
su
|
zum Einloggen als Superuser - kann sich als root in einer normalen Benutzer Konsole mit su einloggen
|
|
ssh
|
ssh root@192.168.0.4
|
kann sich über SSH als root
beim PC mit der angegebenen IP-Adresse
einwählen
|
|
xhost
|
xhost +
|
deaktiviert das man sich zu anderen X-Servern
verbinden kann
|
|
xhost
|
xhost -
|
aktiviert das man sich zu anderen X-Servern verbinden
kann
|
|
export
|
export
Display=192.168.0.4:0.0
|
transformiert die Ausgabe auf das 0te Grafikterminal
des PC´s mit der jeweiligen IP-Adresse
(0te Terminal -> wenn es ein Einzelplatzrechner ist); man kann dann am
anderen PC eine Anwendung starten z.B. xeyes
-> die grafische Ausgabe erhält man bei sich selbst
|
|
scp
|
scp root@192.168.0.4:
/var/log/test.txt
|
Secure Copy -> damit kann
man sicher Files über das Netzwerk kopieren;
kopiert die Datei test.txt vom angegebenen Computer
|
|
NFS Befehle
|
|
in der Datei /etc/exports
kann man die Verzeichnisse eintragen die freigegeben werden sollen z.B. /var *(ro) -> das
Verzeichnis /var wird freigegeben für alle (*) aber
nur Lesezugriff (ro = read
only oder rw = read and write); statt dem
Stern stehen auch noch andere Möglichkeiten zur Verfügung z.B.
10.1.*(alle mit diesen IP-Adressen dürfen mounten), www.mydomain.org (alle aus dieser Domain
dürfen mounten), *.mydomain.org (alle Computer
aus dieser Domain dürfen mounten) oder auch für
einzelne User möglich
|
|
rcnfsserver
|
rcnfsserver restart
|
startet den NFS-Server neu
damit man sich zu einem eben freigegebenen Verzeichnis auch verbinden
kann
|
|
mount
|
mount
-t nfs 192.168.0.4:/var /mnt/nfsvar
|
mountet das Verzeichnis vom
PC mit der IP-Adresse auf das locale Verzeichnis /mnt/nfsvar; mit -t nfs wird der
Filesystemtyp angegeben, hier NFS
|
|
unmount
|
unmount /mnt/nfsvar
|
de - mountet das angegebene
Verzeichnis wieder
|
|
Befehle zur zeitlichen Steuerung
|
|
at
|
at 15:00
|
startet um 15 Uhr diese Befehle die man nach der
Eingabe von at eingibt (alle nachfolgenden werden in Warteschlange
übernommen) -> mit Strg + D wird Eingabe
beendet und Befehle in Warteschlange geschrieben
|
|
atq
|
atq
|
zeigt an was in der Warteschlange steht, ist der
Zeitpunkt vorbei steht nichts mehr in der Warteschlange
|
|
atrm
|
atrm 5
|
löscht das Element das Nummer 5 in der Warteschlange
hat
|
|
cron
|
|
ermöglicht das zeitgesteuerte ausführen von Befehlen
-> besser als mit at
|
|
crontab
|
crontab -e
|
crontab ruft das File zum
Editieren auf, in diesem File steht was, wann ausgeführt werden soll
|
|
crontab
|
crontab -l
|
gibt den Inhalt des Files mit cat
aus
|
|
crontab
|
crontab -r
|
löscht das crontab File des
jeweiligen Users
|
|
im crontab File muss
folgendes stehen:
min stunden tage monate wochentage
Befehl/Script
15 12,14 * * 2,4 /home/testscript
Bedeutung: alle 15 Minuten um 12 und 14 Uhr, jeden Tag, jeden Monat aber
nur am Dienstag und Donnerstag (Montag=1) wird das Testscript ausgeführt
30 4,8,12 4,8,12 4,6,8 *
/home/testscript
alle 30 Minuten, um 4, 8 und 12 Uhr, am 4ten, 8ten und 12ten in den
Monaten April, Juni und August, jeden Wochentag wird das Script
ausgeführt
/5 * * * * /home/testscript
alle 5 Minuten, jede Stunde, jeden Tag, jeden Monat und jeden Wochentag
wird das Script ausgeführt
|
|
diverse Befehle
|
|
alias
|
alias
|
zeigt alle Aliases an die mit irgendwelchen Befehlen
verknüpft sind
|
|
alias
|
alias lala="ls
-la"
|
legt den Alias lala an mit dem die gleich Funktion
verknüpft ist wie wenn man den Befehl ls -la
eingibt
|
|
nach dem ausloggen sind die selbst angelegten Aliases
wieder weg. Man kann aber im Home Verzeichnis in der .profiles
Datei Aliases anlegen die immer vorhanden sind.
|
|
alias
|
alias
test="ls -la;ls
-la"
|
führt den ls -la Befehl 2mal
aus -> kann in einem Alias mehrere Befehle zusammenfassen
|
|
unalias
|
unalias test
|
löscht den Alias test wieder
|
|
Befehle zum Konfigurieren des Kernels
|
|
make
|
make xconfig
|
mit diesem Befehl wird der Kernel
unter der grafischen Oberfläche konfiguriert
|
|
make
|
make menuconfig
|
mit diesem Befehl wird der Kernel
über eine Shell konfiguriert
|
|
make
|
make clean
|
ein Aufräumbefehl der Reste von alten Befehlen
"wegräumt"
|
|
make
|
make dep
|
löst Abhängigkeiten des Systems auf
|
|
make
|
make bzImage
oder
make zImage
|
gibt an wie der Kernel
komprimiert werden soll
|
|
make
|
make modules
|
erzeugt Module
|
|
cp
|
cp zImage
/boot/newkernel
|
kopiert den Kernel
|
|
make
|
make modules_install
|
installiert Module
|