Linux-Grundlagen
für Anwender und Administratoren
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
https://www.tuxcademy.org/
grd1:d0ad6b9d16863aeb:2015-08-04
grd1:a13e1ba7ab759bab:2015-08-04
grd1:HnLafg42pqEurl5k7wWY8u
http://www.tuxcademy.org info@tuxcademy.org
http://creativecommons.org/licenses/by-sa/4.0/
anselm@tuxcademy.org
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
Inhalt
help --help
vi emacs
vi
4 Inhalt
cd
ls
mkdir rmdir
cp
ln ln -s
more less
find
locate slocate
grep
cat tac
head tail
od hexdump
tr expand unexpand
fmt pr
sort uniq
cut paste
tar
cpio
gzip
bzip2
xz
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
Tabellenverzeichnis
vi
vi
vi
vi
ex vi
emacs
emacs
emacs
emacs
ls
ls
cp
more
less
find
find
grep
cat
tac
od
tr
tr
pr
nl
wc
sort
join
jobs
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
Abbildungsverzeichnis
vi
vi
emacs
tee
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
Vorwort
Kapitel
Lernziele
Voraussetzungen
C Übungsaufgaben
Schreibmaschinenschrift
fetter
Schreibmaschinenschrift
12 Vorwort
-f
-a -b
Wichtige Konzepte
Definitionen
info@tuxcademy.org
LPIC-1-Zertifizierung
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
1
Einführung
Inhalt
Lernziele
Vorkenntnisse
grd1-einfuehrung.tex (a13e1ba7ab759bab)
14 1 Einführung
Bell Laboratories
C
VAX
System V
SVR4
1.2 Die Geschichte von Linux 15
Bild 1.1:
Minix
55MiB
Linux 2.0
Linux 2.1
50MiB Linux 2.2
Linux 2.3
Linux 2.4
Linux 2.5
45MiB Linux 2.6
40MiB
35MiB
30MiB
25MiB
20MiB
15MiB
10MiB
5MiB
1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007
Übungen
C 1.1
C 1.2
GPL
Free Software Foundation
Freie Software
Open Source
1.3 Freie Software, »Open Source« und die GPL 17
EULAs
B
GPLv3
Public Domain
B
18 1 Einführung
B
1.3 Freie Software, »Open Source« und die GPL 19
Freiheits-Kriterien
Debian Free Software Guidelines
Mehrfach-Lizenzierung
20 1 Einführung
Übungen
C 1.3
C 1.4
Versionen
stabile Versionen
Entwicklungs-Versionen
1.4 Linux – Der Kernel 21
Kernel 2.6
Release-Kandidat
B
-mm -mm-Baum
Version 3.0
Distributions-Kernels
Kernel-Struktur
22 1 Einführung
Module
Hardwareerkennung
Übungen
C 1.5
Prozessoren
Hardware
Multitasking
B
1.5 Die Eigenschaften von Linux 23
mehrere Benutzer
Virtualisierung
Effizienz
Dateisysteme
TCP/IP-Stack
Grafikumgebungen
Software
Embedded-Bereich
24 1 Einführung
Sicherheitslücken
Linux in Firmen
Öffentliche Verwaltung
Übungen
C 1.6
1.6 Linux-Distributionen
Distributionen
SUSE
/etc/sysconfig
26 1 Einführung
Attachmate
Micro Focus
YaST
Debian-Projekt
Grundlage
main
non-free contrib
Versionen
1.6 Linux-Distributionen 27
Benutzer
wählen Entwickler
Projektverantwortliche
Projektführer
ernennt ernennt
Delegierte anerkennen
lige
etc. etc.
iwil
Fre Software in the
Public Interest
(SPI)
Bild 1.3:
unstable
testing
testing
stable
stable
Ableger-Projekte
Ubuntu
unstable
28 1 Einführung
Weitere Distributionen
Gemeinsamkeiten
bash
Übungen
C 1.7
http://www.distrowatch.org/
1.6 Literaturverzeichnis 29
Zusammenfassung
Literaturverzeichnis
DFSG http://www.debian.org/social_contract
GPL-Urteil06
http://www.jbb.de/urteil_lg_frankfurt_gpl.pdf
GPL91
http://www.gnu.org/licenses/gpl.html
LR89
Rit84
http://cm.bell-labs.com/cm/cs/who/dmr/hist.html
RT74
TD01
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
2
Die Bedienung des Linux-Systems
Inhalt
Lernziele
Vorkenntnisse
grd1-bedienung.tex (a13e1ba7ab759bab)
32 2 Die Bedienung des Linux-Systems
Bild 2.1:
Zugangsberechtigung
hugo
geheim
B
2.1 Anmelden und Abmelden 33
rechner login: _
rechner
Password: _
B
34 2 Die Bedienung des Linux-Systems
$ logout
Übungen
C 2.1
C 2.2
Rechner ausschalten
Übungen
C 2.3
root root
2.3 Der Systemadministrator 35
root
root
root
root
Grafische Oberfläche als root:
riskant
/bin/su -
root su root Identität von root annehmen
root exit
E su
/bin/su -
su root
su
su
root
sudo
datei.txt hugo
root
root
B
kdesu kdesu
root
36 2 Die Bedienung des Linux-Systems
Bild 2.2:
Übungen
C 2.4 su
id
root
# id
uid=0(root) gid=0(root) groups=0(root)
C 2.5
su
C 2.6
id
Zusammenfassung
root
root
su
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
3
Keine Angst vor der Shell
Inhalt
Lernziele
Vorkenntnisse
grd1-shell1.tex (a13e1ba7ab759bab)
40 3 Keine Angst vor der Shell
3.1 Warum?
Bourne-Shell
C-Shell
3.2 Was ist die Shell? 41
Korn-Shell
bash Bourne-Again-Shell
Shellskripte
Programmiersprache
sh
sh
bash
ksh
csh
tcsh
csh tcsh
B
echo $0
42 3 Keine Angst vor der Shell
Übungen
C 3.1
/etc/shells
C 3.2
echo $0
bash echo $0
3.3 Kommandos
3.3.1 Wozu Kommandos?
xterm
konsole
hugo@red:/home > _
hugo red
/home
Syntax
Wörter
Erstes Wort: Kommando
Parameter
A
Groß- und Kleinschreibung
B
3.3 Kommandos 43
- Optionen
-a -l -F -alF
lange Optionen
Argumente
Befehlsstruktur
exit cd
44 3 Keine Angst vor der Shell
/bin /usr/bin
$ type echo
echo is a shell builtin
$ type date
date is /bin/date
echo
date
$ date
Mo 12. Mär 09:57:34 CET 2012
echo date
Hilfe
help
$ help type
type: type [-afptP] name [name ...]
For each NAME, indicate how it would be interpreted if used as a
command name.
Übungen
C 3.3
alias echo rm test
Leerzeichen
$&;(){}[]*?!<>«
3.3 Kommandos 45
Maskierung
Zusammenfassung
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
4
Hilfe
Inhalt
help --help
Lernziele
Vorkenntnisse
grd1-hilfe.tex (a13e1ba7ab759bab)
48 4 Hilfe
$ help exit
exit: exit [n]
Exit the shell with a status of N.
If N is omitted, the exit status
is that of the last command executed.
$ _
B --help -h -
?
4.3 Die Handbuchseiten 49
Tabelle 4.1:
man bash
4.3.2 Struktur
Gliederung von Handbuchseiten
grep
50 4 Hilfe
Tabelle 4.2:
groff
grep
grep
groff
/usr/share/man man
B
MANPATH man
manpath
MANPATH
4.3.3 Kapitel
Kapitel
man
man 1 crontab crontab
man 5 crontab crontab
crontab
crontab crontab
man -a -a man
man:/
#
4.4 Die Info-Seiten 51
apropos Stichwortsuche
man -k
whatis whatis
Namenssuche
whatis
man -f
Übungen
C 4.1 ls
man
C 4.2
C 4.3
man
groff -Tascii -man | less
groff -Tps -man | gv -
Hypertext
Bild 4.1:
52 4 Hilfe
info
info
emacs
info:/
groff
Übungen
C 4.4 ls
info
C 4.5
apropos
Problemorientier-
te Dokumentation
HOWTOs
HOWTOs im Netz
Linux Documentation Project http://www.tldp.org
WWW
USENET
http://www.tldp.org/
http://www.linux.org/
http://www.linuxwiki.de/
http://lwn.net/
http://freecode.com/
http://www.linux-knowledge-portal.de/
FAQ
B http://groups.google.de/
B
comp.os.linux.* de.comp.os.unix.linux.*
de.comp.os.unix.shell
de.comp.os.unix.linux.misc
B majordomo@vger. Mailinglisten
kernel.org
subscribe LISTE
http://vger.kernel.org/vger-lists.html
Suchmaschinen
54 4 Hilfe
Freie Dokumentation
Zusammenfassung
help
--help
man apro-
pos whatis
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
5
Editoren: vi und emacs
Inhalt
vi
Lernziele
vi emacs
Vorkenntnisse
grd1-editoren.tex (a13e1ba7ab759bab)
56 5 Editoren: vi und emacs
5.1 Editoren
x u
Unterschied zu Text-
verarbeitungen
B
groff
Syntaxhervorhebung B
Übungen
C 5.1
elvis vi
vi
Einer der ersten Bildschirmedito-
ren
vi
vi
ex
vi
vi
vi
vi
vi
B vi
ed
ed vi ed
ed
EDLIN ed
ed
ed
ed
sed
sed
ed
vi
58 5 Editoren: vi und emacs
Bild 5.1: vi
vi
Arbeitsmodi vi
Arbeitsmodi
vi
vi
vi
vi
B vi
Kommandomodus vi
5.2 Der Standard – vi 59
Bild 5.2: vi
Tabelle 5.1: vi
A
i
I
o
O
60 5 Editoren: vi und emacs
Tabelle 5.2: vi
h
l
k
j
0
$
w
b
f
Strg f
Strg b
G
G
B vi
Esc :set showmode
a i
Eingabemodus o vi
-- INSERT --
Esc
vi
Z Z
: q!
Kommandozeilenmodus : vi
vi
vi
ex
ex
: w : x
: wq
Z Z
Bewegung im Text
vi
5.2 Der Standard – vi 61
Tabelle 5.3: vi
x
X
r
d w
d $
d 0
d f
d d
d G
d 1 G
Tabelle 5.4: vi
c w
c $
c 0
c f
c / abc abc
3 Wiederholungsfaktor
x
u undo
Esc
vi
c y
62 5 Editoren: vi und emacs
p P
vi
26 Zwischenspeicher
a z
” c y 4 w
c ” g p g
/
? vi
n N
: , s/ / /g
Textbereich
:5,$s/rot/blau/
rot blau
:5,$s/rot/blau/g
5.2 Der Standard – vi 63
Tabelle 5.5: ex vi
: w
: w!
: e
: e #
: r
: !
vi
: r!
: s/ /
: q vi
: q! vi
: x : wq
vi
rot blau
Brotmaschine Bblaumaschine
B . $
:/^ANFANG/,/^ENDE/s/rot/blau/g
: s/Zebra/&fink
Befehle im Kommandozeilenmodus
ex
Übungen
C 5.2 vim
vim
64 5 Editoren: vi und emacs
Emacs-Ableger jove
vi
Diverse Funktionen
vi
emacs
Strg
x c
Esc
vi
-:---
-:**-
-:%%-
B Esc
Alt
emacs
Strg h
emacs
Menüleiste
Statuszeile
emacs *scratch*
66 5 Editoren: vi und emacs
All
vi
Strg x u
Strg x Strg c emacs
emacs
Tab
Strg x Strg v
Strg x i
Strg x Strg s
Strg x Strg w
Strg x b
Strg x Strg b
Bewegung im Text
Strg f
Strg b
Strg n
Strg p
Esc f
Esc b
Strg a
Strg e
Esc a
Esc e
Strg v
Esc v
Esc <
Esc >
Strg d
Esc d
Strg k
Strg
k
Esc k
Strg w
Strg
68 5 Editoren: vi und emacs
Strg t
Esc t
Strg x Strg t
Esc c
Esc u
Esc l
Strg y
Esc y
emacs
Textteile suchen
emacs
Strg s
Strg r
Weitere Funktionen
emacs
Verzeichniseditor Strg x d
5.4 Andere Editoren 69
Emacs-Lisp
emacs
Übungen
C 5.3
Strg h t
kate gedit
Zusammenfassung
vi
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
6
Dateien: Aufzucht und Pflege
Inhalt
cd
ls
mkdir rmdir
cp
ln ln -s
more less
find
locate slocate
Lernziele
Vorkenntnisse
grd1-dateien.tex (a13e1ba7ab759bab)
72 6 Dateien: Aufzucht und Pflege
Dateien
Erlaubte Zeichen
A
Groß- und Kleinschreibung
x-files X-Files
Endungen
blabla.txt
blabla
B
gcc
.c .s
.o
Sonderzeichen
6.1 Datei- und Pfadnamen 73
A Ortseinstellung
convmv convmv
mv
Portable Dateinamen
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789+-._
X-files
bla.txt.bak
17.Juni
7_of_9
-20°C -
.profile
3/4-Takt
Müll
. Versteckte Dateien
74 6 Dateien: Aufzucht und Pflege
6.1.2 Verzeichnisse
brief.txt
Schrägstrich /
hugo/brief.txt
brief.txt hugo
Verzeichnisbaum
B
root
absolute Pfadnamen
6.2 Kommandos für Verzeichnisse 75
aktuelles Verzeichnis
brief.txt
brief.txt susi/brief.txt
brief.txt susi
relative Pfadnamen
B
/
cd
Abkürzungen
..
/home/hugo
/home
/home/hugo
briefe romane briefe
../romane/werther.txt
werther.txt romane
/home/hugo/romane/werther.txt
PATH
prog
PATH
$ ./prog
/home
/home/hugo hugo
Tabelle 6.1: ls
ls -F ls -l
-
* -
/ d
@ l
$ cd briefe briefe
$ cd ..
$ cd
$ pwd
/home/hugo
hugo@red:~/briefe> _
~/briefe /home/hugo/briefe ~
B cd -
cd
Übungen
C 6.1 cd
ls
Tabellenformat
B
6.2 Kommandos für Verzeichnisse 77
Tabelle 6.2: ls
-a --all
-i --inode
-l --format=long
--color=no
-p -F
-r --reverse
-R --recursive DIR/S
-S --sort=size
-t --sort=time
-X --sort=extension
B
-F -p
Versteckte Dateien
-a -l
Zusatzinformationen
Abkürzungen
l ls -alF ll la
ls
ls -l
$ ls
datei.txt
datei2.dat
$ ls -l
-rw-r--r-- 1 hugo users 4711 Oct 4 11:11 datei.txt
-rw-r--r-- 1 hugo users 333 Oct 2 13:21 datei2.dat
hugo
users
ls -
l
78 6 Dateien: Aufzucht und Pflege
B /tmp
ls -l /tmp ls
/tmp -d
/tmp
ls
ls
Übungen
C 6.3 /boot
C 6.4 ls
ls
C 6.5 ls
-p
$ mkdir bilder/urlaub
mkdir: cannot create directory `bilder/urlaub': No such file or directory
$ mkdir -p bilder/urlaub
$ cd bilder
$ ls -F
urlaub/
mkdir
$ rmdir bilder/urlaub
$ ls -F
6.3 Suchmuster für Dateien 79
bilder/
-p
$ mkdir -p bilder/urlaub/sommer
$ rmdir bilder/urlaub/sommer
$ ls -F bilder
bilder/urlaub/
$ rmdir -p bilder/urlaub
$ ls -F bilder
ls: bilder: No such file or directory
Übungen
C 6.6 grd1-test
dir1 dir2 dir3
grd1-test/dir1
hallo hallo grd1-test/dir2
huhu huhu
dir3 rmdir
dir2 rmdir
p
.c prog1 prog2
Suchmuster
Stern
prog1/p*.c
prog1/p1.c
prog1/paulchen.c
prog1/pop-rock.c
prog1/p.c
B echo
80 6 Dateien: Aufzucht und Pflege
$ echo prog1/p*.c
Alle Dateien *
.*
*.*
*.*
Fragezeichen
p?.c
p1.c
pa.c
p-.c
p..c
-l ls *
B
6.3 Suchmuster für Dateien 81
6.3.2 Zeichenklassen
prog[123].c
prog1.c
prog2.c
prog3.c
prog.c
prog4.c 4
proga.c a
prog12.c
Bereiche
prog[1-9].c
[A-Z]brakadabra.txt
prog[A-z].c
prog[A-Za-z].c
A
prog[A-Za-z].c
Komplement
prog[!A-Za-z].c
g .
82 6 Dateien: Aufzucht und Pflege
{rot,gelb,blau}.txt
kartesisches Produkt
{a,b,c}{1,2,3}.dat
$ mkdir -p umsatz/200{8,9}/q{1,2,3,4}
Übungen
C 6.7
prog.c prog1.c prog2.c progabc.c prog
p.txt p1.txt p21.txt p22.txt p22.dat
prog*.c prog?.c
p?*.txt p[12]* p* *.*
C 6.8 ls ls *
C 6.9
$ ls
-l datei1 datei2 datei3
$ ls *
-rw-r--r-- 1 hugo users 0 Dec 19 11:24 datei1
-rw-r--r-- 1 hugo users 0 Dec 19 11:24 datei2
-rw-r--r-- 1 hugo users 0 Dec 19 11:24 datei3
C 6.10 *
6.4 Umgang mit Dateien 83
Tabelle 6.3: cp
-b
-f
-i
-p
-R
-u
-v
cp
-Kopie
cp
-i
Zielverzeichnis
$ cp liste liste2
$ cp /etc/passwd .
$ ls -l
-rw-r--r-- 1 hugo users 2500 Oct 4 11:11 liste
-rw-r--r-- 1 hugo users 2500 Oct 4 11:25 liste2
-rw-r--r-- 1 hugo users 8765 Oct 4 11:26 passwd
cp liste
liste2 /etc/passwd
cp
Liste von Quelldateien
*.txt brief1.txt
brief2.txt *.bak
*.txt
*.bak
cp *.bak
cp
84 6 Dateien: Aufzucht und Pflege
cp
mv
Datei verschieben/umbenennen
mv cp
-b -f -i -u -v mv
cp
$ mv passwd liste2
$ ls -l
-rw-r--r-- 1 hugo users 2500 Oct 4 11:11 liste
-rw-r--r-- 1 hugo users 8765 Oct 4 11:26 liste2
liste2 passwd
cp mv
rm cp mv
Löschen ist endgültig!
rm *
rm -r *
A rm
-rf /
rm -rf bla *
rm -rf bla*
rm
rm -i
$ rm -i lis*
rm: remove 'liste'? n
rm: remove 'liste2'? y
$ ls -l
-rw-r--r-- 1 hugo users 2500 Oct 4 11:11 liste
6.4 Umgang mit Dateien 85
y n
B j
y
rm
-i -r cp
-v -f rm
Übungen
C 6.11 /etc/
services myservices srv.dat
/tmp
C 6.12 mv -R cp
C 6.13
-file
C 6.14
rm *
-i
$ > -i
rm *
ln
$ ln liste liste2
$ ls -l
-rw-r--r-- 2 hugo users 2500 Oct 4 11:11 liste
-rw-r--r-- 2 hugo users 2500 Oct 4 11:11 liste2
Referenzzähler
ls -l
86 6 Dateien: Aufzucht und Pflege
ls -i
Inode-Nummern
$ ls -i
876543 liste 876543 liste2
ln
A
. ..
rm
$ rm liste
$ ls -li
876543 -rw-r--r-- 1 hugo users 2500 Oct 4 11:11 liste2
B
6.4 Umgang mit Dateien 87
B ln
mv
cp -l Link-Farm
$ mkdir prog-1.0.1
$ cp -l prog-1.0/* prog-1.0.1
B
http://www.rsnapshot.org/ http://www.dirvish.org/
ln
Symbolische Links
vi .vimrc
set backupcopy=auto,breakhardlink
88 6 Dateien: Aufzucht und Pflege
/var/mail
/var/spool/mail
/var/mail
/var/spool/mail /var/mail
ln
-s
$ ln -s /var/log kurz
$ ls -l
-rw-r--r-- 1 hugo users 2500 Oct 4 11:11 liste2
lrwxrwxrwx 1 hugo users 14 Oct 4 11:40 kurz -> /var/log
$ cd kurz
$ pwd -P
/var/log
-s
ln cp -b -f -i -v
rm
$ cd
$ rm kurz
$ ls
liste2
ls -l
-L -H ls
$ mkdir dir
$ echo XXXXXXXXXX >dir/datei
$ ln -s datei dir/symlink
$ ls -l dir
insgesamt 4
-rw-r--r-- 1 hugo users 11 Jan 21 12:29 datei
lrwxrwxrwx 1 hugo users 5 Jan 21 12:29 symlink -> datei
$ ls -lL dir
-rw-r--r-- 1 hugo users 11 Jan 21 12:29 datei
-rw-r--r-- 1 hugo users 11 Jan 21 12:29 symlink
$ ls -lH dir
6.4 Umgang mit Dateien 89
-L -H -L
-H
cp -a
cp -L
cp
-P
Übungen
C 6.15
echo Hallo >~/hallo
link
C 6.16 ~/symlink
C 6.17 .. /
C 6.18
$ ls -ai /
2 . 330211 etc 1 proc 4303 var
2 .. 2 home 65153 root
4833 bin 244322 lib 313777 sbin
228033 boot 460935 mnt 244321 tmp
330625 dev 460940 opt 390938 usr
/ /home
C 6.19 . ..
/
C 6.20
C 6.21 ls -l ~
~
b
h
q more
/
!
v vi
Strg l
C 6.23
C 6.24
--More--
Optionen more -s
-l -n
more
TERM
Einschränkungen more
less less
less
man
man
find
6.4 Umgang mit Dateien 91
e j
f
y k
b
Pos1 g
Ende g
p
h
q less
/
n
?
n
!
v vi
r Strg l
find
hugo -print
find
Startverzeichnis
Verzeichnisliste
Auswahlkriterien
92 6 Dateien: Aufzucht und Pflege
-name
-iname
-user
-group
-user
-type
b
c
d
f
l
p
s
-size
c
k
-size +10k
-atime
min time
-mtime
-ctime
-perm
chmod
-perm -20
-links
-inum
mehrere Auswahlkriterien
find
./.
./..
./bilder
./Abfall
$ _
Aktionen
-print -exec
-ok
Kommando ausführen
-ok -exec
-exec
-exec
-exec
-exec ;
\; find
{}
hugo
ls -l
B
-exec
xargs
!
-a -a
-o -o
94 6 Dateien: Aufzucht und Pflege
xargs
rm
\
-
r xargs rm
find
B find xargs
find -print0
-print
xargs -0
Übungen
C 6.25
C 6.26 find
C 6.27
/tmp
locate
$ locate brief.txt
/home/hugo/Briefe/brief.txt
/home/hugo/Briefe/omabrief.txt
/home/hugo/Briefe/omabrief.txt~
A locate
6.4 Umgang mit Dateien 95
findutils-locate locate
* ? [ ] locate
locate *
$ locate "*/brief.t*"
/home/hugo/Briefe/brief.txt
/home/hugo/Briefe/brief.tab
B locate
$ locate Briefe/oma
/home/hugo/Briefe/omabrief.txt
/home/hugo/Briefe/omabrief.txt~
locate
updatedb
B -e locate
updatedb locate
B cron
updatedb
updatedb
updatedb
up-
datedb /etc/updatedb.conf
/etc/sysconfig/locate
B /etc/cron.daily
updatedb
96 6 Dateien: Aufzucht und Pflege
B
updatedb
updatedb root
updatedb
nobody
nobody
B slocate locate
slocate
slocate updatedb
slocate
B slocate lo-
cate
Übungen
C 6.28 README
README
C 6.29
locate
updatedb
locate
C 6.30 slocate
/etc/shadow
6.4 Umgang mit Dateien 97
Zusammenfassung
cd pwd
ls
mkdir rmdir
cp mv rm
ln
more less
find
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
7
Reguläre Ausdrücke
Inhalt
grep
Lernziele
Vorkenntnisse
grd1-regex.tex (a13e1ba7ab759bab)
100 7 Reguläre Ausdrücke
Zeichen
a
a abc abc
Zeichenklassen
[a-e] a e
a[xy]b axb ayb
[A-Za-z]
Komplement
[^abc] a b c
[!abc] .
a
c
Anker
Zeilenanfang ^
$
Zeilenende
xyz$ xyz
xyz\n$
B ^ $
*
Wiederholung
a*.txt
^a.*\.txt$
Vorrang ab* a
b
ab
7.2 Reguläre Ausdrücke: Extras 101
Erweiterungen
\<
\>
( )
a(bc)* a
bc abc*
ab c
Affen(brot|schwanz|kletter)baum
Affenbrotbaum Affenschwanzbaum Affenkletterbaum
?
Boot(smann)?
Boot Bootsmann
+
*
(ab)\1
abab (ab*a)x\1 ab-
ba abbaxabba
grep
* + ?
Tabelle 7.1:
\ ab\+
ab+
\= ?
-c
-i
-l
-n
-r
-v
grep
egrep
B
grep egrep
grep
Syntax grep
grep
regulärer Ausdruck
\+ \? \{
7.3 Dateien nach Textteilen durchsuchen – grep 103
grep egrep
A
grep
fgrep
egrep
grep Beispiele
frosch.txt
Frosch
Frosch
Froschkönig
Frosch
/usr/share/dict/words
234831:zygomaticoauricularis
234832:zygomaticofacial
234834:zygomaticomaxillary
B
grep
--color
Übungen
C 7.1 ? +
C 7.2 frosch.txt
C 7.3 /etc/passwd
grep
C 7.4 /usr/share/dict/words
a e i o u
C 7.5
Zusammenfassung
grep
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
8
Standardkanäle und
Filterkommandos
Inhalt
cat tac
head tail
od hexdump
tr expand unexpand
fmt pr
sort uniq
cut paste
Lernziele
Vorkenntnisse
grd1-filter.tex (a13e1ba7ab759bab)
106 8 Standardkanäle und Filterkommandos
Tabelle 8.1:
stdin
stdout
stderr
$ grep xyz
grep
$ grep xyz
abc def
xyz 123
xyz 123
aaa bbb
YYYxyzZZZ
YYYxyzZZZ
Strg + d
grep
Standard-Eingabe grep
Standard-Ausgabe
Standard-Fehlerausgabe
grep
Standardkanäle
stdin stdout
8.1 Ein-/Ausgabeumlenkung und Kommandopipelines 107
Bild 8.1:
stderr
Standardkanäle umleiten
/dev/
tty
$ ls -laF >inhalt
$ _
inhalt
108 8 Standardkanäle und Filterkommandos
inhalt
inhalt less
$ less inhalt
total 7
drwxr-xr-x 12 hugo users 1024 Aug 26 18:55 ./
drwxr-xr-x 5 root root 1024 Aug 13 12:52 ../
drwxr-xr-x 3 hugo users 1024 Aug 20 12:30 fotos/
-rw-r--r-- 1 hugo users 0 Sep 6 13:50 inhalt
-rw-r--r-- 1 hugo users 15811 Aug 13 12:33 pingu.gif
-rw-r--r-- 1 hugo users 14373 Aug 13 12:33 hobby.txt
-rw-r--r-- 2 hugo users 3316 Aug 20 15:14 chemie.txt
inhalt
inhalt
inhalt
ls
ls inhalt
B ls ls
inhalt
ls
ls
inhalt
Standardausgabe
an Datei anhängen
>>
inhalt
` `
Kommandosubstitution
8.1 Ein-/Ausgabeumlenkung und Kommandopipelines 109
$ cat termine
22.12. Geschenke besorgen
23.12. Christbaum besorgen
24.12. Heiligabend
$ date +%d.%m.
23.12.
$ grep ^`date +%d.%m.` termine
23.12. Christbaum besorgen
B
`date` $(date)
$ wc -w <frosch.txt
1255
wc frosch.txt
B <<
cat
B <<
grep
ENDE
` ` $( )
110 8 Standardkanäle und Filterkommandos
$ cat <<EOF
Heutiges Datum: `date`
EOF
$ cat <<"EOF"
Heutiges Datum: `date`
EOF
<< <<-
kombinierte Umleitung
wortzahl
$ wc -w <frosch.txt >wortzahl
$ cat wortzahl
1255
Standard-Fehler-Kanal
stdin
0< stdout 1> stderr 2>
>&
ma-
ke make.log
/dev/tty
make.log
Übungen
C 8.1 -U ls
ls -laU
>inhalt inhalt
C 8.3
grep xyz datei >datei
C 8.5
8.1.3 Kommando-Pipelines
Pipes
$ ls -laF | less
total 7
drwxr-xr-x 12 hugo users 1024 Aug 26 18:55 ./
drwxr-xr-x 5 root root 1024 Aug 13 12:52 ../
drwxr-xr-x 3 hugo users 1024 Aug 20 12:30 fotos/
-rw-r--r-- 1 hugo users 449 Sep 6 13:50 inhalt
-rw-r--r-- 1 hugo users 15811 Aug 13 12:33 pingu.gif
-rw-r--r-- 1 hugo users 14373 Aug 13 12:33 hobby.txt
-rw-r--r-- 2 hugo users 3316 Aug 20 15:14 chemie.txt
/etc/passwd
:
userlst
Zwischenergebnis abspeichern
tee
tee
-a
liste liste
ls tee
Übungen
C 8.6
8.2 Filterkommandos
Werkzeugkastenprinzip
sort
sort
Filterkommandos
Strg
d
8.3 Dateien lesen und ausgeben 113
-b
-E $
-n
-s
-T ^I
-v ^
M-
-A -vET
B
Strg d
Strg z
grep
cat
cat
B cat Textdateien
/bin/cat
reset
cat
B cat cat
cat
cat
cat
114 8 Standardkanäle und Filterkommandos
-b
-r
-s \n
$ tac <<ENDE
Alpha
Beta
Gamma
ENDE
Gamma
Beta
Alpha
tac
cat
Trenner -s tac
A: B: C: D\n :
\n
echo
D\n
-b
tac -s : -b
:D
:C:BA$ _
8.3 Dateien lesen und ausgeben 115
Übungen
C 8.7
head tail
-n
head -n 20
tail -n 5 daten.txt daten.txt
B
-
head tail
-c
head -c 20
b k m
B tail head
+
$ tail -n +3 datei
tail -f
tail
tail -f
Übungen
C 8.8
C 8.9 tail -f
tail -f
echo >>…
tail
tail
C 8.10 tail -f
C 8.11
$ echo Hallo >/tmp/hallo
$ echo "Huhu Welt" >/tmp/hallo
116 8 Standardkanäle und Filterkommandos
Tabelle 8.4: od
-A d o x
n
-j
-N
-t -t
-t
a c d
f o u x
a c
od
z
-v
-w
echo
$ tail -f /tmp/hallo
od od
od
$ od /etc/passwd | head -3
0000000 067562 072157 074072 030072 030072 071072 067557 035164
0000020 071057 067557 035164 061057 067151 061057 071541 005150
0000040 060563 064163 067562 072157 074072 030072 030072 071072
$ _
Zeilenformat
od
Option -t -
t od
$ od -txC /etc/passwd
0000000 72 6f 6f 74 3a 78 3a 30 3a 30 3a 72 6f 6f 74 3a
0000020 2f 72 6f 6f 74 3a 2f 62 69 6e 2f 62 61 73 68 0a
8.3 Dateien lesen und ausgeben 117
0000040 73 61 73 68 72 6f 6f 74 3a 78 3a 30 3a 30 3a 72
x
C
z
$ od -txCz /etc/passwd
0000000 72 6f 6f 74 3a 78 3a 30 3a 30 3a 72 6f 6f 74 3a >root:x:0:0:root:<
0000020 2f 72 6f 6f 74 3a 2f 62 69 6e 2f 62 61 73 68 0a >/root:/bin/bash.<
0000040 73 61 73 68 72 6f 6f 74 3a 78 3a 30 3a 30 3a 72 >sashroot:x:0:0:r<
0a
.
mehrere Typangaben
-t
$ od -txCc /etc/passwd
0000000 72 6f 6f 74 3a 78 3a 30 3a 30 3a 72 6f 6f 74 3a
r o o t : x : 0 : 0 : r o o t :
0000020 2f 72 6f 6f 74 3a 2f 62 69 6e 2f 62 61 73 68 0a
/ r o o t : / b i n / b a s h \n
0000040 73 61 73 68 72 6f 6f 74 3a 78 3a 30 3a 30 3a 72
s a s h r o o t : x : 0 : 0 : r
$ od -tx -N 64 /dev/zero
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000100
/dev/zero od -N
-v
$ od -tx -N 64 -v /dev/zero
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000100
hexdump hd hexdump
od
od
od hexdump
hexdump od hexdump
Ausgabeformate
od
118 8 Standardkanäle und Filterkommandos
$ cat hexdump.txt
0123456789ABC XYZabc xyz
$ hexdump -e '"%x-« hexdump.txt
33323130-37363534- -a7a79-$
"%x"
30
0 -
hexdump
hexdump
printf
awk printf
hexdump
printf
Wiederholungszahl
4
"%x"-
Zeilentrenner "\n" hexdump
Byteanzahl
7a79-
a-
/2 1/2 %x
8.4 Textbearbeitung 119
Tabelle 8.5: tr
-c
-d
-s
7675-7877-7a79-a-
"%2.2s"
3/2 " %x"
"%1.1s"
"%2_ad"
Übungen
C 8.12 a c
od
C 8.13 /dev/random
od /dev/random r
8.4 Textbearbeitung
8.4.1 Zeichen für Zeichen – tr, expand und unexpand
tr
tr
tr Austauschoperationen
120 8 Standardkanäle und Filterkommandos
Tabelle 8.6: tr
\a
\b
\f
\n
\r
\t
\v
\
\\
[ * ]
[ *]
[:alnum:]
[:alpha:]
[:blank:]
[:cntrl:]
[:digit:]
[:graph:]
[:lower:]
[:print:]
[:punct:]
[:space:]
[:upper:]
[:xdigit:] 0 9 A F a f
[: :]
bsp.txt
neu1.txt
Bereiche -
-c
Komplement
bsp.txt
Zeichenklassen B [: :]
[:alpha:]
A-Za-z
tr info tr
bsp.txt
-s »squeeze«
-s
bsp.txt neu3.txt
$ tr -s AE Ä <bsp.txt >neu3.txt
Tabulator
Tab
Tab
Tab
-t
-t 4
B -t
expand -t
4,12,32
B -i
-a
Übungen
C 8.14
122 8 Standardkanäle und Filterkommandos
tr
C 8.15 tr
C 8.16
C 8.17 tr a z
-
C 8.18 unexpand
Zeilenumbruch fmt
-w
fmt frosch0.txt
frosch.txt
$ head frosch0.txt
Der Froschkönig oder der eiserne Heinrich
In alten Zeiten, als das Wünschen noch geholfen hat, lebte einmal ein
König, der hatte wunderschöne Töchter. Die jüngste von ihnen war so
schön, daß die Sonne selber, die doch so vieles schon gesehen hat,
sich verwunderte, sooft sie ihr ins Gesicht schien.
Nahe bei dem Schlosse war ein großer, dunkler Wald, und mitten darin,
unter einer alten Linde, war ein Brunnen. Wenn nun der Tag recht heiß war,
ging die jüngste Prinzessin hinaus in den Wald und setzte sich an den Rand
$ fmt -w 40 frosch0.txt
Der Froschkönig oder der eiserne
Heinrich
fmt
B fmt
fmt
. ? !
B fmt
fmt
-c
$ fmt -c -w 40 frosch0.txt
Der Froschkönig oder der eiserne
Heinrich
In alten Zeiten, als das Wünschen noch geholfen hat, lebte einmal ein
König, der hatte wunderschöne Töchter. Die jüngste von ihnen war so schön, daß die Sonne selber,
die doch so vieles schon gesehen hat, sich verwunderte, sooft sie ihr ins Gesicht schien.
Nahe bei dem Schlosse war ein großer, dunkler Wald, und mitten darin,
unter einer alten Linde, war ein Brunnen. Wenn nun der Tag recht heiß war, ging die jüngste
-c
pr
lpr pr
124 8 Standardkanäle und Filterkommandos
Tabelle 8.7: pr
-h
-l
-n
-o
-t
-w
pr
pr
Der Froschkönig oder der eiserne antwortete der Frosch, >>ich kann
Heinrich wohl Rat schaffen. Aber was gibst
du mir, wenn ich dein Spielzeug
In alten Zeiten, als das Wünschen wieder heraufhole?«
noch geholfen hat, lebte einmal
ein König, der hatte wunderschöne >>Was du haben willst, lieber
Töchter. Die jüngste von ihnen war Frosch«, sagte sie, >>meine
so schön, daß die Sonne selber, Kleider, meine Perlen und
die doch so vieles schon gesehen Edelsteine, auch noch die goldene
hat, sich verwunderte, sooft sie Krone, die ich trage.«
ihr ins Gesicht schien.
fmt
pr
Zeilennumerierung nl
$ nl frosch.txt
1 Der Froschkönig oder der eiserne Heinrich
2 In alten Zeiten, als das Wünschen noch geholfen hat, lebte einmal ein
3 König, der hatte wunderschöne Töchter. Die jüngste von ihnen war so
4 schön, daß die Sonne selber, die doch so vieles schon gesehen hat,
5 sich verwunderte, sooft sie ihr ins Gesicht schien.
6 Nahe bei dem Schlosse war ein großer, dunkler Wald, und mitten darin,
8.4 Textbearbeitung 125
Tabelle 8.8: nl
-b
a t n
p
t
-d \:
:
-f
-b n
-h -f
-i
-n ln
rn
rz
-p
-v
-w
cat -b
nl
$ nl -b a -n rz -w 5 -v 1000 -i 10 frosch.txt
01000 Der Froschkönig oder der eiserne Heinrich
01010
01020 In alten Zeiten, als das Wünschen noch geholfen hat, lebte einmal ein
01030 König, der hatte wunderschöne Töchter. Die jüngste von ihnen war so
01040 schön, daß die Sonne selber, die doch so vieles schon gesehen hat,
01050 sich verwunderte, sooft sie ihr ins Gesicht schien.
01060
01070 Nahe bei dem Schlosse war ein großer, dunkler Wald, und mitten darin,
01080 unter einer alten Linde, war ein Brunnen. Wenn nun der Tag recht heiß war,
01090 ging die jüngste Prinzessin hinaus in den Wald und setzte sich an den Rand
-
b a
-n rz
-w 5 -v 1000
-i 10
$ cat nl-test
\:\:\:
Kopf der ersten Seite
\:\:
Erste Zeile der ersten Seite
Zweite Zeile der ersten Seite
Letzte Zeile der ersten Seite
\:
126 8 Standardkanäle und Filterkommandos
Tabelle 8.9: wc
-l
-w
-c
$ nl nl-test
\:
wc
Zeilen, Wörter, Zeichen zählen
wc
8.5 Datenverwaltung 127
$ wc frosch.txt
159 1255 7406 frosch.txt
wc
$ ls | wc -l
13
$ _
wc ls
Übungen
C 8.19 frosch.txt
C 8.20
C 8.21 wc a.txt
b.txt c.txt cat a.txt b.txt c.txt | wc
8.5 Datenverwaltung
8.5.1 Sortierte Dateien – sort und uniq
sort
Standardeinstellung
B sort
LANG LC_ALL
LC_COLLATE de de_DE de_DE.UTF-8
sort
$ … | LC_COLLATE=de_DE.UTF-8 sort
128 8 Standardkanäle und Filterkommandos
LC_ALL LC_COLLATE
LANG
sort
Sortieren in Feldern
-k 2
-k 2,3
-k 2,2
-k
B sort
+ -
+1 +1 -3
+1 -2
Trennmarkierung
POSIX
$ sort teilnehmer.dat
Fluschinsky Käthe Sportfreunde Renntal 57 Damen
Flöttmann Fritz Sportfreunde Renntal 217 Herren
Langbein Leni SV Schnaufenberg 55 Damen
Rasbichel Katja TSV Lahmhausen 119 Damen
Rasbichel Ulla TSV Lahmhausen 117 Damen
Schleicher Detlef TSV Lahmhausen 13 Herren
8.5 Datenverwaltung 129
sort
-b
-b
-d
-f
-i
-k ,
-n
-o datei
-r
-t
-u
-b
genauere Feldbestimmung
teilnehmer.dat -r
-b
-t
andere Trennzeichen
Schulz:Hugo:SV Schnaufenberg:123:Herren
Schleicher:Detlef:TSV Lahmhausen:13:Herren
Flöttmann:Fritz:Sportfreunde Renntal:217:Herren
Springinsfeld:Karlheinz:TV Jahnstein:154:Herren
von Traben:Gesine:TV Jahnstein:26:Damen
Rasbichel:Ulla:TSV Lahmhausen:117:Damen
Schwitz:Sieglinde:Sportfreunde Renntal:93:Damen
Rasbichel:Katja:TSV Lahmhausen:119:Damen
8.5 Datenverwaltung 131
Langbein:Leni:SV Schnaufenberg:55:Damen
Zielinger:Hannes:TV Jahnstein:45:Herren
Fluschinsky:Käthe:Sportfreunde Renntal:57:Damen
-n
numerischer Vergleich
sort
sort
uniq
uniq
uniq
uniq
$ cat uniq-test
Hipp
Hopp
132 8 Standardkanäle und Filterkommandos
Hopp
Hipp
Hipp
Hopp
$ uniq uniq-test
Hipp
Hopp
Hipp
Hopp
sort -u
$ sort -u uniq-test
Hipp
Hopp
Übungen
C 8.22 teilnehmer0.dat
C 8.23
C 8.24
C 8.25
01-2002.txt 01-2003.txt 02-2002.txt 02-2003.txt
03-2002.txt 03-2003.txt 04-2002.txt 04-2003.txt
sort ls
01-2002.txt
02-2002.txt
12-2002.txt
01-2003.txt
12-2003.txt
C 8.26
absolute Spalten
8.5 Datenverwaltung 133
-c
Felder ausschneiden
cut -f
-c -f
Trenner
-d
B --output-delimiter
Springinsfeld: 154
von Traben: 26
Rasbichel: 117
B
awk perl
paste
Unterdrückung von -s
Zeilen ohne Felder cut -f
-s
Trennzeichen
-d
sort -n tn-startnr.dat
Dateien nachein- -s
ander durchlaufen
$ cat liste1
Hund
Katze
Maus
$ cat liste2
Ei
Blut
Kakao
8.5 Datenverwaltung 135
-j1 -1
-j2
-2
-j -j1 -j2
-o
0
0
-t
$ paste -s liste*
Hund Katze Maus
Ei Blut Kakao
liste*
liste1 liste2 paste -s
join
join Beispiel
zeiten.dat
$ cat zeiten.dat
45:8445
123:8517
217:8533
93:8641
154:8772
119:8830
13:8832
117:8954
57:9111
26:9129
zeiten-s.dat
join
136 8 Standardkanäle und Filterkommandos
paste join
$ cat tn-startnr.dat
123:Schulz:Hugo:SV Schnaufenberg:Herren
13:Schleicher:Detlef:TSV Lahmhausen:Herren
217:Flöttmann:Fritz:Sportfreunde Renntal:Herren
154:Springinsfeld:Karlheinz:TV Jahnstein:Herren
26:von Traben:Gesine:TV Jahnstein:Damen
117:Rasbichel:Ulla:TSV Lahmhausen:Damen
93:Schwitz:Sieglinde:Sportfreunde Renntal:Damen
119:Rasbichel:Katja:TSV Lahmhausen:Damen
55:Langbein:Leni:SV Schnaufenberg:Damen
45:Zielinger:Hannes:TV Jahnstein:Herren
57:Fluschinsky:Käthe:Sportfreunde Renntal:Damen
$ sort -n tn-startnr.dat \
> | join -t: zeiten-s.dat - >tn-zeiten.dat
$ cat tn-zeiten.dat
13:8832:Schleicher:Detlef:TSV Lahmhausen:Herren
26:9129:von Traben:Gesine:TV Jahnstein:Damen
45:8445:Zielinger:Hannes:TV Jahnstein:Herren
57:9111:Fluschinsky:Käthe:Sportfreunde Renntal:Damen
93:8641:Schwitz:Sieglinde:Sportfreunde Renntal:Damen
117:8954:Rasbichel:Ulla:TSV Lahmhausen:Damen
119:8830:Rasbichel:Katja:TSV Lahmhausen:Damen
123:8517:Schulz:Hugo:SV Schnaufenberg:Herren
154:8772:Springinsfeld:Karlheinz:TV Jahnstein:Herren
217:8533:Flöttmann:Fritz:Sportfreunde Renntal:Herren
tn-zeiten.dat
Übungen
C 8.27 teilnehmer.dat
C 8.28 teilnehmer0.dat
8.5 Datenverwaltung 137
C 8.29 teilnehmer0.dat
,␣
C 8.30
/etc/passwd
Zusammenfassung
tee
tr
expand unexpand
pr
wc
sort
cut
paste
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
9
Mehr über die Shell
Inhalt
sleep echo date
Lernziele
Vorkenntnisse
grd1-shell2-opt.tex[!scripts] (a13e1ba7ab759bab)
140 9 Mehr über die Shell
sleep
$ sleep 10
$ _
$ w=Welt
$ echo Hallo $w
Hallo Welt
$ echo Hallo ${w}enbummler
Hallo Weltenbummler
echo
B echo -n
$ echo -n Hallo
Hallo$
B date
TZ
$ date
Thu Oct 5 14:26:07 CEST 2006
$ export TZ=Asia/Tokyo
$ date
Tue Oct 5 21:26:19 JST 2006
$ unset TZ
/usr/share/zoneinfo
Systemzeit stellen
root date
MMTThhmm MM TT
hh mm
9.2 Shell-Variable und die Umgebung 141
$ date
Thu Oct 5 14:28:13 CEST 2006
$ date 08181715
date: cannot set date: Operation not permitted
Fri Aug 18 17:15:00 CEST 2006
B date
Übungen
C 9.1
date
22-10-2003
03-294 (KW43)
12h34m56s
C 9.2
$ bla=fasel
$ echo bla
bla
$ echo $bla
fasel
Umgebungsvariable
Shellvariable
export export
142 9 Mehr über die Shell
Tabelle 9.1:
PWD
PS1
UID
HOME
PATH
LOGNAME
$ bla=fasel bla
$ export bla bla
$ export bla=fasel
export
set
B set
B env
$ _
B env
$ bla=fasel bash
env
Variable löschen
unset
export -n
9.3 Arten von Kommandos – die zweite 143
Übungen
C 9.3
$ bla=fasel bla
$ bash
$ echo $bla
bla
$ exit
$ export bla bla
$ bash
$ echo $bla
fasel
$ exit
C 9.4
PATH PATH
$ echo $PATH
/home/hugo/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
$ ls
PATH
144 9 Mehr über die Shell
/home/hugo/bin/ls
/usr/local/bin/ls
/usr/bin/ls
/bin/ls
/usr/games
ls /bin/ls
B
/bin/ls
ls
type
ls
$ type ls
ls is hashed (/bin/ls)
B hash
hash -r
help hash
B PATH
which
$ which grep
/bin/grep
which
PATH
B which
which test /usr/bin/test
type
whereis
$ whereis passwd
passwd: /usr/bin/passwd /etc/passwd /etc/passwd.org /usr/share/passwd⇤
/usr/share/man/man1/passwd.1.gz /usr/share/man/man1/passwd.1ssl.gz⇤
/usr/share/man/man5/passwd.5.gz
whereis
9.4 Die Shell als komfortables Werkzeug 145
Übungen
C 9.5
PATH
PATH
C 9.6
fgrep sort
mount xterm
C 9.7
crontab
Kommandoeditor
Kommandoabbruch
Strg c
Die »Vorgeschichte«
Strg r
B
~/.bash_history
HISTFILE
B
HISTSIZE
HISTFILESIZE
HISTFILE
146 9 Mehr über die Shell
!!
!-
!-2 !
history
!xyz
xyz !?xyz xyz
^
$
-
*
-
!-2:$
!!:0-
!333^
^$*-%
B history
$ history 33
history -c
help
history
9.4 Die Shell als komfortables Werkzeug 147
Tabelle 9.2:
Strg r
Pos1 Strg a
Ende Strg e
Entf
Strg t
Strg l
Strg c
Strg d
Autovervollständigung
Komplettierung von Kommando-
Tab bzw. Dateinamen
Tab
Tab Befehlsliste
Esc ?
Esc /
Bedingte Ausführung
Rückgabewert
148 9 Mehr über die Shell
B
$?
$ bash
$ exit 33
exit
$ echo $?
33 exit
$ _
&&
-c
||
Übungen
C 9.8 echo "Hallo!"
!-2 !ls
$ bash meine-kommandos
Shellskript
Sub-Shell
zuweisung
bla=fasel
9.6 Vorder- und Hintergrundprozesse 149
Bild 9.1:
$ bla=blubb
$ bash zuweisung bla=fasel
$ echo $bla
blubb
source
$ bla=blubb
$ source zuweisung bla=fasel
$ echo $bla
fasel
source .
$ source zuweisung
$ . zuweisung
B
source .
PATH
Kindprozess
150 9 Mehr über die Shell
Bild 9.2:
Rückgabewert
$ sleep 10
$ _
&
Hintergrund-Prozess
$ sleep 10 &
[2] 6210
$ _
B [2] 6210
B &
9.6 Vorder- und Hintergrundprozesse 151
-l
-n jobs
-p
Jobkontrolle
jobs
jobs
$ jobs
[1] Done sleep
$ _
Running
jobs
bg
%5
fg
fg bg
Strg c
kill bg
Übungen
C 9.9
glxgears xclock -
update 1
Strg z bg
jobs
C 9.10
$ sleep 5 ; sleep 5
$ sleep 5 ; sleep 5 &
152 9 Mehr über die Shell
Zusammenfassung
sleep
echo
date
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
10
Das Dateisystem
Inhalt
Lernziele
Vorkenntnisse
grd1-dateisystem.tex (a13e1ba7ab759bab)
154 10 Das Dateisystem
10.1 Begriffe
Datei
file file
B file
/usr/share/file /usr/share/file/magic
/etc/magic
magic
Dateisystem
10.2 Dateitypen
cat
10.2 Dateitypen 155
Tabelle 10.1:
ls -l ls -F
- name
d name/
mkdir
l name@ ln -s
b c name mknod
p name| mkfifo
s name=
mkdir
ln -s
/dev/fd0
mknod
mkfifo
Übungen
C 10.1
156 10 Das Dateisystem
$ cd /
$ ls -l
insgesamt 125
drwxr-xr-x 2 root root 4096 Dez 20 12:37 bin
drwxr-xr-x 2 root root 4096 Jan 27 13:19 boot
lrwxrwxrwx 1 root root 17 Dez 20 12:51 cdrecorder⇤
-> /media/cdrecorder
lrwxrwxrwx 1 root root 12 Dez 20 12:51 cdrom -> /media/cdrom
drwxr-xr-x 27 root root 49152 Mär 4 07:49 dev
drwxr-xr-x 40 root root 4096 Mär 4 09:16 etc
lrwxrwxrwx 1 root root 13 Dez 20 12:51 floppy -> /media/floppy
drwxr-xr-x 6 root root 4096 Dez 20 16:28 home
drwxr-xr-x 6 root root 4096 Dez 20 12:36 lib
drwxr-xr-x 6 root root 4096 Feb 2 12:43 media
drwxr-xr-x 2 root root 4096 Mär 21 2002 mnt
drwxr-xr-x 14 root root 4096 Mär 3 12:54 opt
dr-xr-xr-x 95 root root 0 Mär 4 08:49 proc
drwx------ 11 root root 4096 Mär 3 16:09 root
drwxr-xr-x 4 root root 4096 Dez 20 13:09 sbin
drwxr-xr-x 6 root root 4096 Dez 20 12:36 srv
drwxrwxrwt 23 root root 4096 Mär 4 10:45 tmp
drwxr-xr-x 13 root root 4096 Dez 20 12:55 usr
drwxr-xr-x 17 root root 4096 Dez 20 13:02 var
Bild 10.1:
FHS
/usr
Wurzelverzeichnis /
/root
root
/boot
ls -la / /
/usr/bin
10.3 Der Linux-Verzeichnisbaum 157
/usr/bin
/usr/local/bin
/boot
mount mkdir
ls grep /bin
/usr/bin
root
/bin
/usr/sbin
Systembibliotheken – /lib
/bin /sbin
/lib/modules Kernelmodule
Gerätedateien – /dev
Gerätedateien
B
/dev
/dev
158 10 Das Dateisystem
udev /dev
zeichenorientierte Geräte
blockorientierte Geräte
ls -l c b
Treibernummer
Gerätenummer
Pseudogeräte /dev/null
$ programm >/dev/null
/dev/null
/dev/null
/dev/random /dev/urandom
/dev/random
/dev/zero
dd
root
/etc/fstab
/etc/hosts
/etc/init.d
/etc/rc.d/
init.d
/etc/issue /etc/issue
/etc/motd
/etc/mtab
/etc/mtab /etc/fstab /etc/mtab
/etc/fstab
B /etc
/etc/passwd /etc/passwd
/etc/shadow
Zubehör – /opt
/opt/
/usr/bin
/usr/sbin root
/usr/local
/opt
160 10 Das Dateisystem
/usr/share
/usr/share
/usr/share/doc
/usr/share/info
/usr/share/man
/usr/src
B /usr
/usr
/proc/cpuinfo
/proc/devices
/proc/dma
/proc/interrupts
/proc/ioports /proc/interrupts
/proc/kcore
root
10.3 Der Linux-Verzeichnisbaum 161
/proc/loadavg
uptime
/proc/meminfo
free
/proc/mounts
/etc/mtab
/proc/scsi scsi
0
1 2
/proc/version
B /proc
ps
/proc
/proc
ps
Hardwaresteuerung – /sys
/proc
B /proc
/sys
man
/var/spool/cups /var/log
/var/spool/cron Log-Dateien
/var/mail
syslogd
/var/log
162 10 Das Dateisystem
B syslogd
klogd
syslogd
klogd syslogd
B
syslogd
klogd
dmesg
B /tmp /var/tmp
Serverdateien – /srv
/srv
/srv
/usr/local /var
/media/dvd
/media
/home
10.3 Der Linux-Verzeichnisbaum 163
Tabelle 10.2:
/home/support/hugo
/home/entwickl/emil
/home
/
/home
root
lost+found
lost+
found
ext
Übungen
C 10.2
C 10.3 grep
grep
*.txt grep
164 10 Das Dateisystem
/dev
C 10.5 /opt
/opt
C 10.6 /proc
Partitionierung
/home
Serversysteme
/tmp /var/tmp /var/spool
/var
/var/tmp
/etc/fstab /etc/fstab
/dev/sda1
10.5 Wechselmedien 165
A
/etc
passwd root
root
B /dev/sda1
datei /media/usb/datei
# umount /media/usb
10.5 Wechselmedien
/etc/fstab
user users
166 10 Das Dateisystem
/etc/fstab
fstab
$ mount /dev/hdb
$ mount /media/cdrom0
$ mount /dev/sda1
$ mount /media/sd
/etc/fstab umount
B user /etc/fstab
users
user
users root
Übungen
C 10.7
/etc/passwd
Zusammenfassung
mount umount
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
11
Dateien archivieren und
komprimieren
Inhalt
tar
cpio
gzip
bzip2
xz
Lernziele
tar cpio
gzip bzip2
Vorkenntnisse
grd1-targz-opt.tex[!zip] (a13e1ba7ab759bab)
170 11 Dateien archivieren und komprimieren
Lauflängenkodierung
ABBBBAACCCCCAAAABAAAAAC
A*4BAA*5C*4AB*5AC
*4B B
gzip bzip2
tar
tar gzip
B
zip
rar
11.2 Dateien archivieren mit tar 171
Übungen
C 11.1 AA
*2A
C 11.2
A*2B****A
tar
tar
tar
tar tar
tar
multi-volume archives
B split
cat
tar
tar
tar
tar tar
gzip bzip2
tar …
tar-Optionen
-c
-f
-M tar
172 11 Dateien archivieren und komprimieren
-r
-t
-u
-v
-x
-z gzip
-Z compress
-j bzip2
Optionssyntax tar
-f
tar cvf …
data data.tar
-c -f ~/data.tar
-v
Verzeichnisse tar
# cd /
# tar -cvf /tmp/home.tar /home
root /home
home.tar /tmp
11.2 Dateien archivieren mit tar 173
B
tar
/
-t
-v tar
-x
tar
-v
tar
$ mkdir data-neu
$ cd data-neu
$ tar -xvf ../data.tar data/data2 ./
tar: data/data2: Not found in archive
tar: Error exit delayed from previous errors
174 11 Dateien archivieren und komprimieren
Übungen
C 11.3
inhalt tar
C 11.4
C 11.5
tar
C 11.6 tar /
etc-backup.tar
-o
cpio
-i
-p
-o
B cpio
Austausch von Datenbeständen
cpio
tar
data
hugo archive.cpio
$ cd /home/hugo
$ find . -maxdepth 1 -name 'data*' | cpio -ov >archive.cpio
B cpio
find -maxdepth 1
find
11.4 Dateien komprimieren mit gzip 175
B find cpio
find -depth
find
--null cpio
cpio
-u
-d -t
. /
cpio
Übungen
C 11.7
cpio
B gzip zip
compress
compress
gzip
B Grundidee
176 11 Dateien archivieren und komprimieren
B gzip compress
.Z
B gzip
gzip
tar
cpio gzip
gzip
.gz
tar gzip
gzip
-c
-d gunzip gzip -d
-l
-r
-S .gz
-v
-1 … -9 -1 --fast
-9 --best
-6
brief.tex
brief.tex.gz
$ gzip brief.tex
$ gzip -d brief.tex
$ gunzip brief.tex
brief.tex.t brief.tex.gz
-S .t -v
-S
gzip -d .gz
.tex tex-all.tar.gz
tar
Übungen
C 11.8 tar
C 11.9
tar
C 11.10
gzip
B bzip2
gzip bzip2
.bz2
-c -d gzip
-1 -9
bzip2
-9 -1
B -9
178 11 Dateien archivieren und komprimieren
.bz2
bzip2
xz
Eigenschaften xz bzip2
xz
B xz
xz
LZMA-Verfahren B xz 7-Zip
gzip
LZMA2 B xz
xz xz
Bedienung xz
gzip bzip2
xz unxz xz
-d
Effizienzparameter gzip bzip2 -1 -9
-6
xunz
11.6 Dateien komprimieren mit xz 179
-9
xz
B
-7
B xz
-9
gzip bzip2 -9
B -e
-v
B tar xz
-J
Übungen
C 11.11 tar
gzip bzip2 xz
time
C 11.12
xz
-1 -6
-6 -9
Zusammenfassung
tar
cpio
gzip
tar
bzip2
gzip
xz
Literaturverzeichnis
RFC1951
http://www.ietf.org/rfc/rfc1951.txt
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
A
Musterlösungen
1.3
1.5
ftp.kernel.org
http://lwn.net/
182 A Musterlösungen
2.2 Login
incorrect
2.5
getpass
3.2 -bash
bash
3.3 alias rm
echo test
4.5
5.1
apropos edit
5.2 vimtutor
6.1
cd
6.4 ls
6.5 ls -d
A Musterlösungen 183
6.6
rmdir
. ..
6.7
prog1.c prog2.c
prog
6.8 ls
ls
ls * ls
6.9 -l ls
ls
6.10
rm -r * ..
6.11
$ cd
$ cp /etc/services myservices
$ mv myservices src.dat
$ cp src.dat /tmp
$ rm src.dat /tmp/src.dat
6.12
-R
184 A Musterlösungen
6.13 rm -file rm
rm
"-file" rm '-file'
rm ./-file
rm -- -file rm --
6.14 * -i
rm
-i -i
6.15
6.16
6.17
6.18 /home
/
ls -i
6.19 . ..
..
6.20
..
$ mkdir -p a/b
$ cd a/b
$ ln .. c
A Musterlösungen 185
6.21
~ .
..
6.22
6.23
$ touch d
$ ln -s d L1
$ i=1
$ while ls -lH L$i >/dev/null
> do
> ln -s L$i L$((i+1))
> i=$((i+1))
> done
ls -lH
6.24
ext
6.26
-
maxdepth 1
ls -i
6.27 .bash_logout
LOGNAME
6.29
updatedb
updatedb updatedb
/etc/cron.daily/find
updatedb
6.30 slocate
/etc/shadow
7.1 + * +
?
grep egrep ?
\(\| \) grep {,1}
grep
7.2
7.3
7.4
a
e
$ k='[^aeiou]*'
$ grep -i ^${k}a${k}e${k}i${k}o${k}u${k}$ /usr/share/dict/words
abstemious
abstemiously
abstentious
acheilous
acheirous
A Musterlösungen 187
acleistous
affectious
annelidous
arsenious
arterious
bacterious
caesious
facetious
facetiously
fracedinous
majestious
7.5
egrep '(\<[A-Za-z]{4,}\>).*\<\1\>' frosch.txt
egrep
8.1 ls
;
if ( -U ) {
;
}
;
inhalt
8.2 ls
ls
188 A Musterlösungen
8.3
8.4
8.5
8.6
tee
8.7 cat -A
8.10 tail
8.11 tail
Hallo
elt
echo echo
tail -f
Hallo
elt
8.12 a
cr lf c \r \n
a sp
8.13
/dev/random
-N2 -tu2
-An
A Musterlösungen 189
8.14
$ echo "ALEA IACTA EST" | tr A-Z D-ZA-C
DOHD LDFWD HVW
$ echo "DOHD LDFWD HVW" | tr A-Z X-ZA-W
ALEA IACTA EST
tr A-Za-z N-ZA-Mn-za-m
8.16
-c [:alpha:] \n
-s
LANG de_DE
8.17 -
-az tr
a-z
- [=-=]
8.20 tac
cat -n nl -ba
8.21 wc
wc
190 A Musterlösungen
8.24
8.26
-u sort
-f
LC_COLLATE=de_DE
8.30
cut -d: -f 4 /etc/passwd | sort -u | wc -l
cut
sort -u
wc -l
9.1
%d-%m-%Y
%y-%j (KW%V)
%Hh%Mm%Ss
9.2
TZ=America/Los_Angeles date
9.4
9.5 PATH
PATH
9.6
which
9.8 !
Strg r
!"
9.10
sleep
10.2
Tab
PATH
/sbin /usr/sbin
10.4 cp
/dev/null mv
/dev/null
null /dev
null bla.txt
10.6
/proc/kcore
11.1 AA *2A
11.2
A*1*2B*4*A
**
192 A Musterlösungen
11.6 etc-backup.tar
etc
/etc
11.11
$ unxz linux-3.18.tar.xz
$ for prog in gzip bzip2 xz
> do
> echo $prog
> time $prog -k linux-3.18.tar
> done
$ ls -l linux-3.18.tar*
-k
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
B
Beispieldateien
In alten Zeiten, als das Wünschen noch geholfen hat, lebte einmal ein
König, der hatte wunderschöne Töchter. Die jüngste von ihnen war so
schön, daß die Sonne selber, die doch so vieles schon gesehen hat,
sich verwunderte, sooft sie ihr ins Gesicht schien.
Nahe bei dem Schlosse war ein großer, dunkler Wald, und mitten darin,
unter einer alten Linde, war ein Brunnen. Wenn nun der Tag recht heiß war,
ging die jüngste Prinzessin hinaus in den Wald und setzte sich an den Rand
des kühlen Brunnens. Und wenn sie Langeweile hatte, nahm sie eine
goldene Kugel, warf sie in die Höhe und fing sie wieder auf. Das war
ihr liebstes Spiel.
Nun trug es sich einmal zu, daß die goldene Kugel der Königstochter
nicht in die Händchen fiel, sondern auf die Erde schlug und gerade in
den Brunnen hineinrollte. Die Königstochter folgte ihr mit den Augen
nach, aber die Kugel verschwand, und der Brunnen war tief, so tief,
daß man keinen Grund sah.
Da fing die Prinzessin an zu weinen und weinte immer lauter und konnte
sich gar nicht trösten. Als sie so klagte, rief ihr plötzlich jemand
zu: »Was hast du nur, Königstochter? Du schreist ja, daß sich ein
Stein erbarmen möchte.«
Sie sah sich um, woher die Stimme käme, da erblickte sie einen Frosch,
der seinen dicken, häßlichen Kopf aus dem Wasser streckte. »Ach, du
bist's, alter Wasserpatscher«, sagte sie. »Ich weine über meine
goldene Kugel, die mir in den Brunnen hinabgefallen ist.«
»Sei still und weine nicht«, antwortete der Frosch, »ich kann wohl Rat
schaffen. Aber was gibst du mir, wenn ich dein Spielzeug wieder
heraufhole?«
grd1-beispiele.tex (a13e1ba7ab759bab)
194 B Beispieldateien
»Was du haben willst, lieber Frosch«, sagte sie, »meine Kleider, meine
Perlen und Edelsteine, auch noch die goldene Krone, die ich trage.«
Der Frosch antwortete: »Deine Kleider, deine Perlen und Edelsteine und
deine goldene Krone, die mag ich nicht. Aber wenn du mich liebhaben
willst und ich dein Geselle und Spielkamerad sein darf, wenn ich an
deinem Tischlein neben dir sitzen, von deinem goldenen Tellerlein
essen, aus deinem Becherlein trinken, in deinem Bettlein schlafen
darf, dann will ich hinuntersteigen und dir die goldene Kugel
heraufholen.«
»Ach, ja«, sagte sie, »ich verspreche dir alles, was du willst, wenn
du mir nur die Kugel wiederbringst.« Sie dachte aber, der einfältige
Frosch mag schwätzen, was er will, der sitzt doch im Wasser bei
seinesgleichen und quakt und kann keines Menschen Geselle sein!
»Warte, warte!« rief der Frosch. »Nimm mich mit, ich kann nicht so
laufen wie du!« Aber was half es ihm, daß er ihr sein Quak-quak so
laut nachschrie, wie er nur konnte! Sie hörte nicht darauf, eilte nach
Hause und hatte den Frosch bald vergessen.
Am andern Tag, als sie sich mit dem König und allen Hofleuten zur
Tafel gesetzt hatte und eben von ihrem goldenen Tellerlein aß, da kam,
plitsch platsch, plitsch platsch, etwas die Marmortreppe
heraufgekrochen. Als es oben angelangt war, klopfte es an die Tür und
rief. »Königstochter, jüngste, mach mir auf«
Sie lief und wollte sehen, wer draußen wäre. Als sie aber aufmachte,
saß der Frosch vor der Tür. Da warf sie die Tür hastig zu, setzte sich
wieder an den Tisch, und es war ihr ganz ängstlich zumute.
Der König sah wohl, daß ihr das Herz gewaltig klopfte, und sprach:
»Mein Kind, was fürchtest du dich? Steht etwa ein Riese vor der Tür
und will dich holen?«
»Ach, nein«, antwortete sie, »es ist kein Riese, sondern ein garstiger
Frosch.«
»Ach, lieber Vater, als ich gestern im Wald bei dem Brunnen saß und
spielte, fiel meine goldene Kugel ins Wasser. Als ich deshalb weinte,
hat sie mir der Frosch heraufgeholt. Und weil er es durchaus
verlangte, versprach ich ihm, er sollte mein Spielgefährte werden. Ich
dachte aber nimmermehr, daß er aus seinem Wasser käme. Nun ist er
draußen und will zu mir herein.«
»Königstochter, jüngste,
Mach mir auf!
Weißt du nicht, was gestern
B Beispieldateien 195
Du zu mir gesagt
Bei dem kühlen Brunnenwasser?
Königstochter, jüngste,
Mach mir auf!«
Da sagte der König: »Was du versprochen hast, das mußt du auch halten!
Geh nur und mach ihm auf!«
Sie ging und öffnete die Tür. Da hüpfte der Frosch herein und hüpfte
ihr immer nach bis zu ihrem Stuhl. Dort blieb er sitzen und rief: »Heb
mich hinauf zu dir!« Sie zauderte, bis es endlich der König
befahl. Als der Frosch auf dem Stuhl war, wollte er auf den Tisch, und
als er da saß, sprach er: »Nun schieb mir dein goldenes Tellerlein
näher, damit wir mitsammen essen können.« Der Frosch ließ sich's gut
schmecken, ihr aber blieb fast jeder Bissen im Halse stecken.
Endlich sprach der Frosch: »Ich habe mich satt gegessen und bin
müde. Nun trag mich in dein Kämmerlein und mach dein seidenes Bettlein
zurecht!« Die Königstochter fing an zu weinen und fürchtete sich vor
dem kalten Frosch, den sie sich nicht anzurühren getraute und der nun
in ihrem schönen, reinen Bettlein schlafen sollte.
Der König aber wurde zornig und sprach: »Wer dir geholfen hat, als du
in Not warst, den sollst du hernach nicht verachten!«
Da packte sie den Frosch mit zwei Fingern, trug ihn hinauf in ihr
Kämmerlein und setzte ihn dort in eine Ecke. Als sie aber im Bette
lag, kam er gekrochen und sprach: »Ich will schlafen so gut wie
du. Heb mich hinauf, oder ich sag's deinem Vater!«
Da wurde sie bitterböse, holte ihn herauf und warf ihn gegen die
Wand. »Nun wirst du Ruhe geben«, sagte sie, »du garstiger Frosch!« Als
er aber herabfiel, war er kein Frosch mehr, sondern ein Königssohn mit
schönen freundlichen Augen. Der war nun nach ihres Vaters Willen ihr
lieber Geselle und Gemahl. Er erzählte ihr, er wäre von einer bösen
Hexe verwünscht worden, und niemand hätte ihn aus dem Brunnen erlösen
können als sie allein, und morgen wollten sie mitsammen in sein Reich
gehen.
Und wirklich, am anderen Morgen kam ein Wagen herangefahren, mit acht
weißen Pferden bespannt, die hatten weiße Straußfedern auf dem Kopf
und gingen in goldenen Ketten. Hinten auf dem Wagen aber stand der
Diener des jungen Königs, das war der treue Heinrich.
Der treue Heinrich hatte sich so gekränkt, als sein Herr in einen
Frosch verwandelt worden war, daß er drei eiserne Bänder um sein Herz
hatte legen lassen, damit es ihm nicht vor Weh und Traurigkeit
zerspränge.
Der Wagen sollte nun den jungen König in sein Reich holen. Der treue
Heinrich hob ihn und seine junge Gemahlin hinein, stellte sich wieder
hinten hinauf und war voll Freude über die Erlösung seines Herrn. Als
sie ein Stück des Weges gefahren waren, hörte der Königssohn, daß es
hinter ihm krachte, als ob etwas zerbrochen wäre. Da drehte er sich um
und rief:
Noch einmal und noch einmal krachte es auf dem Weg, und der Königssohn
meinte immer, der Wagen bräche. Doch es waren nur die Bänder, die vom
Herzen des treuen Heinrich absprangen, weil sein Herr nun erlöst und
glücklich war.
$ echo tux
tux
$ ls
hallo.c
hallo.o
$ /bin/su -
Password:
C
LPIC-1-Zertifizierung
C.1 Überblick
“
”
http://www.lpi.org/ Prüfungsziele
”
“
“
”
grd1-objectives.tex (a13e1ba7ab759bab)
198 C LPIC-1-Zertifizierung
Wichtigste Wissensgebiete
Wichtigste Wissensgebiete
cat nl tail
cut od tr
expand paste unexpand
fmt pr uniq
head sed wc
join sort
less split
Wichtigste Wissensgebiete
find
tar cpio dd
cp rmdir gzip
find touch gunzip
mkdir tar bzip2
mv cpio xz
ls dd
rm file
Wichtigste Wissensgebiete
200 C LPIC-1-Zertifizierung
tee xargs
Wichtigste Wissensgebiete
Wichtigste Wissensgebiete
vi
vi
vi h j k l c d p y dd yy
/ ? i o a ZZ :w! :q! :e!
Wichtigste Wissensgebiete
ln ls
Wichtigste Wissensgebiete
D
Kommando-Index
.
bash 149
apropos “
”
apropos 50
bash “
”
bash 41
bg
bash 151
bunzip2 .bz2 bzip2 178
bzip2 bzip2 177
cat cat 113
cd bash 75
convmv convmv 73
cp cp 82
csh “ csh 41
”
cut cut 132
date date 140, 44
dmesg dmesg 162
echo
bash echo 44
ed ed 57
egrep
grep 102
elvis “ vi elvis 56
”
emacs emacs emacs 63
env
env 142
ex vi vi 57
exit bash 35
expand
expand 121
export bash 141
fg
bash 151
fgrep
fgrep 102
204 D Kommando-Index
Index
~/.bashrc“ “
” ”
. -a
. -i
.. -L
./ -l
/ -P
-s
cpio
alias -d
apropos -i
--null
-o
awk -p
-t
bash -u
-c cron
~/.bash_history crontab
csh
cut
bg -c
/bin -d
/bin/ls -f
--output-delimiter
/boot -s
date
dd
bunzip2
bzip
bzip2
-1 /dev
-9 /dev/fd0
-c /dev/null
-d /dev/random
/dev/tty
/dev/urandom
/dev/zero
cat dirs
cd dmesg
chmod
compress echo
convmv -n
cp ed
208 Index
egrep
elvis
emacs
env grep
/etc
/etc/cron.daily --color
/etc/fstab -f
/etc/hosts -H
/etc/init.d groff
/etc/inittab gunzip
/etc/issue gzip
/etc/magic -1
/etc/motd -6
/etc/mtab -9
/etc/passwd --best
/etc/rc.d/init.d -c
/etc/shadow -d
/etc/shells --fast
/etc/sysconfig/locate -l
/etc/updatedb.conf -r
-S
ex -v
exit
expand hash
-i -r
-t hd
export head
-n -c
-n
-
fg help
fgrep hexdump
file history
-c
find /home
-depth
-exec
-maxdepth -i
-name id
-ok info
-print inhalt
-print0 init
fmt
-c
-w jobs
join
free jove
frosch.txt kate
kdesu
gcc
gedit kill
klogd
glxgears
Index 209
-n
konsole -s
mount
ksh
LANG mv
LC_ALL -b
LC_COLLATE -f
-i
less -R
/lib -u
/lib/modules -v
linux-0.01.tar.gz nl
ln -b
-b -i
-f -n
-i -v
-s -w
-v
locate
-e od
LOGNAME -A
logout -N
lost+found -t
lpr -v
ls
/opt
-a paste
-d -d
-F -s
-H PATH
-i
-L
-l
-p
-U perl
man
-a popd
-f pr
-k printf
MANPATH /proc
manpath /proc/cpuinfo
/proc/devices
/media /proc/dma
/media/cdrom /proc/interrupts
/media/dvd /proc/ioports
/media/floppy /proc/kcore
/proc/loadavg
mkdir /proc/meminfo
-p /proc/mounts
mkfifo /proc/scsi
mknod
/mnt ps
more
-l
210 Index
-s
pushd tail
pwd -c
-f
-n
-
tar
rar -c
-f
-J
reset -j
-M
rm -r
-f -t
-i -u
-r -v
-v -x
rmdir -Z
-p -z
/root
tcsh
tee
/sbin -a
sed teilnehmer0.dat
set TERM
test
sh
time
/tmp
tr
sleep -c
slocate -s
sort
type
-b TZ
-f
-k
-n
-r LANG
-t LC_ALL
-u LC_COLLATE
-u LOGNAME
source MANPATH
split PATH
/srv
TERM
TZ
su umount
sudo unexpand
-a
uniq
/sys
syslogd unset
unxz
tac updatedb
-b uptime
Index 211
/usr
/usr/bin
/usr/bin/test
/usr/lib
/usr/local
/usr/local/bin
/usr/sbin
/usr/share
/usr/share/dict/words
/usr/share/doc
/usr/share/file
/usr/share/file/magic
/usr/share/info
/usr/share/man
/usr/share/zoneinfo
/usr/src
/var
/var/log
/var/mail
/var/spool
/var/spool/cron
/var/spool/cups
/var/tmp
vi
vim
vimtutor
vmlinuz
wc
whatis
whereis
which
xargs
-0
-r
xclock
-update 1
xterm
xz
-1
-6
-9
-d
-e
-q
-qq
-v
zip