LINUX-Zusammenfassung: Befehle in alphabetischer Reihenfolge ...
LINUX-Zusammenfassung: Befehle in alphabetischer Reihenfolge ...
LINUX-Zusammenfassung: Befehle in alphabetischer Reihenfolge ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
ZHW <strong>LINUX</strong>-Befehlszusammenfassung<br />
<strong>LINUX</strong>-<strong>Zusammenfassung</strong>: <strong>Befehle</strong> <strong>in</strong> <strong>alphabetischer</strong> <strong>Reihenfolge</strong> (unvollständig)<br />
17. Januar 2002<br />
Befehl Kommentar<br />
| (CH-Tastatur AltGr + 7) Pipel<strong>in</strong><strong>in</strong>g (Bsp. ls –l –R ¦ more List<strong>in</strong>g mit Userunterbruch nach jeder Seite)<br />
> (>> Daten am Ende anhängen) Ausgabeumleitung (Bsp. ls –l >file Leitet Ausgabe des List-Befehls <strong>in</strong>s file um)<br />
alias neu=“alt“ (Anm. unalias name) Umbenennen von Kommandos (ohne Argumente: Liste ausgeben)<br />
at 1530 wed + 1 week < script Job bei def<strong>in</strong>iertem Zeitpunkt starten und evtl. wiederholen<br />
bg %n (Anm. fg %n) Job n <strong>in</strong> Background br<strong>in</strong>gen<br />
cancel Job-Nr. Druckerjob beenden<br />
cat Inhalt anzeigen (DOS-Pendant: TYPE). Weiterer Befehl: less<br />
cd Wechseln des Work<strong>in</strong>g Directorys<br />
chgrpg group Pfadname Gruppe von Pfadname auf group setzen (SysOp / Eigentümer)<br />
chmod file u=rwx, g=rwx, o=rwx Zugriffsrechte setzen (u=user, g=group, o=other (world))<br />
chown user Pfadname Eigentümer von Pfadname auf user setzen (SysOp)<br />
clear Bildschirm löschen<br />
cp Kopieren (DOS-Pendant: COPY)<br />
cut –d[Zeichen] –f[Kolonne] Ausschneiden (-d=Delimiter) (siehe auch gawk)<br />
df Heisst Disk free und zeigt den freien Plattenspeicher an<br />
du –k / | sort -u Zeigt die Verzeichnisse der grössen nach sortiert ab / an.<br />
echo text Text ausgeben (\n erzeugt e<strong>in</strong>en Zeilenvorschub)<br />
fdisk –l Zeigt verfügbare Laufwerke an (Auch Partitionen)<br />
fg %n Job n <strong>in</strong> den Foreground br<strong>in</strong>gen<br />
f<strong>in</strong>d [start<strong>in</strong>g path] –name[file] Nach Datei suchen (Bsp. f<strong>in</strong>d /etc -name passwd)<br />
f<strong>in</strong>ger Benutzername Infos über Benutzername<br />
chmod xxx<br />
user group other<br />
r w x r w x r w x<br />
4 4 4<br />
2 2 2<br />
1 1 1<br />
Gawk –f gsub(„%3A“,“:“); datei Ersetzt <strong>in</strong> datei pro Zeile %3A durch : (ACHTUNG: gsub... sollte <strong>in</strong> e<strong>in</strong>er Datei se<strong>in</strong>)<br />
grep ‘text‘ datei Dateien nach Textmuster durchsuchen => Zeilen ausgeben<br />
grep –c ‘text‘ datei Zähle und zeige Anzahl Treffer<br />
grep –i ‘text‘ datei Ignoriere Gross- / Kle<strong>in</strong>schreibung<br />
grep –l ‘text‘ datei Nur bei Treffer Filenamen ausgeben (wichtig!!!)<br />
grep –n ‘text‘ datei Zeilennummer auch ausgeben<br />
grep –v ‘text‘ datei Invertierte Suche<br />
head Erste 10 Zeichen zeigen<br />
jobs Benutzereigene jobs anzeigen (Job Nr. PID)<br />
kill –1 oder –HUP (PID) Stop (hangup)<br />
kill –2 oder –INT (PID) Interrupt<br />
kill –3 oder –QUIT (PID) Quit<br />
kill –9 oder –KILL (PID) Blast: Vorsicht Prozess wird ‘weggeblasen‘<br />
kill –signal PID (oder %n) Signal an den Prozess PID senden (Job n killen)<br />
less datei / Suchbegriff = less sucht <strong>in</strong> datei nach Suchbegriff, mittels Q verlässt man less<br />
ln datei l<strong>in</strong>kname –s Softl<strong>in</strong>k auf File oder Directory (datei) erzeugen (ohne –s wird e<strong>in</strong> Hardl<strong>in</strong>k erzeugt)<br />
logout / exit Abmelden<br />
lp Drucken auf Default-Drucker<br />
lpstat –d ‘Name des Druckers‘ Status e<strong>in</strong>es Druckers abfragen (lpstat ohne Optionen, zeigt allg. Status an)<br />
lpstat –l Status aller Drucker abfragen<br />
ls Filelist<strong>in</strong>g im Default-Format<br />
ls –a Filelist<strong>in</strong>g, -a zeigt versteckte Files (alle Files zeigen)<br />
ls –l Filelist<strong>in</strong>g, -l zeigt Files im Longformat (mit zusätzlichen Angaben)<br />
ls –g Filelist<strong>in</strong>g, -g Gruppe anzeigen<br />
ls –R (Anm. <strong>LINUX</strong>; bash 2.0: ls –r) Filelist<strong>in</strong>g, -r listet jedes dar<strong>in</strong> enthaltene Directory auf (rekursiv)<br />
ls –s Filelist<strong>in</strong>g, -s zeigt symbolische L<strong>in</strong>ks als solche an<br />
ls –x (file enthält das Mail) Filelist<strong>in</strong>g, -x heisst: Ausgabe <strong>in</strong> mehreren Spalten<br />
mail –s “Subj“ name@popserver < file Programm (file) mit Betreff (Subj) und Empfängername (name@pop-Server) senden<br />
mail Benutzeradresse Mails schicken (Ende mit CTRL-D oder “.“)<br />
man Kommando Manualtext holen (man verlassen => Q; Page down => Space; Str<strong>in</strong>g suchen => /)<br />
man –k Stichwort man Files suchen <strong>in</strong> denen das angegebene Stichwort vorkommt (wichtig !!!)<br />
man –t Kommando Manualtext holen und auf Default-Drucker ausgeben<br />
mesg n (Anm. write) Verh<strong>in</strong>dern, dass man per Talk oder Write von anderen Benützern angepaged wird<br />
mesg y (Anm. write) Zulassen, dass man per Talk oder Write von anderen Benützern angepaged wird<br />
mkdir Neues Directory erstellen (DOS-Pendant: md)<br />
more Inhalt anzeigen, mit blättern (Beenden per Q; Page down per Space)<br />
mount device-name /dir (Anm. umount) Physikalisches Diskdrive <strong>in</strong>s Systemdirectory dir e<strong>in</strong>hängen (mount /dev/sda6 /dos)<br />
mp file Schönformatierung auf Postscript-Laserdrucker (sparc)<br />
mv Verschieben von Files (move), kann auch zum umbenennen verwendet werden<br />
passwd (Anm. yppasswd) Passwort ändern<br />
L<strong>in</strong>ux -Befehlszusammenfassung.doc Seite 1 von 3 © 2001 José Fontanil
ZHW <strong>LINUX</strong>-Befehlszusammenfassung 17. Januar 2002<br />
pc / cc / gnu Pascalcompiler / C-Compiler / GNU-C-Compiler<br />
popd (Anm. pushd) Rückkehr <strong>in</strong>s mit pushd gemerkte Directory. SuSE L<strong>in</strong>ux hat e<strong>in</strong> Alias: -<br />
pr file –2 Formatieren auf zwei Spalten pro Seite<br />
ps –l Prozesse eigener Station anzeigen (-l heisst Longformat)<br />
ps –x Alle Prozesse anzeigen<br />
pushd (Anm. popd) Gleiche Funktion wie cd, merkt sich aber das Directory (siehe auch popd) SuSE: +<br />
pwd Ausgabe des Work<strong>in</strong>g-Directorys (das Directory <strong>in</strong>dem man sich gerade bef<strong>in</strong>det)<br />
rlog<strong>in</strong> - / telnet servername (DNS / IP) Verb<strong>in</strong>dung mit e<strong>in</strong>em anderen Rechner aufbauen<br />
rm Löschen von Files (DOS-Pendant: DEL)<br />
rm –i –r Löschen, -i = <strong>in</strong>teraktiv, Abfrage mit Y/N; -r = löschen mitsamt Inhalt)<br />
rmdir Directory löschen (siehe rm –r)<br />
rusers / rwho Alle e<strong>in</strong>geloggten Benutzer im lokalen Netzwerk anzeigen<br />
script file –f 1,2,3 Protokollierung vom Benutzer, oder System, Geschriebenem (Abbruch mit CTRL-D)<br />
sort date<strong>in</strong>ame Sortiert Zeilen <strong>in</strong> e<strong>in</strong>er Datei (-f bedeutet Kolonne)<br />
tail Letzte 40 Zeichen e<strong>in</strong>er Datei anzeigen<br />
talk Benutzername Kommunikationsverb<strong>in</strong>dung zu User (Benutzername) aufbauen<br />
tee file Kopiert std<strong>in</strong> (Standard IN) <strong>in</strong> stdout und gleichzeitig zu file (siehe script)<br />
tr Str<strong>in</strong>g1 Str<strong>in</strong>g2 Ersetzt jedes im Str<strong>in</strong>g1 spezifizierte Zeichen durch Str<strong>in</strong>g2<br />
unalias neu (Anm. alias) Entfernen von umbenannten (nicht unbekannten) Kommandos<br />
umask nnn Zugriffsrechte: Standarde<strong>in</strong>stellung 777 (E<strong>in</strong>gabe = Komplement zu chmod)<br />
umount /device (Anm. mount) Unmounten (entb<strong>in</strong>den) von Devices (Bsp. umount /b<strong>in</strong>/sda6)<br />
vi / xedit / textedit / pico /edy Unix-Texteditoren (Beim vi: -r = recovery nach crash) verlassen = :q!<br />
which Zeigt Befehlslokation an (Wo ist dieser Befehl zu f<strong>in</strong>den) (Bsp. /usr/b<strong>in</strong>)<br />
who / users (Anm. rwho / rusers) Angemeldete Benutzer auf gleicher Masch<strong>in</strong>e anzeigen (siehe auch f<strong>in</strong>ger)<br />
write Benutzername (Anm. talk / mesg) Nachricht (Message) auf Bildschirm vom andern Benutzer schreiben<br />
xhost + Alle User haben Zugriff auf den X-Server<br />
xhost – Ke<strong>in</strong> User hat Zugriff auf den X-Server<br />
xterm –display lok_Rechnername:0.0 Auf Remote Rechner verwenden (Remote X-W<strong>in</strong>dow auf diesem Rechner starten)<br />
ypcat passwd Inhalt aller Benutzer und Log<strong>in</strong>-Namen anzeigen (and encrypted passwords)<br />
yppasswd (Anm. passwd) Netzwerkweites Passwort ändern<br />
SHELL-Details<br />
Shell-Defaults (Variablen) Zugriff auf Variablen immer mit vorangehängtem $-Zeichen (wie <strong>in</strong> BASIC)<br />
PATH Liste der Directories wo Kommandos gesucht werden<br />
HOME Homedirectory (nicht empfehlenswet, lieber ~ verwenden)<br />
PRINTER Default-Pr<strong>in</strong>ter (lp-Kommando)<br />
PROMPT Prompt für Eigabeaufforderung<br />
MANPATH Pfad für Help-Verzeichnisse (man files)<br />
SHELL-Variablen<br />
echo ShellVariable Listet den Inhalt der ShellVariablen auf<br />
set (Anm. <strong>LINUX</strong> (bash): export) Listet alle lokalen Shellvariablen auf, mit set Variabelnamen=Wert, Variablen setzen<br />
pr<strong>in</strong>tenv<br />
pr<strong>in</strong>tenv ist ähnlich wie set<br />
env Listet alle globalen Shellvariablen mit Inhalt auf<br />
DISPLAY Ausgabe umleiten (Bsp. DISPLAY=127.0.0.1:0.0)<br />
Spezielles<br />
CONTROL-Tasten<br />
CTRL-c Abbruch des aktuellen Tasks<br />
CTRL-z (Anm. fg / bg) Stoppen (anhalten!) des aktuellen Tasks<br />
(danach Task per fg oder bg belegen)<br />
CTRL-s (Anm. CTRL-q) List<strong>in</strong>g stoppen<br />
CTRL-q (Anm. CTRL-s) List<strong>in</strong>g freigeben<br />
CTRL-P Up<br />
CTRL-N Down<br />
CTRL-F Right<br />
CTRL-B Left<br />
CTRL-A Home<br />
CTRL-E End<br />
CTRL-d EOF (End Of File erzeugen) wird häufig zum Beenden von Anwendungen benötigt<br />
Wildcards<br />
* beliebige Zeichenfolge<br />
? genau e<strong>in</strong> beliebiges Zeichen (Platzhalter)<br />
[0-9] beliebig wählbares Zeichen aus dem Fundus der <strong>in</strong> der Klammer enthaltenen Zeichen<br />
[!a,f] beliebig wählbares Zeichen ausser den <strong>in</strong> der Klammer enthaltenen Zeichen<br />
\ Hebt Sonderbedeutung des nachfolgenden Zeichens auf<br />
Kommando& Das & bedeutet, dass das zuvor geschriebene Kommando im H<strong>in</strong>tergrund laufen soll<br />
L<strong>in</strong>ux -Befehlszusammenfassung.doc Seite 2 von 3 © 2001 José Fontanil
ZHW <strong>LINUX</strong>-Befehlszusammenfassung 17. Januar 2002<br />
Shellscripts nicht vergessen per chmod 755 die Ausführbarkeit sicherzustellen<br />
~/.cshrc Startup-File (DOS-Pendant: AUTOEXEC.BAT)<br />
~/.log<strong>in</strong> Initialisierungsscript beim Log<strong>in</strong><br />
~/.logout Aufräumarbeiten beim Logout<br />
#!/b<strong>in</strong>/sh Angabe welche Shell das Script starten soll (hier bourne shell)<br />
#!/b<strong>in</strong>/csh Angabe welche Shell das Script starten soll (hier C-shell)<br />
Shellscripts: <strong>Befehle</strong> im Text<br />
echo blablabla `date +%H:%M` blabla Hier wird <strong>in</strong> der Ausgabe (echo) e<strong>in</strong> Datum e<strong>in</strong>gefügt [` = Shift ^+SPACE]<br />
L<strong>in</strong>ux Kernel kompilieren Ins Verzeichnis /usr/src/l<strong>in</strong>ux wechseln und folgende <strong>Befehle</strong> benutzen<br />
make menuconfig Jetzt geht e<strong>in</strong> Kernelkonfigurationsmenu auf, hier alles e<strong>in</strong>stellen, saven<br />
make dep Abhängigkeiten überprüfen, aktualisieren (optional jetzt noch e<strong>in</strong> make clean)<br />
make bzlilo oder make bzimage Wenn LILO benutzt wird make zlilo, sonst make bzimage (b steht für big!)<br />
make modules modules_<strong>in</strong>stall Module kompilieren und <strong>in</strong>stallieren<br />
make clean Jetzt alles aufräumen<br />
Prozesse, Threads Genauere Infos und Library-E<strong>in</strong>b<strong>in</strong>dungen siehe BS-Praktikum 4 und -Praktikum 5<br />
ps –aux Zeigt alle Prozesse, auch Daemons (per ps –aux | grep daemon_name, wählen)<br />
top [-d x x = Aktualisierung jede x Sek] Prozesse dynamisch anzeigen (per h bekommt man e<strong>in</strong>en Help-Screen); q = quit<br />
kill –Signal PID Prozess beenden / abschiessen (Signal = z.B. 9)<br />
pid_t fork() E<strong>in</strong>en Prozess erzeugen<br />
void exit(<strong>in</strong>t status) E<strong>in</strong>en Prozess beenden ( e<strong>in</strong>b<strong>in</strong>den)<br />
pid_t getpid();<br />
PID e<strong>in</strong>es Prozesses holen<br />
pid_t getppid();<br />
PID dessen Parent-Prozesses holen<br />
pid_t getpgrp(); Prozessgruppen-ID abfragen<br />
pid_t setsid(); E<strong>in</strong>e neue Session-ID e<strong>in</strong>richten<br />
pid_t wait(<strong>in</strong>t *status); Auf die Beendigung e<strong>in</strong>es Prozesses warten (oder pid_t wait(NULL);<br />
pid_t waitpid(pid_t pid, <strong>in</strong>t *status, <strong>in</strong>t o) Wartet auf e<strong>in</strong> bestimmtes K<strong>in</strong>d (o = z.B. WNOHANG = nonblock<strong>in</strong>g wait)<br />
unsigned <strong>in</strong>t sleep (unsigned <strong>in</strong>t sec);<br />
void <strong>in</strong>t usleep (unsigned <strong>in</strong>t usec);<br />
Den aktuellen Prozess für e<strong>in</strong>e gewisse Zeit schlafen legen<br />
Verschiedene Varianten von exec() Den aktuellen Prozess mit e<strong>in</strong>em neuen Programm "überlagern"<br />
<strong>in</strong>t system(const char *shellcmd); Führt das angegebene Shell-Kommando aus<br />
clock_t times(struct tms *cpu_zeit); Zeit<strong>in</strong>formation zum Eltern- und K<strong>in</strong>dprozess abfragen<br />
<strong>in</strong>t pthread_create(pthread_t *tid, const<br />
pthread_attr_t *attr, void *(*rout<strong>in</strong>e)<br />
Erzeugung e<strong>in</strong>es POSIX-Threads<br />
(void *), void *arg);<br />
Es muss die Library e<strong>in</strong>gebunden werden.<br />
<strong>in</strong>t pthread_exit(void *status); Beenden e<strong>in</strong>es POSIX-Threads<br />
<strong>in</strong>t pthread_jo<strong>in</strong>(pthread_t th, void<br />
**status_ptr);<br />
Der e<strong>in</strong>e Thread wartet auf das Beenden e<strong>in</strong>es anderen Threads<br />
void semaphore_<strong>in</strong>it(Semaphore *s); Die Semaphore s wird <strong>in</strong>itialisiert und auf UP(green, oben) gestellt.<br />
<strong>in</strong>t semaphore_down(Semaphore *s); Die Semaphore s wird auf DOWN(red, unten) gestellt<br />
<strong>in</strong>t semaphore_up(Semaphore *s); Die Semaphore s wird auf UP(green, oben) gestellt<br />
void semaphore_destroy(Semaphore *s); Die Semaphore s wird aufgelöst und die dazugehörenden Ressourcen freigegeben<br />
<strong>in</strong>t semaphore_decrement(Semaphore *s) Der Wert der Semaphore s wird ohne zu blockieren um e<strong>in</strong>s dekrementiert<br />
L<strong>in</strong>ux -Befehlszusammenfassung.doc Seite 3 von 3 © 2001 José Fontanil