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