176
Sascha Kersken IT-Handbuch für Fachinformatiker

IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Embed Size (px)

Citation preview

Page 1: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Sascha Kersken

IT-Handbuch für Fachinformatiker

Page 2: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Auf einen Blick

Auf einen Blick

1 Einführung ................................................................................................................................................ 25

2 Mathematische und technische Grundlagen ............................................................................... 59

3 Hardware .................................................................................................................................................. 111

4 Netzwerkgrundlagen ............................................................................................................................ 173

5 Betriebssystemgrundlagen ................................................................................................................ 289

6 Windows ................................................................................................................................................... 327

7 Linux ........................................................................................................................................................... 377

8 Mac OS X ................................................................................................................................................... 453

9 Grundlagen der Programmierung .................................................................................................... 471

10 Konzepte der Programmierung ......................................................................................................... 561

11 Software-Engineering .......................................................................................................................... 659

12 Datenbanken ........................................................................................................................................... 699

13 Server für Webanwendungen ........................................................................................................... 753

14 Weitere Internet-Serverdienste ........................................................................................................ 797

15 XML ............................................................................................................................................................. 821

16 Weitere Datei- und Datenformate ................................................................................................... 869

17 Webseitenerstellung mit (X)HTML und CSS ................................................................................. 899

18 Webserveranwendungen .................................................................................................................... 963

19 JavaScript und Ajax ............................................................................................................................... 1037

20 Computer- und Netzwerksicherheit ................................................................................................ 1105

A Glossar ....................................................................................................................................................... 1133

B Zweisprachige Wortliste ...................................................................................................................... 1147

C Kommentiertes Literatur- und Linkverzeichnis ........................................................................... 1153

Page 3: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Inhalt

Inhalt

Vorwort ...................................................................................................................................................................................... 17

1 Einführung 25

1.1 Informationstechnik, Informatik und EDV ................................................................................................. 25

1.1.1 Fachrichtungen der Informatik .......................................................................................................... 26

1.1.2 Überblick über die IT-Ausbildung ...................................................................................................... 27

1.2 Die Geschichte der Rechenmaschinen und Computer .......................................................................... 34

1.2.1 Die Vorgeschichte ................................................................................................................................... 35

1.2.2 Die Entwicklung der elektronischen Rechner ................................................................................ 37

1.2.3 Entwicklung der Programmiersprachen ......................................................................................... 46

1.3 Digitale Speicherung und Verarbeitung von Informationen ............................................................. 53

1.3.1 Digitale Bilddaten ................................................................................................................................... 55

1.3.2 Digitale Audiodaten ............................................................................................................................... 56

1.3.3 Digitale Speicherung von Text ........................................................................................................... 57

1.4 Zusammenfassung ................................................................................................................................................ 57

2 Mathematische und technische Grundlagen 59

2.1 Einführung in die Logik ....................................................................................................................................... 59

2.1.1 Aussagen .................................................................................................................................................... 60

2.1.2 Aussageformen ....................................................................................................................................... 61

2.1.3 Logische Verknüpfungen ...................................................................................................................... 61

2.1.4 Mengenoperationen .............................................................................................................................. 69

2.1.5 Weitere wichtige Berechnungsverfahren ....................................................................................... 73

2.2 Informationsspeicherung im Computer ...................................................................................................... 75

2.2.1 Zahlensysteme ......................................................................................................................................... 75

2.2.2 Bits und Bytes ........................................................................................................................................... 81

2.3 Elektronische Grundlagen .................................................................................................................................. 85

2.3.1 Einfache Schaltungen ............................................................................................................................ 86

2.3.2 Zusammengesetzte Schaltungen ..................................................................................................... 89

2.4 Automatentheorien und -simulationen ...................................................................................................... 94

2.4.1 Algorithmen .............................................................................................................................................. 94

5

Page 4: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Inhalt

2.4.2 Die Turing-Maschine ............................................................................................................................. 99

2.4.3 Der virtuelle Prozessor .......................................................................................................................... 103

2.5 Zusammenfassung ................................................................................................................................................ 110

3 Hardware 111

3.1 Grundlagen ............................................................................................................................................................... 112

3.2 Die Zentraleinheit .................................................................................................................................................. 116

3.2.1 Aufbau und Aufgaben des Prozessors ............................................................................................. 117

3.2.2 Der Arbeitsspeicher ................................................................................................................................ 127

3.2.3 Das BIOS ..................................................................................................................................................... 129

3.2.4 Bus- und Anschlusssysteme ................................................................................................................ 135

3.3 Die Peripherie .......................................................................................................................................................... 145

3.3.1 Massenspeicher ....................................................................................................................................... 146

3.3.2 Eingabegeräte .......................................................................................................................................... 160

3.3.3 Ausgabegeräte ......................................................................................................................................... 163

3.3.4 Soundhardware ....................................................................................................................................... 169

3.4 Zusammenfassung ................................................................................................................................................ 170

4 Netzwerkgrundlagen 173

4.1 Einführung ................................................................................................................................................................ 173

4.1.1 Was ist ein Netzwerk? ........................................................................................................................... 173

4.1.2 Entstehung der Netzwerke .................................................................................................................. 175

4.2 Funktionsebenen von Netzwerken ................................................................................................................ 181

4.2.1 Das OSI-Referenzmodell ....................................................................................................................... 181

4.2.2 Das Schichtenmodell der Internetprotokolle ................................................................................ 184

4.2.3 Netzwerkkommunikation über die Schichten eines Schichtenmodells ............................... 187

4.3 Klassifizierung von Netzwerken ..................................................................................................................... 191

4.3.1 Die Reichweite des Netzwerks ........................................................................................................... 191

4.3.2 Die Netzwerktopologie ......................................................................................................................... 193

4.3.3 Der Zentralisierungsgrad des Netzwerks ....................................................................................... 194

4.4 Netzwerkkarten, Netzwerkkabel und Netzzugangsverfahren ......................................................... 201

4.4.1 Die verschiedenen Ethernet-Standards ........................................................................................... 202

4.4.2 Token Ring ................................................................................................................................................. 208

6

Page 5: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Inhalt

4.4.3 Drahtlose Netze ....................................................................................................................................... 209

4.4.4 Sonstige Zugangsarten ......................................................................................................................... 214

4.5 Datenfernübertragung ........................................................................................................................................ 215

4.5.1 Netzwerkzugang per Modem (analoge Telefonleitung) ........................................................... 217

4.5.2 ISDN ............................................................................................................................................................. 218

4.5.3 DSL-Dienste ............................................................................................................................................... 220

4.5.4 Internetzugänge über Mobilfunk ...................................................................................................... 222

4.6 Die TCP/IP-Protokollfamilie .............................................................................................................................. 224

4.6.1 Netzzugang in TCP/IP-Netzwerken .................................................................................................. 225

4.6.2 IP-Adressen, Datagramme und Routing .......................................................................................... 226

4.6.3 Transportprotokolle ............................................................................................................................... 254

4.6.4 Das Domain Name System (DNS) ..................................................................................................... 260

4.6.5 Verschiedene Internet-Anwendungsprotokolle ........................................................................... 265

4.7 Andere Protokollstapel ........................................................................................................................................ 282

4.7.1 Die AppleTalk-Protokollfamilie .......................................................................................................... 282

4.7.2 Novell IPX/SPX ......................................................................................................................................... 285

4.7.3 NetBEUI/SMB ........................................................................................................................................... 286

4.8 Zusammenfassung ................................................................................................................................................ 287

5 Betriebssystemgrundlagen 289

5.1 Entwicklung der Betriebssysteme .................................................................................................................. 290

5.1.1 Die Geschichte von Unix ...................................................................................................................... 292

5.1.2 PC-Betriebssysteme ............................................................................................................................... 294

5.2 Aufgaben und Konzepte ..................................................................................................................................... 298

5.2.1 Allgemeiner Aufbau von Betriebssystemen .................................................................................. 299

5.2.2 Prozessverwaltung ................................................................................................................................. 306

5.2.3 Speicherverwaltung ............................................................................................................................... 311

5.2.4 Dateisysteme ............................................................................................................................................ 313

5.3 Die allgegenwärtige Virtualisierung ............................................................................................................. 320

5.3.1 Virtualisierungslösungen im Überblick ........................................................................................... 321

5.3.2 VMware Workstation als konkretes Beispiel ................................................................................. 322

5.4 Zusammenfassung ................................................................................................................................................ 326

7

Page 6: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Inhalt

6 Windows 327

6.1 Allgemeine Informationen ................................................................................................................................ 327

6.1.1 Die verschiedenen Windows-Versionen ......................................................................................... 327

6.1.2 Windows-Dateisysteme ....................................................................................................................... 333

6.2 Windows im Einsatz .............................................................................................................................................. 334

6.2.1 Die Windows-Benutzeroberfläche .................................................................................................... 335

6.2.2 Die Windows-Konsole ........................................................................................................................... 344

6.2.3 Die Windows PowerShell ..................................................................................................................... 347

6.2.4 Windows-Konfiguration ....................................................................................................................... 360

6.3 Windows-Netzwerkkonfiguration ................................................................................................................. 367

6.3.1 Allgemeine Einstellungen .................................................................................................................... 367

6.3.2 TCP/IP-Dienstprogramme .................................................................................................................... 369

6.3.3 Datei- und Druckserver unter Windows ......................................................................................... 372

6.3.4 Windows-Server ...................................................................................................................................... 373

6.4 Zusammenfassung ................................................................................................................................................ 375

7 Linux 377

7.1 Arbeiten mit der Shell .......................................................................................................................................... 379

7.1.1 Booten und Login .................................................................................................................................... 379

7.1.2 Virtuelle Terminals ................................................................................................................................. 383

7.1.3 Grundfunktionen der Shell .................................................................................................................. 384

7.1.4 Hilfefunktionen ....................................................................................................................................... 390

7.1.5 Pipes und Ein-/Ausgabeumleitung ................................................................................................... 394

7.1.6 Die wichtigsten Systembefehle ......................................................................................................... 397

7.2 Konfigurations- und Administrationsaufgaben ...................................................................................... 411

7.2.1 Syslog und Log-Dateien ........................................................................................................................ 411

7.2.2 Programme automatisch starten ...................................................................................................... 413

7.2.3 Software installieren ............................................................................................................................. 415

7.3 Automatisierung .................................................................................................................................................... 417

7.3.1 Shell-Skripte .............................................................................................................................................. 417

7.3.2 Weitere Hilfsmittel ................................................................................................................................. 421

7.4 Editoren ...................................................................................................................................................................... 423

7.4.1 vi ................................................................................................................................................................... 424

7.4.2 Emacs .......................................................................................................................................................... 433

8

Page 7: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Inhalt

7.5 Grafische Benutzeroberflächen ....................................................................................................................... 439

7.5.1 Der X-Server .............................................................................................................................................. 439

7.5.2 Desktops .................................................................................................................................................... 440

7.6 Netzwerkkonfiguration unter Linux ............................................................................................................. 445

7.6.1 Grundeinstellungen ............................................................................................................................... 445

7.6.2 TCP/IP-Dienstprogramme .................................................................................................................... 447

7.6.3 Datei- und Druckserver unter Linux ................................................................................................. 447

7.7 Zusammenfassung ................................................................................................................................................ 452

8 Mac OS X 453

8.1 Mit Aqua arbeiten .................................................................................................................................................. 457

8.1.1 Die Menüleiste ......................................................................................................................................... 458

8.1.2 Das Dock .................................................................................................................................................... 459

8.1.3 Der Finder .................................................................................................................................................. 460

8.1.4 Exposé und Dashboard ......................................................................................................................... 462

8.2 Systemkonfiguration ........................................................................................................................................... 464

8.2.1 Besonderheiten der Mac-Dateisysteme .......................................................................................... 465

8.3 Mac OS X-Netzwerkkonfiguration ................................................................................................................. 466

8.3.1 Serverdienste unter Mac OS X ............................................................................................................ 468

8.4 Zusammenfassung ................................................................................................................................................ 469

9 Grundlagen der Programmierung 471

9.1 Die Programmiersprache C ................................................................................................................................ 472

9.1.1 Das erste Beispiel .................................................................................................................................... 473

9.1.2 Elemente der Sprache C ........................................................................................................................ 476

9.1.3 Die C-Standardbibliothek ..................................................................................................................... 495

9.2 Java ............................................................................................................................................................................... 499

9.2.1 Grundlegende Elemente der Sprache Java ..................................................................................... 501

9.2.2 Objektorientierte Programmierung mit Java ................................................................................ 506

9.2.3 Dateizugriffe in Java .............................................................................................................................. 512

9.3 Perl ................................................................................................................................................................................ 514

9.3.1 Das erste Beispiel .................................................................................................................................... 516

9.3.2 Elemente der Sprache Perl ................................................................................................................... 517

9

Page 8: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Inhalt

9.4 Ruby ............................................................................................................................................................................. 528

9.4.1 Das erste Beispiel .................................................................................................................................... 529

9.4.2 Ruby-Grundelemente ............................................................................................................................ 531

9.4.3 Objektorientierung in Ruby ................................................................................................................. 546

9.5 Zusammenfassung ................................................................................................................................................ 559

10 Konzepte der Programmierung 561

10.1 Algorithmen und Datenstrukturen ................................................................................................................ 561

10.1.1 Ein einfaches Praxisbeispiel ................................................................................................................ 561

10.1.2 Sortier-Algorithmen ............................................................................................................................... 564

10.1.3 Such-Algorithmen ................................................................................................................................... 569

10.1.4 Ausgewählte Datenstrukturen ........................................................................................................... 571

10.2 Reguläre Ausdrücke .............................................................................................................................................. 576

10.2.1 Muster für reguläre Ausdrücke .......................................................................................................... 577

10.2.2 Programmierung mit regulären Ausdrücken ................................................................................ 581

10.3 Systemnahe Programmierung ......................................................................................................................... 584

10.3.1 Prozesse und Pipes ................................................................................................................................. 584

10.3.2 Threads ....................................................................................................................................................... 589

10.4 Einführung in die Netzwerkprogrammierung .......................................................................................... 593

10.4.1 Die Berkeley Socket API ......................................................................................................................... 593

10.4.2 Ein praktisches Beispiel ......................................................................................................................... 600

10.4.3 Ein Ruby-Webserver ............................................................................................................................... 604

10.5 Verteilte Anwendungen mit Java Enterprise Edition ............................................................................ 620

10.5.1 Enterprise Java Beans (EJB) .................................................................................................................. 621

10.5.2 Java Servlets .............................................................................................................................................. 627

10.5.3 Webservices .............................................................................................................................................. 628

10.6 GUI- und Grafikprogrammierung ................................................................................................................... 630

10.6.1 Zeichnungen und Grafiken erstellen ................................................................................................ 632

10.6.2 Animation .................................................................................................................................................. 638

10.6.3 Programmierung fensterbasierter Anwendungen ...................................................................... 642

10.6.4 Java-Applets .............................................................................................................................................. 655

10.7 Zusammenfassung ................................................................................................................................................ 657

10

Page 9: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Inhalt

11 Software-Engineering 659

11.1 Überblick .................................................................................................................................................................... 660

11.1.1 Der Entwicklungszyklus ........................................................................................................................ 661

11.1.2 Planung und Analyse ............................................................................................................................. 662

11.1.3 Entwurf ....................................................................................................................................................... 669

11.1.4 Implementierung und Test .................................................................................................................. 670

11.1.5 Dokumentation ....................................................................................................................................... 672

11.1.6 Konkrete Entwicklungsverfahren ...................................................................................................... 673

11.2 Werkzeuge ................................................................................................................................................................ 677

11.2.1 UML .............................................................................................................................................................. 677

11.2.2 Entwurfsmuster ...................................................................................................................................... 684

11.2.3 Unit-Tests .................................................................................................................................................. 693

11.3 Zusammenfassung ................................................................................................................................................ 698

12 Datenbanken 699

12.1 Die verschiedenen Datenbanktypen ............................................................................................................. 700

12.1.1 Einzeltabellendatenbanken ................................................................................................................ 702

12.1.2 Relationale Datenbanken ..................................................................................................................... 703

12.1.3 Objektorientierte Datenbanken ......................................................................................................... 711

12.2 MySQL – ein konkretes RDBMS ....................................................................................................................... 714

12.2.1 MySQL installieren und konfigurieren ............................................................................................. 714

12.2.2 Erste Schritte mit dem mysql-Client ................................................................................................ 718

12.3 SQL-Abfragen ........................................................................................................................................................... 719

12.3.1 Datenbanken und Tabellen erzeugen .............................................................................................. 720

12.3.2 Auswahlabfragen .................................................................................................................................... 724

12.3.3 Einfüge-, Lösch- und Änderungsabfragen ...................................................................................... 728

12.3.4 Transaktionen .......................................................................................................................................... 730

12.4 MySQL-Administration ........................................................................................................................................ 731

12.4.1 mysqladmin .............................................................................................................................................. 732

12.4.2 Benutzerverwaltung .............................................................................................................................. 732

12.4.3 Import und Export von Daten, Backups .......................................................................................... 738

12.4.4 Konfigurationsdateien .......................................................................................................................... 741

12.4.5 Log-Dateien ............................................................................................................................................... 742

12.4.6 Replikation ................................................................................................................................................ 744

12.5 Grundlagen der Datenbankprogrammierung ........................................................................................... 746

12.6 Zusammenfassung ................................................................................................................................................ 751

11

Page 10: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Inhalt

13 Server für Webanwendungen 753

13.1 HTTP im Überblick ................................................................................................................................................. 753

13.1.1 Ablauf der HTTP-Kommunikation ..................................................................................................... 754

13.1.2 HTTP-Statuscodes ................................................................................................................................... 758

13.1.3 HTTP-Header ............................................................................................................................................. 761

13.2 Der Webserver Apache ........................................................................................................................................ 765

13.2.1 Apache im Überblick .............................................................................................................................. 766

13.2.2 Apache-Module ....................................................................................................................................... 768

13.2.3 Apache installieren ................................................................................................................................. 770

13.2.4 Apache-Konfiguration ........................................................................................................................... 774

13.3 PHP installieren und einrichten ....................................................................................................................... 788

13.3.1 Installation ................................................................................................................................................ 789

13.3.2 Die PHP-Konfigurationsdatei »php.ini« ........................................................................................... 793

13.4 Zusammenfassung ................................................................................................................................................ 796

14 Weitere Internet-Serverdienste 797

14.1 Namens- und Verzeichnisdienste ................................................................................................................... 797

14.1.1 Der DNS-Server BIND ............................................................................................................................. 797

14.1.2 Der Verzeichnisdienst OpenLDAP ...................................................................................................... 804

14.2 Sonstige Server ........................................................................................................................................................ 814

14.2.1 vsftpd, ein FTP-Server ............................................................................................................................ 814

14.2.2 inetd und xinetd ...................................................................................................................................... 816

14.3 Zusammenfassung ................................................................................................................................................ 819

15 XML 821

15.1 Der Aufbau von XML-Dokumenten ............................................................................................................... 823

15.1.1 Die grundlegenden Bestandteile von XML-Dokumenten ......................................................... 823

15.1.2 Wohlgeformtheit .................................................................................................................................... 832

15.2 DTDs und XML Schema ........................................................................................................................................ 834

15.2.1 Document Type Definitions (DTDs) .................................................................................................. 834

15.2.2 Namensräume ......................................................................................................................................... 846

15.2.3 XML Schema ............................................................................................................................................. 847

12

Page 11: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Inhalt

15.3 XSLT .............................................................................................................................................................................. 850

15.4 Grundlagen der XML-Programmierung ....................................................................................................... 856

15.4.1 SAX ............................................................................................................................................................... 858

15.4.2 DOM ............................................................................................................................................................ 866

15.5 Zusammenfassung ................................................................................................................................................ 868

16 Weitere Datei- und Datenformate 869

16.1 Textdateien und Zeichensätze ......................................................................................................................... 869

16.1.1 Das Problem des Zeilenumbruchs ..................................................................................................... 870

16.1.2 Zeichensätze ............................................................................................................................................. 873

16.1.3 Textbasierte Dateiformate .................................................................................................................. 880

16.2 Binäre Dateiformate ............................................................................................................................................. 883

16.2.1 Bilddateiformate ..................................................................................................................................... 886

16.2.2 Multimedia-Dateiformate ................................................................................................................... 891

16.2.3 Archivdateien verwenden .................................................................................................................... 893

16.3 Zusammenfassung ................................................................................................................................................ 896

17 Webseitenerstellung mit (X)HTML und CSS 899

17.1 HTML und XHTML .................................................................................................................................................. 900

17.1.1 Die Grundstruktur von HTML-Dokumenten .................................................................................. 901

17.1.2 Textstrukturierung und Textformatierung .................................................................................... 904

17.1.3 Listen und Aufzählungen ..................................................................................................................... 911

17.1.4 Hyperlinks .................................................................................................................................................. 914

17.1.5 Bilder in Webseiten einbetten ............................................................................................................ 919

17.1.6 Tabellen ...................................................................................................................................................... 923

17.1.7 Formulare .................................................................................................................................................. 930

17.1.8 Einbetten von Multimedia-Dateien .................................................................................................. 938

17.1.9 Meta-Tags und Suchmaschinen ........................................................................................................ 941

17.2 Cascading Style Sheets (CSS) ............................................................................................................................ 944

17.2.1 Platzieren von Stylesheets ................................................................................................................... 945

17.2.2 Stylesheet-Wertangaben ..................................................................................................................... 947

17.2.3 Stylesheet-Eigenschaften .................................................................................................................... 949

17.2.4 Layer erzeugen und positionieren ..................................................................................................... 952

17.3 Zusammenfassung ................................................................................................................................................ 962

13

Page 12: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Inhalt

18 Webserveranwendungen 963

18.1 PHP ............................................................................................................................................................................... 963

18.1.1 Sprachgrundlagen .................................................................................................................................. 964

18.1.2 Klassen und Objekte .............................................................................................................................. 977

18.1.3 Include-Dateien, Autoloader und Namespaces ............................................................................ 988

18.1.4 Webspezifische Funktionen ................................................................................................................ 990

18.1.5 Zugriff auf MySQL-Datenbanken ...................................................................................................... 995

18.1.6 Unit-Tests mit PHPUnit ......................................................................................................................... 1009

18.2 Ruby on Rails ............................................................................................................................................................ 1015

18.2.1 Grundlagen ............................................................................................................................................... 1016

18.2.2 Ein Praxisbeispiel .................................................................................................................................... 1017

18.3 Weitere Technologien im Überblick .............................................................................................................. 1029

18.3.1 Content Management, Weblogs & Co. ........................................................................................... 1030

18.3.2 Blogs und Wikis ....................................................................................................................................... 1031

18.4 Zusammenfassung ................................................................................................................................................ 1034

19 JavaScript und Ajax 1037

19.1 JavaScript ................................................................................................................................................................... 1037

19.2 JavaScript im HTML-Dokument ....................................................................................................................... 1038

19.2.1 Erstes Beispiel: Ausgabe ins Dokument .......................................................................................... 1039

19.3 Formulare und Event Handler .......................................................................................................................... 1043

19.3.1 Erstes Beispiel ........................................................................................................................................... 1044

19.3.2 Zugriff auf Formulare und ihre Elemente ....................................................................................... 1045

19.4 Datums- und Uhrzeit-Funktionen .................................................................................................................. 1053

19.4.1 Datums- und Uhrzeit-Methoden ....................................................................................................... 1054

19.4.2 Timeout – die JavaScript-»Stoppuhr« .............................................................................................. 1055

19.5 Manipulation von Bildern .................................................................................................................................. 1056

19.5.1 Erstes Beispiel: Austauschen eines Bildes auf Knopfdruck ....................................................... 1056

19.5.2 Vorausladen von Bildern ...................................................................................................................... 1058

19.5.3 Eine gut funktionierende Rollover-Lösung ..................................................................................... 1059

19.6 Browser- und Fensteroptionen ........................................................................................................................ 1063

19.6.1 Browser-Eigenschaften ......................................................................................................................... 1063

19.6.2 Automatische Hyperlinks – History und Location ....................................................................... 1065

19.6.3 Neue Browserfenster öffnen ............................................................................................................... 1066

14

Page 13: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Inhalt

19.7 DHTML und DOM ................................................................................................................................................... 1069

19.7.1 W3C-DOM im Überblick ....................................................................................................................... 1070

19.7.2 Eine DOM-Baum-Anzeige .................................................................................................................... 1073

19.7.3 DOM-Anwendung in der Praxis ......................................................................................................... 1076

19.7.4 Dokumentinhalte verändern und austauschen ........................................................................... 1079

19.8 Ajax ............................................................................................................................................................................... 1081

19.8.1 Die erste Ajax-Anwendung .................................................................................................................. 1081

19.8.2 Datenaustauschformate: XML und JSON ....................................................................................... 1088

19.8.3 Größeres Beispiel: eine interaktive Länderliste ............................................................................ 1089

19.9 Zusammenfassung ................................................................................................................................................ 1102

20 Computer- und Netzwerksicherheit 1105

20.1 PC-Gefahren ............................................................................................................................................................. 1106

20.1.1 Viren und Würmer .................................................................................................................................. 1106

20.1.2 Trojaner und Backdoors ........................................................................................................................ 1112

20.1.3 Weitere Schädlinge ................................................................................................................................ 1113

20.2 Netzwerk- und Serversicherheit ...................................................................................................................... 1119

20.2.1 Servergefahren ........................................................................................................................................ 1119

20.2.2 Wichtige Gegenmaßnahmen ............................................................................................................. 1122

20.2.3 Kryptografie .............................................................................................................................................. 1128

20.3 Zusammenfassung ................................................................................................................................................ 1131

Anhang

A Glossar ........................................................................................................................................................................ 1133

B Zweisprachige Wortliste ..................................................................................................................................... 1147

B.1 Englisch-Deutsch .................................................................................................................................... 1147

B.2 Deutsch-Englisch .................................................................................................................................... 1150

C Kommentiertes Literatur- und Linkverzeichnis ........................................................................................ 1153

C.1 Allgemeine Einführungen und Überblicke ..................................................................................... 1153

C.2 Mathematische und technische Grundlagen ............................................................................... 1153

C.3 Hardware ................................................................................................................................................... 1154

15

Page 14: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Inhalt

C.4 Netzwerktechnik ..................................................................................................................................... 1154

C.5 Betriebssystemgrundlagen ................................................................................................................. 1155

C.6 Windows .................................................................................................................................................... 1155

C.7 Linux ............................................................................................................................................................ 1156

C.8 Mac OS X .................................................................................................................................................... 1157

C.9 Grundlagen der Programmierung ..................................................................................................... 1157

C.10 Konzepte der Programmierung .......................................................................................................... 1158

C.11 Software-Engineering ........................................................................................................................... 1158

C.12 Datenbanken ............................................................................................................................................ 1160

C.13 Server für Webanwendungen ............................................................................................................ 1160

C.14 Weitere Internet-Serverdienste ......................................................................................................... 1161

C.15 XML .............................................................................................................................................................. 1161

C.16 Webseitenerstellung mit HTML und CSS ........................................................................................ 1161

C.17 Webserveranwendungen ..................................................................................................................... 1162

C.18 JavaScript und Ajax ................................................................................................................................ 1162

C.19 Computer- und Netzwerksicherheit ................................................................................................. 1163

Index ........................................................................................................................................................................................... 1165

16

Page 15: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Kapitel 1

Einführung

In der Informatik geht es genauso wenig um Computer

wie in der Astronomie um Teleskope.

– Edsger W. Dijkstra

In diesem Kapitel erhalten Sie einen Überblick über die wichtigsten Grundlagen der

Informationstechnik: eine Abgrenzung der verschiedenen Fachrichtungen und Aus-

bildungsgänge der Informatik, die Entwicklungsgeschichte der Computer sowie eine

allgemeine Übersicht über die digitale Speicherung verschiedener Arten von Infor-

mationen.

1.1 Informationstechnik, Informatik und EDV

Allgemein gesprochen geht es in diesem Buch um Informationstechnik (englisch: in-

formation technology oder kurz IT). Der traditionelle Begriff für diese Art der Technik

lautet elektronische Datenverarbeitung (EDV). Daten oder Informationen sind Werte,

die im Zusammenhang mit beliebigen Sachverhalten angelegt werden oder die im

Rahmen von Mess- oder Rechenvorgängen anfallen. Datenverarbeitung ist der Vor-

gang der Sammlung, Speicherung und Manipulation dieser Informationen. Im Lauf

der Zeit haben sich unterschiedliche Verfahren der Datenverarbeitung entwickelt:

Arten der Daten-

verarbeitung

� Die manuelle Datenverarbeitung führt Berechnungen und Datenmanipulationen

ohne jegliche Hilfsmittel durch; sie basiert auf Kopfrechnen und Auswendigler-

nen. Das äußerste erlaubte Hilfsmittel ist ein Schreibblock, um Daten oder Zwi-

schenergebnisse zu notieren.

� Die mechanische Datenverarbeitung verwendet mechanische Hilfsmittel für die

Verarbeitung von Informationen, beispielsweise eine mechanische Schreibma-

schine oder einen Rechenschieber.

� Bei der elektrischen Datenverarbeitung werden elektrisch betriebene Geräte als

Hilfsmittel eingesetzt, zum Beispiel elektrische Schreibmaschinen oder klassische

Registrierkassen.

� Die elektronische Datenverarbeitung verwendet schließlich elektronisch gesteu-

erte Arbeitsmittel, also Elektronenrechner oder Computer.

25

Page 16: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

1.1.1 Fachrichtungen der Informatik

Die wissenschaftliche Fachrichtung, die sich mit den verschiedenen Aspekten der

Computertechnik auseinandersetzt, wird seit den 60er-Jahren des 20. Jahrhunderts

als Informatik (englisch: computer science) bezeichnet; es handelt sich um ein Kunst-

wort aus Information und Mathematik. Die akademische Informatik wird üblicher-

weise in vier Fachrichtungen unterteilt:

� Die theoretische Informatik betrachtet insbesondere die mathematisch-logischen

Grundlagen, die der Verwendung und Programmierung von Computern zugrunde

liegen. Es geht beispielsweise um die Berechenbarkeit (ist ein Problem überhaupt

durch Berechnung lösbar?) und um Automatentheorien – die mathematisch-for-

malen Modelle, auf denen Rechner unabhängig von der elektronischen Machbar-

keit aufbauen.

� Die technische Informatik beschreibt die elektronisch-technischen Eigenschaften

der Bauteile, aus denen Computer zusammengesetzt sind. Ein wichtiges Teilgebiet

der technischen Informatik ist die Schaltalgebra, die Umsetzung logischer Opera-

tionen durch elektronische Schaltungen.

� In der praktischen Informatik geht es im Großen und Ganzen um die Programmie-

rung von Computern und die Mittel, die dazu erforderlich sind. Die Erforschung

des Aufbaus von Betriebssystemen und Programmiersprachen-Compilern sowie

deren Implementierung (praktische Umsetzung) sind die wichtigsten Teilgebiete.

� Die angewandte Informatik kümmert sich gewissermaßen um alles andere, näm-

lich um sämtliche Nutzanwendungen von Computern. Das reicht von Datenban-

ken über die Netzwerkkommunikation bis hin zu Grafik, Animation und Audio-/

Videobearbeitung.

Da es sich bei diesem Buch um ein Praxisbuch handelt, das nicht für das trockene

Auswendiglernen von Lehrsätzen geschrieben wurde, sondern für die alltägliche

Nutzung von Computern, ist es kaum verwunderlich, dass sich fast alle Kapitel mit

Aspekten der angewandten Informatik beschäftigen. In den Kapiteln 5 bis 10 werden

auch die wichtigsten Ansätze der praktischen Informatik, nämlich Betriebssysteme

und diverse Themen der Programmierung, behandelt.

Einige grundlegende Aspekte der theoretischen Informatik lernen Sie in Kapitel 2,

»Mathematische und technische Grundlagen«, kennen: Dort werden die wichtigsten

mathematischen und logischen Operationen besprochen, die Computer ausführen.

Außerdem wird beispielhaft auf die Realisierung einiger dieser Funktionen durch

elektronische Bauteile eingegangen, also auf einige Ansätze der technischen Infor-

matik.

Im Übrigen gibt es noch ein eigenes Kapitel zum Thema Hardware, die ebenfalls dem

Gebiet der technischen Informatik zugeordnet werden kann: Kapitel 3, »Hardware«.

26

Page 17: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.1 Informationstechnik, Informatik und EDV

1.1.2 Überblick über die IT-Ausbildung

Das Berufsfeld der Informationstechnik ist vielfältig. Deshalb gibt es zahlreiche

unterschiedliche Möglichkeiten einer Ausbildung in diesem Bereich. Sie lassen sich

zum einen nach Fachgebieten wie Anwendungsentwicklung, Systemintegration

oder kaufmännischem EDV-Einsatz unterscheiden. Zum anderen gibt es zwei grund-

legende Ausbildungsformen: Berufsausbildung und Studium.

Überblick Aus-

bildungsgänge

Aus diesen beiden Unterteilungen ergeben sich unter anderem folgende konkrete

Ausbildungsgänge:

� Ausbildungsberufe

– Fachinformatiker/in mit den Fachrichtungen Anwendungsentwicklung und

Systemintegration

– IT-Systemelektroniker/in

– IT-Systemkaufmann/frau

– Informatikkaufmann/frau

� Studiengänge

– Informatik

– Informatik (FH)

– Wirtschaftsinformatik

– Medieninformatik

– Bioinformatik

– medizinische Informatik

Ausbildungsberufe

Bis etwa Mitte der 90er-Jahre des 20. Jahrhunderts galt die Informationstechnik als

zu komplex, um in einer praxisorientierten Berufsausbildung im klassischen dualen

System (Ausbildungsbetrieb – Berufsschule) gelehrt zu werden. Die beiden angebote-

nen Ausbildungen zum EDV-Kaufmann und Büromaschinenelektroniker hatten

andere Schwerpunkte, nämlich einen kaufmännischen beziehungsweise elektro-

technischen Fokus.

IT-BerufeErst 1996 wurden die IT-Berufe in der Bundesrepublik durch ein Übereinkommen von

Arbeitgeberverbänden und Gewerkschaften unter Beratung des Bundesinstituts für

Berufsbildung (BiBB) neu geordnet. Seitdem gibt es vier verschiedene IT-Ausbildungs-

berufe. Sie bereiten auf Tätigkeiten im Bereich der Informations- und Telekommuni-

kationstechnik vor, die früher Bewerbern mit Studienabschluss vorbehalten waren

oder in Einzelfällen an qualifizierte Quereinsteiger vergeben wurden. Nach 15 Jahren

Erfahrung hat sich das System bewährt, und ein signifikanter Anteil von Mitarbeitern

in der IT rekrutiert sich aus Absolventen dieser Ausbildungsgänge.

27

Page 18: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

Im Einzelnen handelt es sich um folgende Ausbildungsgänge:

� Fachinformatiker/in (Fachrichtungen Anwendungsentwicklung und System-

integration)

� IT-Systemelektroniker/in

� IT-Systemkaufmann/frau

� Informatikkaufmann/frau

Fach-

informatiker

Aufgabe der Fachinformatiker ist es gemäß offizieller Definition, »fachspezifische

Anforderungen in komplexe Hard- und Softwaresysteme« umzusetzen. Diese recht

ungenaue Beschreibung läuft in der Praxis auf sehr vielfältige Anforderungen hinaus,

da sich nicht nur die beiden Fachrichtungen Anwendungsentwicklung und System-

integration, sondern vor allem auch Ausbildungsbetriebe und Einsatzumgebungen

oft stark voneinander unterscheiden. Gemeinsam ist ihnen allen lediglich der

Umgang mit Computersystemen, mit Netzwerken, mit der unterschiedlichsten Soft-

ware und dem komplexen Zusammenspiel dieser Komponenten. Verallgemeinert

kann man sagen, dass der Ausbildungsgang Anwendungsentwicklung auf den Beruf

des Entwicklers oder Programmierers vorbereitet, während sich aus den Absolventen

der Systemintegration vor allem Systemadministratoren rekrutieren.

Die beiden Berufsbilder sollen sich im Laufe der drei Ausbildungsjahre allmählich

auseinanderentwickeln. Bei Ausbildungsbeginn stehen gemeinsame Grundlagen im

Vordergrund. Dazu gehören nicht nur fachspezifische Themen, wie sie in diesem

Buch behandelt werden, sondern auch wichtige Informationen zum Arbeitsablauf

und zum betrieblichen Umfeld. Dies sind insbesondere Grundlagen der Betriebswirt-

schaftslehre, der Projekt- und Betriebsorganisation, des Arbeits- und Ausbildungs-

rechts sowie der betrieblichen Buchführung. Diese Kenntnisse werden vor allem in

der Berufsschule (60 Tage pro Ausbildungsjahr) vermittelt.

Anwendungs-

entwicklung

Der Schwerpunkt des Fachbereichs Anwendungsentwicklung ist die Erstellung von

Software für den eigenen Betrieb oder für Kunden. Der erste Schritt ist die Entwick-

lung neuer oder die Anpassung vorhandener Programme gemäß den Anforderun-

gen der späteren Anwender. Es folgt die Einrichtung der Software auf den

gewünschten Systemen, die gegebenenfalls dafür angepasst werden müssen.

Anschließend sollen die Benutzer informiert oder gar geschult werden. In das

Umfeld des Berufsbildes gehört demzufolge auch die Erstellung brauchbarer Doku-

mentationen für Entwickler, Administratoren und Endanwender.

System-

integration

Im Fachbereich Systemintegration liegen die Hauptaufgaben im Bereich der Hardware-,

Software- und Netzwerkeinrichtung. Hier sind gute Kenntnisse der verschiedenen

Hardwarekomponenten, Betriebssysteme sowie der Netzwerkgeräte, -dienste und

-protokolle gefragt. Auch die Schnittstellen zwischen der Informations- und der Tele-

kommunikationstechnik spielen in diesem Beruf eine wichtige Rolle. Die Fachinfor-

matiker im Fachbereich Systemintegration müssen das projektorientierte Arbeiten

28

Page 19: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.1 Informationstechnik, Informatik und EDV

beherrschen und dabei alle Aufgaben planen, durchführen, testen und dokumen-

tieren.

Ein weiteres, sehr wichtiges Arbeitsgebiet ist die Automatisierung administrativer

Aufgaben. Dazu benötigen die Fachinformatiker Systemintegration umfangreiche

Kenntnisse der Shells (Kommandozeileninterpreter) der jeweiligen Betriebssysteme

sowie in verschiedenen Skriptsprachen. Unter Windows beginnt dies mit DOS/Win-

dows-Batch-Dateien und CMD-Dateien; für komplexere Aufgaben sind auch der Win-

dows Scripting Host und die Windows PowerShell nützlich. Im Unix-Bereich ist die

bash-Shell das grundlegende Werkzeug; größere Aufgaben werden dagegen mit Edi-

tor- und Skriptsprachen wie sed, awk und Perl gelöst, wobei Perl die wichtigste dieser

Sprachen ist und bei fortgeschrittenen Kenntnissen alle anderen ersetzen kann. In

Kapitel 6 bis 10 dieses Buches werden die wichtigsten Kenntnisse zu diesen Shells

und Sprachen vermittelt.

IT-System-

elektroniker

Der Beruf des IT-Systemelektronikers ist elektrotechnischer orientiert als der des Fach-

informatikers. Mehr als beim Fachinformatiker der Fachrichtung Systemintegration

liegt der Schwerpunkt hier im Bereich der Hardware. Zu den wichtigsten Aufgaben

gehört die Verkabelung von Computern und Netzwerken, angefangen bei der Strom-

versorgung über den Anschluss von Peripheriegeräten bis hin zu Besonderheiten der

Netzwerkinfrastruktur. Dazu benötigen IT-Systemelektroniker ein umfangreiches

Know-how über Hardwarekomponenten und Treiber sowie über deren Zusammen-

arbeit mit Betriebssystemen und Anwendungsprogrammen. Hinzu kommen Kennt-

nisse über DSL, ISDN und andere Telekommunikationstechniken. Zu den wichtigsten

Arbeitgebern für Systemelektroniker gehören große Telefongesellschaften, sodass

deren spezifische Anforderungen dieses Berufsbild wesentlich geprägt haben.

IT-System-

kaufleute

IT-Systemkaufleute sind im Wesentlichen die Kundenberater für Hard- und Software-

projekte. Sie verfügen über technisches Know-how, sodass sie die Einzelheiten von

IT-Projekten verstehen und den Kunden erklären können, und benötigen umfangrei-

che betriebswirtschaftliche und kaufmännische Kenntnisse, um die Kalkulation für

ein solches Projekt durchführen zu können. Sie sind für alle Phasen der Kundenbe-

treuung für IT-Lösungen zuständig: angefangen bei der Marktanalyse über Beratung

und Marketing bis hin zum Vertrieb sowie zur Einarbeitung und Schulung.

Informatik-

kaufleute

Bei den Informatikkaufleuten stehen die kaufmännischen Aufgaben stärker im Vor-

dergrund, während die technischen Aspekte etwas weniger ausgeprägt sind. Sie bil-

den das Bindeglied zwischen wirtschaftlichen und technischen Abteilungen.

Typischerweise vermitteln sie zwischen den Kunden, die vor allem wirtschaftliche

Fragen haben, und den Beratern der Hard- und Softwarehersteller (oft den zuvor

genannten IT-Systemkaufleuten), die eine eher technische Sicht auf Vorgänge benö-

tigen. Beispielsweise könnten Informatikkaufleute die technische Umsetzung von

Geschäftsprozessen anleiten und entsprechende Pflichtenhefte erstellen. Eine wei-

tere Aufgabe wäre es, die Unterschiede verschiedener IT-Lösungen in kaufmännisch

kalkulierbaren Zahlen auszudrücken.

29

Page 20: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

Alle IT-Ausbildungen – mit Ausnahme zweijähriger Umschulungsmaßnahmen –

beinhalten eine (ausschließlich theoretische) Zwischenprüfung. Es besteht Teilnah-

mepflicht, aber das Ergebnis ist rein informativ – sowohl für die Auszubildenden als

auch für die Betriebe.

Abschluss-

prüfung

Die Abschlussprüfung besteht aus einer selbst gewählten Projektarbeit, die von der

jeweils zuständigen Industrie- und Handelskammer genehmigt werden muss. Ihre

Dauer beträgt bei den Fachinformatikern des Fachbereichs Anwendungsentwicklung

72 Stunden, wobei auch ein Pflichtenheft erstellt werden muss. Bei den anderen Aus-

bildungsgängen beträgt die Dauer lediglich 36 Stunden, und der Projektablauf

beschränkt sich hier auf die vier Phasen Planung, Durchführung, Test und Abnahme.

Innerhalb der veranschlagten Zeit müssen sowohl das Projekt selbst als auch eine

umfangreiche Dokumentation dazu erstellt werden; Letzteres sollte etwa acht Stun-

den der Projektdauer ausmachen. Die Dokumentation wird bei der IHK eingereicht;

zudem müssen die Auszubildenden ihre Projekte dort präsentieren und ein Fachge-

spräch dazu führen. Wichtige Hinweise zum projektorientierten Arbeiten erhalten

Sie in Kapitel 11, »Software-Engineering«.

Die zweite Säule der Abschlussprüfung bildet die bundeseinheitliche schriftliche

Prüfung. Sie besteht aus drei Teilen:

� Zwei ganzheitliche Aufgaben (GA) beschreiben je ein virtuelles IT-Szenario und

stellen sechs komplexe Fragen dazu. Die Auszubildenden müssen eine dieser Fra-

gen, mit deren Thema sie sich am wenigsten auskennen, streichen, und die übri-

gen fünf ausführlich beantworten. Maximal sind dabei für jede beantwortete

Frage 20 Punkte, das heißt insgesamt 100 für jede GA erreichbar. Die GA 1 enthält

fachspezifische Fragen für den jeweiligen Ausbildungsgang, während die GA 2 die

für alle IT-Ausbildungsberufe identische Kernqualifikation abfragt. Für jede GA

sind 90 Minuten angesetzt.

� Der dritte Teil ist eine 60 Minuten dauernde Prüfung zu den Themen Wirtschaft

und Soziales einschließlich Arbeits- und Ausbildungsrecht. Diese Prüfung besteht

aus isolierten Fragen, wobei einige offen, viele dagegen im Multiple-Choice-Ver-

fahren zu beantworten sind.

Andere Aus- und Weiterbildungswege

Neben den IT-Ausbildungsberufen im Dualen System gibt es übrigens auch noch

rein staatlich-schulische Aus- und Weiterbildungswege: die Ausbildung zum Infor-

mationstechnischen Assistenten und die Weiterqualifikation zum Staatlich geprüf-

ten Techniker (FS) für Informatik mit den Fachrichtungen Netzwerktechnik,

Softwaretechnologie und Datenbanktechnologie.

30

Page 21: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.1 Informationstechnik, Informatik und EDV

Ausbildung und

dieses Buch

In Tabelle 1.1 sehen Sie, welche Kapitel dieses Buches für die Auszubildenden der ein-

zelnen Fachrichtungen besonders nützlich (×) oder unerlässlich (+) sind. Wenn ein

Kapitel für Ihren Beruf nicht angekreuzt wurde, bedeutet dies nicht, dass Sie sich gar

nicht mit diesem Thema beschäftigen sollten! Wie bereits im Vorwort erwähnt, ist

ein möglichst gründliches Allgemeinwissen eine der wichtigsten Voraussetzungen

für den beruflichen Erfolg. Zudem verstehen Sie Zusammenhänge der IT- und Medi-

enwirtschaft umso besser, je größer Ihr Überblick ist.

Die Weiterqualifikation zum Staatlich geprüften Techniker endet mit einem Staats-

examen, das der Meisterprüfung in Handwerksberufen gleichgestellt ist. Die

genauen Regelungen für diese Bildungsgänge sind Ländersache, sodass es gewisse

Abweichungen in Ablauf, Inhalten und Dauer zwischen verschiedenen Bundeslän-

dern gibt.

Kapitel Kurzname Fachinf.Anwend.

Fachinf.System-

int.

Kauf-leute

IT-System-elektro-

niker

1 Einführung + + + +

2 Math. u. techn.

Grundlagen

+ + × +

3 Hardware × + × +

4 Netzwerk + + × +

5 Betriebssystem-

grundlagen

+ + × +

6 Windows + + × +

7 Linux + + × +

8 Mac OS X + + × +

9 Grundlagen der Progr. + + × +

10 Konzepte der Progr. + × ×

11 Software-Engineering + + + +

12 Datenbanken + + × ×

Tabelle 1.1 Die einzelnen Kapitel dieses Buches und ihre Relevanz für die verschiedenen

Ausbildungsberufe

31

Page 22: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

Studiengänge

Die Studiengänge im Bereich der Informationstechnik sind wesentlich gründlicher,

dafür aber auch viel theoretischer orientiert als die betrieblichen Ausbildungsgänge.

Neben den hier behandelten Studienfächern der Informatik gibt es übrigens auch

angrenzende Fachgebiete wie Telematik, Elektrotechnik, Mechatronik oder ange-

wandte Mathematik.1

Informatik Das allgemeinste Spektrum bietet das Studium der Informatik. Das Grundstudium

umfasst Einführungen in alle vier Disziplinen des Faches (theoretische, technische,

praktische und angewandte Informatik). Im Hauptstudium ist dagegen eine Speziali-

sierung auf einen bestimmten Bereich innerhalb eines dieser Zweige vorgesehen.

Denkbar wären etwa Betriebssysteme aus dem Gebiet der praktischen Informatik

oder Datenbanken, die zur angewandten Informatik zählen.

Das Informatikstudium wird sowohl an Universitäten als auch an Fachhochschulen

angeboten. Naturgemäß ist Letzteres etwas praktischer orientiert; das Lernen erfolgt

besonders im Grundstudium schulähnlicher. In beiden Lehreinrichtungen erwerben

Studieneinsteiger seit einigen Jahren nur noch die internationalen Abschlüsse Bache-

13 Webserver × + ×

14 Internet-Server-

dienste

× + ×

15 XML + + × ×

16 Datei- u. Daten-

formate

+ + × ×

17 HTML/CSS + × × ×

18 Webserver-

anwendung

+ ×

19 JavaScript u. Ajax + ×

20 Netzwerksicherheit × + × +

1 Für Fachinformatiker Anwendungsentwicklung ist das gesamte Kapitel relevant, für die anderen

Ausbildungsberufe sind es dagegen vor allem die Ausführungen zum Projektmanagement.

Kapitel Kurzname Fachinf.

Anwend.

Fachinf.

System-int.

Kauf-

leute

IT-System-

elektro-niker

Tabelle 1.1 Die einzelnen Kapitel dieses Buches und ihre Relevanz für die verschiedenen

Ausbildungsberufe (Forts.)

32

Page 23: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.1 Informationstechnik, Informatik und EDV

lor und Master; die zuvor dominierenden klassischen Diplomabschlüsse laufen zur-

zeit aus.

NebenfächerWie in jedem mathematisch-naturwissenschaftlichen Studium müssen auch bei der

Informatik Nebenfächer belegt werden. Die Auswahl ist so vielfältig, wie es die

Anwendungsbereiche der Informationstechnik sind: Für theoretischer ausgerichtete

Forschungen ist etwa die Mathematik interessant; ein Fach aus dem Bereich der Wirt-

schaftswissenschaften eröffnet den Zugang zur Entwicklung kaufmännischer Sys-

teme und Anwendungen. In diversen Bereichen der angewandten Informatik

könnten auch Fächer wie Biologie oder Physik von Interesse sein. Spannend ist auch

die Kombination mit philologischen Fächern, besonders mit den Sprachwissenschaf-

ten oder der philosophischen Logik.

Umgekehrt kann Informatik auch für Studiengänge in allen genannten Fächern als

Nebenfach belegt werden.

Spezielle

Studiengänge

Einen Schritt weiter als die Wahl eines bestimmten Nebenfaches gehen gezielte Kom-

binationsstudienfächer. Die wichtigsten von ihnen sind folgende:

� Wirtschaftsinformatik: eine gezielte Kombination aus Themen der (insbesondere

angewandten) Informatik und der Betriebswirtschaftslehre. Wirtschaftsinformati-

ker können in allen Bereichen der kaufmännischen IT-Anwendung arbeiten, vor

allem in Banken, Versicherungen oder den Fachabteilungen großer Unterneh-

men, aber auch in der Entwicklung kaufmännischer Softwarelösungen.

� Medieninformatik: Dieser Studiengang stellt den Bereich der multimedialen IT-

Anwendung in den Mittelpunkt. Neben den Grundlagen der Informatik lernen die

Studierenden vor allem den praktischen IT-Einsatz kennen: Grafik- und Bildbear-

beitung, Audio- und Videoschnitt und die Erstellung multimedialer Präsentatio-

nen. Von allen IT-Studiengängen erfordert dieser das größte kreative Potenzial.

� Bioinformatik: Die Forschungsergebnisse der modernen Biologie, besonders der

Mikrobiologie und der Gentechnik, könnten ohne umfangreiche IT-Unterstützung

nicht ausgewertet werden. Bioinformatiker bilden die Schnittstelle zwischen Bio-

logie und Informationstechnik; sie erstellen die Anwendungen zur Analyse biolo-

gischer Forschungen, etwa der Sequenzanalyse von Genen. Die Bioinformatik ist

möglicherweise der wachstumsstärkste Sektor in der gesamten IT-Landschaft.

� Medizinische Informatik: Auch in der modernen Medizin spielt Computertechnik

eine überaus wichtige Rolle – von der Verwaltung der Patienten- und Diagnoseda-

ten über die automatisierte Analyse von Laborproben bis hin zum halbautonom

arbeitenden OP-Roboter ist der Praxis- und Klinikalltag ohne IT nicht mehr denk-

bar. In der medizinischen Informatik erwerben die Studierenden sowohl fundierte

medizinische als auch wichtige informationstechnische Fachkenntnisse, sodass

sie in den verschiedensten Bereichen der Medizintechnik und -praxis arbeiten

können.

33

Page 24: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

Studium und

dieses Buch

Die Tiefe des für ein Studium erforderlichen Wissens geht weit über das hinaus, was

ein einzelnes allgemeines Grundlagenbuch wie das vorliegende leisten kann. Den-

noch kann dieses Buch auch im Studium ein unentbehrlicher Begleiter sein: Hier

können Sie die Grundlagen der Theorie und Praxis der unterschiedlichen Themen

schnell und übersichtlich nachschlagen – als letzte Absicherung vor der entscheiden-

den Fachklausur oder auch als Anleser für die Veranstaltungsplanung des kommen-

den Semesters.

1.2 Die Geschichte der Rechenmaschinen und Computer

In diesem Buch ist von Computern die Rede, und natürlich wissen Sie ganz genau,

was das ist. Wenn Sie allerdings den Versuch machen sollten, einen Computer mit

allen Dimensionen seiner heutigen Möglichkeiten griffig zu definieren – wie würde

diese Definition lauten? Vergangene Generationen sprachen etwa von programmge-

steuerten Rechenautomaten, und gerade Fachleute scheinen noch heute lieber »Rech-

ner« als »Computer« zu dieser Maschine zu sagen.

Sind Computer

nur Rechner?

Aber ist Rechnen heutzutage die wichtigste Aufgabe der Computer? Es scheinen

schließlich mehr Leute einen Webbrowser zu verwenden als die Tabellenkalkulation

Excel, und das Bildbearbeitungsprogramm Photoshop ist erheblich populärer als

spezielle Mathematiksoftware wie Mathematica oder Maple.

Trotzdem ist ein Computer ein Gerät, das Probleme durch Berechnungen löst: Er

kann nur diejenigen Sachverhalte »verstehen«, die man in Form von Zahlen und

mathematischen Formeln darstellen kann. Dass es sich dabei heute auch um Bilder,

Töne, Animationen, 3D-Welten oder Filme handeln kann, liegt einfach an der enor-

men Rechengeschwindigkeit und Kapazität moderner Rechner.

Sehen Sie sich den Begriff programmgesteuerter Rechenautomat noch einmal genau

an: Ein Rechenautomat ist ein Gerät, das automatisch etwas berechnet, sodass man

dies nicht manuell erledigen muss. Das kann auch ein Taschenrechner oder sogar

eine mechanische Rechenmaschine. Das Besondere, was ein Computer zu bieten hat,

beschreibt der Begriff programmgesteuert. Ein Computerprogramm ist eine Abfolge

von Rechenvorschriften, die aufeinander aufbauen können und Schritt für Schritt

ausgeführt werden.

Algorithmen Mit anderen Worten ist ein Computer nicht nur ein Rechenautomat, sondern ein

Algorithmen-Automat. Ein Algorithmus, benannt nach dem arabischen Mathemati-

ker Mohamed Ibn Musa Al Chwarismi, ist eine Schritt-für-Schritt-Anleitung zum

Lösen mathematischer Probleme. Jeder Computer versteht eine oder mehrere for-

male Sprachen, in denen man ihm solche Algorithmen einprogrammieren kann. Ist

ein Algorithmus erst einmal im Computer gespeichert, kann er immer wieder mit

anderen Daten ausgeführt werden. Betrachten Sie etwa den folgenden Algorithmus

34

Page 25: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.2 Die Geschichte der Rechenmaschinen und Computer

aus dem Alltagsleben, der die Internet-Nutzungskosten verschiedener Kunden eines

Providers berechnet:

1. Eingabe Tarif: Flatrate oder minutenbasiert?

2. War es die Flatrate? Macht 19,99 €. Berechnung beendet.

3. Minutenbasiert: Eingabe der Minuten

4. Multipliziere die Minuten mit 0,01 €.

5. Addiere die Grundgebühr von 2,49 € hinzu. Berechnung beendet.

Dieser einfache Algorithmus kann natürlich ohne Weiteres von einem Menschen

abgearbeitet werden. Er wird zwar langsamer rechnen als ein heutiger Computer,

aber durchaus innerhalb einer annehmbaren Zeit damit fertig werden. Andererseits

kann der Computer Millionen solcher Berechnungen in der Sekunde ausführen. Zwar

wird er gewisse Leistungen des menschlichen Geistes wahrscheinlich niemals errei-

chen, aber schneller rechnen kann er allemal.

Darüber hinaus gibt es Algorithmen, an denen wir Menschen schlichtweg verzwei-

feln würden – oder hätten Sie Lust, jedes einzelne Pixel eines 10 × 10 cm großen hoch-

auflösenden Bildes anhand der Farben seiner acht umgebenden Pixel neu zu

berechnen, um das Bild zu vergrößern oder zu verkleinern? Ohne Sie entmutigen zu

wollen: Ein solches Bild besteht, wenn es für den Druck geeignet sein soll, aus etwa

1.392.400 Pixeln – viel Spaß beim Rechnen!2

So macht der Computer sich selbst immer unentbehrlicher: Sobald Computersys-

teme eine gewisse Komplexität erreichen, wird eine Anwendung erfunden, die ohne

sie nicht zu bearbeiten wäre. Um diese Anwendung dann schneller und effizienter

ausführen zu können, entsteht die nächste Computergeneration, für die dann wieder

neue Anwendungsgebiete gefunden werden. Auf diese Weise ist der Fortschritt in der

Computerentwicklung nicht aufzuhalten, und was auch immer als unüberwindbare

Grenze galt, wurde von cleveren Ingenieuren irgendwann überschritten. Der vorlie-

gende Abschnitt versucht, diesen Weg ein wenig konkreter zu beschreiben.

1.2.1 Die Vorgeschichte

Seit Menschen überhaupt sesshaft in größeren Gemeinschaften zusammenleben,

sind sie zum Rechnen gezwungen, um diese Gemeinschaften zu organisieren. Zu die-

sem Zweck wurden im Laufe der Zeit immer komplexere und ausgeklügeltere Geräte

erfunden.

Das erste Rechenhilfsmittel in der Geschichte war die Rechentafel oder der Abakus.

Ähnliche Geräte wurden unabhängig voneinander zum Beispiel in China und im

2 Zugrunde gelegt wurde hier die gängige Druckauflösung von 300 Pixeln/Inch, was etwa

118 Pixeln/cm entspricht (1 Inch = 2,54 cm).

35

Page 26: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

alten Rom entwickelt. Es handelte sich um eine Tafel mit verschiebbaren Steinen, die

in mehreren Spalten angeordnet waren. Das Ganze ähnelte den heutigen kugelbe-

stückten Rechenhilfen, wie sie etwa in Grundschulen eingesetzt werden. Interessant

ist, dass die Römer gar nicht erst versuchten, ihr recht umständliches Zahlensystem

auf den Abakus zu übertragen, sondern ein modernes Stellenwertsystem darauf ver-

wendeten.

Stellenwert-

systeme

Überhaupt kann die Erfindung der Stellenwertsysteme zum Schreiben von Zahlen als

eine der wichtigsten Errungenschaften auf dem Weg zum Computer betrachtet wer-

den: Die brillante Idee, den Wert einer Ziffer von ihrer Position innerhalb der ganzen

Zahl abhängig zu machen, hatten die Inder; die heutigen »arabischen« Zahlen wur-

den in Indien erfunden und später von den Arabern – erstmals durch den bereits

genannten Al Chwarismi im 9. Jahrhundert – übernommen. Die wichtigste Erfindung

überhaupt ist in diesem Zusammenhang die Null. Die indischen Mathematiker

notierten sie zunächst als Punkt und dann bis heute als Kreis. Ohne die Null ist es

nicht möglich, den Wert einer einzelnen Ziffer zu vervielfachen: Auch wenn sie für

sich allein keinen mathematischen Wert besitzt, werden Sie zugeben, dass 2.000

etwas völlig anderes bedeutet als 2.

Die Erfindung der Stellenwertsysteme war der Ausgangspunkt für die Konstruktion

immer ausgefeilterer mechanischer Rechenmaschinen: Im 17. Jahrhundert konstru-

ierte der französische Mathematiker und Philosoph Blaise Pascal eine Addierma-

schine, 1722 erfand Gottfried Wilhelm Leibniz eine komplexere Maschine, die bereits

sämtliche Grundrechenarten beherrschte. Solche mechanischen Rechenapparaturen

arbeiteten mit einem komplexen Gefüge aus Zahnrädern und ähnlichen Bauteilen,

die aus der Uhrmacherei übernommen wurden.

Babbages

Analytical Engine

Erst im 19. Jahrhundert entstand die Idee zu einer Apparatur, die mit heutigen Compu-

tern vergleichbar ist. Der britische Wissenschaftler Charles Babbage hatte bereits eine

klassische mechanische Rechenmaschine namens Differential Engine gebaut und

plante um 1850 den Bau eines weiteren mechanischen Geräts namens Analytical

Engine. Es sollte der erste frei programmierbare Rechenautomat der Welt werden.

Ohne es zu ahnen, nahm Babbage einige der wichtigsten Designprinzipien des Com-

puters vorweg: Das Gerät sollte aus einem Rechenwerk namens mill, einem Programm-

und Datenspeicher und einer Ein- und Ausgabeeinheit bestehen. Auch wenn spätere

Rekonstruktionen auf der Basis von Babbages Aufzeichnungen ergaben, dass die

Maschine funktioniert hätte, war Babbage selbst nicht in der Lage, sie fertigzustellen,

weil die damalige Mechanik keine Bauteile in ausreichender Präzision liefern konnte.

Interessant ist dagegen, dass es Grundideen einer Programmiersprache für die Ana-

lytical Engine gab. Babbage engagierte Ada Lovelace, die Tochter des berühmten

Dichters Lord Byron, für die Entwicklung einer solchen Sprache. Ihr zu Ehren wurde

eine in den 70er-Jahren des 20. Jahrhunderts entwickelte Programmiersprache Ada

genannt.

36

Page 27: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.2 Die Geschichte der Rechenmaschinen und Computer

Die Zuse Z3Während die Rechenmaschinen in der zweiten Hälfte des 19. Jahrhunderts immer

leistungsfähiger und komplexer wurden, beachtete dennoch niemand den Gedanken

der Programmierbarkeit. Alle Rechenmaschinen bis etwa 1940, auch die elektrischen,

waren auf die Berechnung einzelner eingegebener Rechenaufgaben beschränkt. Erst

um diese Zeit erfand der Bauingenieur Konrad Zuse in Berlin programmierbare elek-

tromechanische Rechenautomaten. Sein dritter Versuch, die Z3, funktionierte tat-

sächlich. Die Maschine arbeitete mit Relais, elektromagnetischen Schaltern aus der

Telefontechnik. Sie verwendete eine binäre Fließkommaarithmetik mit einer Wort-

breite von 22 Bit: 1 Bit für das Vorzeichen, 14 Bit für die Mantisse und 7 Bit für den

Exponenten. Der Hauptspeicher besaß eine Kapazität von 64 Maschinenwörtern, also

64 × 22 Bit. Programmiert wurde die Maschine (und einige ihrer Nachfolger) in einer

von Zuse entwickelten Sprache namens Plankalkül.

1.2.2 Die Entwicklung der elektronischen Rechner

Computer im heutigen Sinne sind alle programmierbaren Rechner, die elektronisch

arbeiten. Die elektronischen Computer lassen sich grob in vier Generationen eintei-

len:

� 1. Generation: Röhrenrechner

Ab den 40er-Jahren wurden Rechner auf der Basis von Elektronenröhren ent-

wickelt.

Elektrizität, Elektromechanik und Elektronik

Bereits Anfang des 20. Jahrhunderts wurden die ersten elektrischen Rechenmaschi-

nen konstruiert. Die Rechner, die Konrad Zuse ab den 30er-Jahren baute, waren

elektromechanisch. In den 40er-Jahren begann man in den USA und Großbritannien

mit der Entwicklung elektronischer Rechner.

In diesem Zusammenhang ist es wichtig, den Unterschied zwischen Elektrizität,

Elektromechanik und Elektronik herauszustellen:

� Ein elektrisches Gerät ist jede Maschine, bei der mechanische Bauteile durch elek-

trischen Strom angetrieben werden.

� Elektromechanisch werden alle Schaltelemente genannt, die durch einen Elektro-

magneten gesteuert werden, beispielsweise die Relais, die Zuse für seine ersten

Computer verwendete. Mit anderen Worten geschieht die Steuerung des Geräts

durch elektrischen Strom, allerdings indirekt durch mechanische beziehungs-

weise magnetische Bauteile.

� Elektronische Geräte schließlich werden allein durch elektrischen Strom gesteu-

ert – Bauteile wie die klassische Elektronenröhre oder der neuere Transistor die-

nen als elektrisch gesteuerte Schalter ohne mechanische Teile.

37

Page 28: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

� 2. Generation: Transistorrechner

Ab den 50er-Jahren wurden die teuren, stromhungrigen und störungsanfälligen

Röhren durch Transistoren ersetzt.

� 3. Generation: Rechner mit integrierten Schaltkreisen

In den 60er-Jahren gelang es, durch fotolithografische Verfahren große Mengen

von Transistorschaltungen auf Halbleiterplatten unterzubringen – es begann die

Entwicklung der integrierten Schaltkreise (englisch: integrated circuits, abgekürzt

ICs, auch Chips genannt).

� 4. Generation: Rechner mit Mikroprozessor

Die frühen ICs waren fest verdrahtet – sie konnten nur eine einzelne, festgelegte

Aufgabe erfüllen. Solche Chips für spezielle Anwendungszwecke gibt es noch

heute. Anfang der 70er-Jahre wurden zusätzlich frei programmierbare ICs entwi-

ckelt, die man Mikroprozessoren nannte. Es dauerte allerdings noch über fünf

Jahre, bis die ersten Computer mit diesen Prozessoren konstruiert wurden.

Abbildung 1.1 Eine kleine Auswahl verschiedener Elektronenröhren

Röhrenrechner

Auf der Grundlage der Forschungen von John von Neumann, der das theoretische

Modell eines Computers formulierte, wurden in den USA Geräte wie Harvard Mark I

und Mark II oder der berühmte ENIAC gebaut. Diese erste Generation elektronischer

Computer arbeitete mit Elektronenröhren als Schaltelementen. Diese mit den Glüh-

lampen verwandten Vakuumbauteile wurden ab Ende des 19. Jahrhunderts entwi-

ckelt und dienten verschiedenen Zwecken – denken Sie beispielsweise an das

Röhrenradio, in dem die Elektronenröhre als Verstärkerelement eingesetzt wird.

38

Page 29: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.2 Die Geschichte der Rechenmaschinen und Computer

Abbildung 1.1 zeigt eine Auswahl verschiedener Elektronenröhren, die zwischen 1927

und 1960 hergestellt wurden. Das Bild stammt übrigens aus dem virtuellen Physik-

museum der Universität Innsbruck (http://exphys.uibk.ac.at/museum/); Herr Profes-

sor Denoth stellte es mir freundlicherweise zur Verfügung. Auf der angegebenen

Website finden Sie noch viele weitere interessante Bilder und Informationen zur

Physikgeschichte, darunter auch weitere Röhren, die ab 1870 entwickelt wurden.

Das für die Computertechnik interessanteste Röhrenmodell war die Triode, die mit

ihren drei Anschlüssen die früheste Verwirklichung eines rein elektronischen Schal-

ters darstellt: Einer der drei Anschlüsse dient der Steuerung; wenn dort Spannung

anliegt, fließt Strom durch die beiden anderen Anschlüsse.

Programmiert wurden die meisten Röhrenrechner durch Schalter und Steckverbin-

dungen an großen Schalttafeln. Die einzige Möglichkeit, ein bestimmtes Programm

für die spätere erneute Ausführung zu »speichern«, bestand darin, den Zustand der

Schalttafel aufzumalen oder zu fotografieren. So dauerte es oft mehrere Stunden,

den Computer in die Lage zu versetzen, komplexe Aufgaben zu erfüllen.

Erst allmählich begann man mit der Verwendung von Lochkarten zur Programm-

und Dateneingabe. Die Lochkarte selbst wurde im 19. Jahrhundert erfunden, um

mechanische Webstühle zu steuern. Der Ingenieur Hermann Hollerith, ein Mitbe-

gründer der späteren IBM, setzte sie um 1900 zur Speicherung von Daten einer US-

Volkszählung ein, was die Dauer der Ergebnisberechnung mithilfe von Rechenma-

schinen von den erwarteten Jahren auf wenige Wochen reduzierte.

Transistorrechner

Röhrenrechner hatten einige gravierende Nachteile: Sie waren zu groß, zu strom-

hungrig und wegen der gewaltigen Hitzeentwicklung zu störanfällig. Aus diesen

Gründen wurde bald der 1947 erfundene Transistor für die Computerentwicklung

eingesetzt. Transistoren sind Halbleiterbauteile, die prinzipiell dieselben Schaltaufga-

ben erledigen können wie die verschiedenen Arten von Röhren, aber kleiner, billiger

und weniger stromhungrig sind. Der Begriff Halbleiter, der im Zusammenhang mit

Computern immer wieder genannt wird, bezeichnet übrigens ein Material, dessen

elektrische Leitungsfähigkeit etwa in der Mitte zwischen den Leitern (vielen Metal-

len) und Isolatoren liegt. Das beliebteste chemische Element zur Fertigung von Halb-

leiterbauteilen ist Silizium, was der berühmten Gegend in Kalifornien, in der sich in

den 60er-Jahren zahlreiche Elektronikfirmen ansiedelten, den Namen Silicon Valley

eingebracht hat.

Miniaturisierung

durch

Transistoren

Erst durch die Einführung des Transistors gelangte die Elektronik zu ihrer vollen

Blüte. Dies zeigte sich vor allem an den Transistorradios, die ab den 50er-Jahren

zuhauf verkauft wurden. Auch für die entstehende Computerindustrie ergaben sich

neue Impulse: Durch die Transistortechnik ließen sich kleinere, leistungsfähigere

39

Page 30: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

und weniger störanfällige Rechner konstruieren. Natürlich ist »klein« und »leis-

tungsfähig« relativ. Angesichts eines heutigen PCs oder gar Notebooks waren auch

die Transistorrechner monströs, mindestens jedoch so groß wie eine ganze Reihe

gewaltiger Kleiderschränke.

Auch die Transistorrechner wurden anfangs vor allem durch Lochkarten gesteuert.

Mitte der 60er-Jahre begann man allerdings mit der Entwicklung von Terminals für den

direkten Dialog mit dem Computer. Ein Programmierer konnte über eine Tastatur

Befehle eingeben und ein unmittelbares Feedback erhalten, anfangs über einen Fern-

schreiber-Endlosdrucker, später über einen Monitor. Die Geschichte der Steuerung

von Computern wird in Kapitel 5, »Betriebssystemgrundlagen«, genauer behandelt.

Abbildung 1.2 Eine VAX von Digital Equipment mit Terminals verschiedener Generationen

(Quelle: Wikipedia)

Computer mit integrierten Schaltkreisen

Der Übergang von Transistorrechnern zu Computern mit ICs verlief unspektakulär

und allmählich. Bereits in den frühen 70er-Jahren waren deshalb Computer in ver-

schiedenen Größen verfügbar: Die Großrechner oder Mainframes – vor allem von

IBM produziert – bildeten die Rechenzentren von großen Behörden, Versicherungs-

konzernen oder Universitäten. Daneben kamen die sogenannten Kleincomputer auf

(noch immer größer als die meisten Kleiderschränke); einer der führenden Hersteller

war die Digital Equipment Corporation (DEC). Die Kleincomputer waren zwar nicht

ganz so leistungsfähig wie Mainframes, dafür aber flexibler und sogar – mit entspre-

chend großen Lkws – transportfähig. Besonders wichtige Beispiele für Kleincompu-

ter sind die Geräte der DEC-PDP-Baureihe, die untrennbar mit der Geschichte des

Betriebssystems Unix verknüpft ist.

40

Page 31: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.2 Die Geschichte der Rechenmaschinen und Computer

Durch die Verwendung von ICs kam eine weitere Klasse von Geräten hinzu: die soge-

nannten Minicomputer. Sie waren etwa so groß wie eine größere Kommode und ver-

hältnismäßig leicht, aber durch die fortschreitende Miniaturisierung nicht viel

weniger leistungsfähig als Kleincomputer. Ein herausragendes Beispiel für den Mini-

computer sind spätere Ausgaben der ebenfalls von DEC stammenden VAX-Baureihe

(ein älteres Modell sehen Sie in Abbildung 1.2.).

Für Klein- und Minicomputer wurden übrigens die ersten standardisierten Betriebs-

systeme und Anwendungsprogramme entwickelt. Dies erforderte die Entwicklung

leicht kopierbarer Speichermedien. Ein wichtiger Schritt in diese Richtung war die

Verwendung von Magnetbandspulen als Datenspeicher; ihr Aussehen und ihre

Funktionsweise entsprachen den etwa zur selben Zeit verbreiteten Tonbändern.

Mikrocomputer

1971 wurde der erste programmierbare Mikrochip entwickelt, genannt Mikroprozes-

sor. Allgemein wird der Intel 4004 als erster Prozessor betrachtet; später stellte sich

aber heraus, dass ein anderes Unternehmen bereits einige Monate vor Intel einen ähn-

lichen Chip entwickelt hatte. Allerdings wussten die Intel-Entwickler nichts davon.

Der 4004 war ein 4-Bit-Mikroprozessor. Er konnte also Informationen verarbeiten,

die aus einer Abfolge von vier Einsen oder Nullen bestanden. Mit dieser Wortbreite

lassen sich sechzehn verschiedene Werte darstellen, zum Beispiel die Zahlen 0 bis 15.

Der Prozessor verstand verschiedene Arten von grundlegenden Befehlen: Er

beherrschte arithmetische Operationen, also Berechnungen in den Grundrechenar-

ten, und konnte logische Verknüpfungen und Vergleiche durchführen und auf der

Basis ihrer Ergebnisse die »Entscheidung« treffen, an einer anderen Stelle im Pro-

gramm fortzufahren. Die mathematisch-logischen Grundlagen und ihre Verwirkli-

chung durch elektronische Bauteile werden im nächsten Kapitel, »Mathematische

und technische Grundlagen«, vorgestellt.

Die ersten

Personal

Computer

Intel unterschätzte zu Anfang die Möglichkeiten des Mikroprozessors; er wurde in

Rechenmaschinen und Ampelanlagen eingebaut, aber nicht in einen Computer. Erst

1975 baute die Rechenmaschinenfirma MITS einen einfachen Mikrocomputer-Bau-

satz, den Altair 8800. Er war mit einer Reihe von DIP-Schaltern für die Eingabe der

einzelnen Bits und einer Reihe von Leuchtdioden zur Anzeige der Ergebnisse ausge-

stattet. Der verwendete Mikroprozessor war der Intel 8080, der bereits 8 Bit verarbei-

ten konnte. Für dieses zunächst nicht besonders nützliche Gerät entwarfen Bastler

Schnittstellen für Monitor und Tastatur, und ein junger Programmierenthusiast

schrieb einen Interpreter (zeilenweisen Übersetzer) für die einfache Großrechner-

Programmiersprache BASIC, der auf dem Gerät lief. Der Programmierer war Bill

Gates. Die Entwicklung von Programmiersprachen-Paketen für die beginnende Per-

sonal- und Homecomputer-Industrie war das erste Geschäftsfeld seiner 1976 gegrün-

deten Firma Microsoft.

41

Page 32: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

Große Verdienste im Zusammenhang mit der PC-Entwicklung haben übrigens die

Forscherinnen und Forscher des Xerox PARC (der Name PARC steht für »Palo Alto

Research Center«). Diese Forschungseinrichtung in Kalifornien hat eine interessante

Geschichte: Zu Beginn der 70er-Jahre bekamen die Manager der renommierten

Papier-, Druckmaschinen- und Kopiererfirma Xerox langsam Angst, denn sie sahen

angesichts der schnellen Weiterentwicklung der Computer das Schreckgespenst des

»papierlosen Büros« auf sich zukommen. Natürlich weiß man es heute besser; der

Papierverbrauch in den Büros hat sich seitdem vervielfacht, weil es einfach und billig

ist, Dokumente mal eben auszudrucken und dann auf Papier zu kontrollieren.

Aber damals konnte das natürlich niemand ahnen. Und so beschloss die Firma

Xerox: Wenn die Leute im Büro kein Papier mehr brauchen, dann müssen wir ihnen

eben das liefern, was sie stattdessen dort benötigen. Dies war der Grundgedanke für

die Einrichtung dieses Forscherparadieses. Einige der brillantesten Köpfe der Com-

putertechnik und Informatik wurden eingeladen, jeweils fünf Jahre lang, mit fast

unbegrenzten finanziellen Mitteln ausgestattet, zu erforschen, was immer sie woll-

ten. So kam es, dass hier schon Mitte der 70er-Jahre Neuerungen wie eine grafische

Benutzeroberfläche, die Dokumentenbearbeitung nach dem Prinzip WYSIWYG

(»What You See Is What You Get«) oder ein Laserdrucker entwickelt wurden.

Im Prinzip existierte dort ein marktreifes Personal-Computer-System, dessen techni-

sche Fähigkeiten erst über 15 Jahre später zum allgemeinen Standard wurden. Der

einzige Nachteil dieses Systems, des Alto, war sein außerordentlich hoher Preis von

ca. 100.000 US-Dollar. Jedenfalls wurde Xerox PARC so auch die Wiege des lokalen

Netzwerks: Die Vision war, dass jeder Mitarbeiter eines Unternehmens ein solches

Gerät auf seinem Schreibtisch stehen hat und der Austausch von Daten ganz einfach

ist. So entstand Ethernet, diejenige Form des lokalen Netzes, die heute – neben dem

drahtlosen WLAN – am häufigsten genutzt wird.

Sollten Sie sich jetzt wundern, warum keine dieser bahnbrechenden Entwicklungen

heute den Namen Xerox trägt, so liegt dies daran, dass die Führungsetage des Unter-

nehmens im fernen New York deren Brillanz und zukunftsweisende Eigenschaften

nicht erkannte. So wurden die Entwicklungsergebnisse der meisten Forscher von die-

sen mitgenommen, jahrelang in die Schublade gelegt und später oftmals zur Grün-

dung anderer Firmen verwendet.

John Warnock etwa, eine Zeit lang Forschungsleiter von PARC, gründete die Firma

Adobe und konzentrierte sich besonders auf die Bereiche WYSIWYG und den Laser-

drucker. Andere Ergebnisse wurden freimütig an Fremde weitergegeben, so etwa die

Geheimnisse der grafischen Oberfläche an den Apple-Mitbegründer Steve Jobs, der

darin die Grundlage für den Computer der Zukunft erkannte. Zusammen mit dem

Bastelgenie Steve Wozniak entwarf er den ersten verbreiteten »richtigen« Personal

Computer auf Mikroprozessorbasis: Apple II hieß das 1977 entstandene Gerät, das

42

Page 33: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.2 Die Geschichte der Rechenmaschinen und Computer

sich in seinen verschiedenen Versionen bis 1984 Millionen Mal verkaufte. Dieser

Computer definierte für fast zehn Jahre, was ein Homecomputer haben musste:

einen eingebauten BASIC-Interpreter, eine fest in das Gerät integrierte Tastatur,

gewöhnliche Audiokassetten und später Disketten als Datenspeicher sowie einen

Anschluss für die Bildausgabe auf einem gewöhnlichen Fernseher (die privaten

Anwender oder kleine Unternehmen konnten sich nicht auch noch einen Monitor

leisten, zumal es diesen zu dem Zeitpunkt nur einfarbig gegeben hätte).

Der IBM-PC1981 stieg auch der Großrechner-Multi IBM in das Geschäft mit Personal Computern

ein. Es war zwar untypisch für dieses Unternehmen, nicht alle Bauteile eines Compu-

ters selbst zu entwickeln, aber aus Gründen des Zeitdrucks kauften sie sich die

Bestandteile ihres Geräts auf dem freien Markt zusammen. Der IBM-PC war nicht

unbedingt besser als seine Vorgänger, aber allein der gute Name des Herstellers schuf

das Vertrauen der Wirtschaft und der Industrie, dass PCs eine solide und zukunfts-

trächtige Technologie seien.

Einige Jahre war IBM Marktführer im Bereich der Personal Computer. Da jedoch

immer mehr Hersteller kompatible Nachbauten auf den Markt brachten, die zuneh-

mend billiger wurden, verlor der Konzern irgendwann den ersten Platz. Zudem zer-

stritten sie sich 1990 mit ihrem Betriebssystemlieferanten Microsoft. Seitdem wurde

nicht mehr von IBM definiert, wie ein »richtiger PC« auszusehen hat, sondern von

Intel und Microsoft – wegen der Kombination aus Intel-Prozessoren und Microsoft-

Windows-Betriebssystemen wurden PCs in den 90er-Jahren mitunter als WinTel-PCs

bezeichnet.

8-Bit-Home-

computer

Parallel blühte in der ersten Hälfte der 80er-Jahre der Markt mit reinen Homecompu-

tern ohne professionelle Ambitionen. Interessant war auf diesem Gebiet zunächst

der ZX81 (siehe Abbildung 1.3), den der Brite Clive Sinclair entwickelt hatte. Trotz sei-

ner bescheidenen Ausstattung mit 1 KByte Arbeitsspeicher, Schwarz-Weiß-Grafik

und Folientastatur verkaufte sich das Gerät vorzüglich, weil es der erste Computer

war, der weniger als 100 £ (damals etwa 400 DM, also ca. 200 €) kostete.

Der beliebteste Homecomputer der 8-Bit-Generation wurde allerdings der 1983 auf

den Markt gebrachte Commodore C64. Eines der wichtigsten Verkaufsargumente war

die reichhaltige Auswahl an Software, vor allem Computerspielen. In Abbildung 1.4

wird dieses Gerät gezeigt. Ein nicht ganz so beliebtes, aber durchaus konkurrenzfähi-

ges Gerät war der Atari 800 XL; für diesen gab es zwar weniger Spiele, aber dafür war

er besser programmierbar. Die Unterschiede zwischen diesen beiden Geräten waren

allerdings relativ gering. Beide waren mit dem 8-Bit-Prozessor 6502 von MosTek aus-

gestattet, verfügten über 64 KByte RAM, eine Grafik mit 320 × 240 Pixeln und 16 Far-

ben (Atari bei einer geringeren Auflösung sogar 256) sowie mehrstimmigen

Synthesizer-Sound, der an das angeschlossene Fernsehgerät übertragen wurde.

Obwohl die beiden Rechner sich also technisch sehr ähnlich waren, tobten zu jener

43

Page 34: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

Zeit »Systemkriege«, die sich ohne Weiteres mit den heutigen PC/Apple- oder Linux/

Windows-»Glaubenskriegen« vergleichen lassen.3

Abbildung 1.3 Der Sinclair ZX81 (Quelle: Wikipedia)

16-Bit-Home-

computer

Die nächste Generation von Homecomputern, die in der zweiten Hälfte der 80er-

Jahre erschien, basierte auf dem 16-Bit-Prozessor 68000 von Motorola und seinen

Nachfolgern und war mit »richtigen« Betriebssystemen mit grafischer Benutzer-

oberfläche ausgestattet. Wieder stritten sich Commodore und Atari um den ersten

Platz; auch die verschiedenen Modelle von Commodore Amiga und Atari ST waren

mit vergleichbaren Features ausgestattet. Schon früher, nämlich 1984, war der ähn-

lich gestaltete Apple Macintosh erschienen; allerdings war er nicht für Heimanwen-

der konzipiert.

Bemerkenswert ist, dass Standard-PCs erst viele Jahre später mit Multimedia-Fähig-

keiten ausgestattet wurden, die auch nur ansatzweise mit Geräten wie Amiga oder ST

vergleichbar waren. Noch heute sind diese Rechner bei manchen Künstlern oder

Musikern beliebt, und zumindest im Fall des Amigas gibt es immer wieder Gerüchte

um eine Wiederbelebung durch verschiedene Firmen.

3 Um mich selbst zu outen: Mein erster eigener Rechner war ein ZX81, dem ein Atari 800 XL folgte.

Später hatte ich dann sehr lange nur noch IBM-kompatible PCs. Inzwischen sind noch ein Mac-

Book und ein Netbook (Samsung NC10) dabei. Sämtliche in diesem Buch beschriebenen Betriebs-

systeme sind auf diesen Rechnern im Einsatz und kommen prima miteinander aus.

44

Page 35: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.2 Die Geschichte der Rechenmaschinen und Computer

Abbildung 1.4 Commodore C64, der berühmte »Brotkasten« (Quelle: Wikipedia)

32-Bit-RechnerZu Beginn der 90er-Jahre wurden die Home- und Personal Computer nach und nach

mit 32-Bit-Prozessoren ausgestattet. Den Anfang machte der IBM-PC/AT mit Intels

80386-Prozessor, dem wie bei den Vorgängermodellen wieder zahlreiche kompatible

Nachbauten folgten. Apple ersetzte dagegen die Motorola 680xx-Prozessoren der

frühen Macs durch PowerPC-Prozessoren, was die Familie der PowerMacs einleitete.

Bemerkenswerterweise wurde die Macintosh-Prozessorbasis ab 2005 nochmals

gewechselt; statt PowerPC werden nun Intel-Multicore-Prozessoren eingesetzt.

Die Leistungssteigerung der PC- und Mac-Prozessoren sorgte dafür, dass diese Rech-

ner – besonders die günstigeren IBM-kompatiblen PCs – die klassischen Homecom-

puter verdrängten und nach den Büros auch den Heimbereich eroberten. Dazu

wurden insbesondere im Bereich der Multimedia-Fähigkeiten große Fortschritte

erzielt. Ein gewisses Problem bestand allerdings darin, dass die Betriebssysteme der

frühen 90er-Jahre nicht für die modernen 32-Bit-Architekturen ausgelegt waren. 1995

brachte Microsoft mit Windows 95 ein massentaugliches Kompromiss-System auf

den Markt, das zwar noch immer einen MS-DOS-Unterbau besaß, aber innerhalb der

grafischen Oberfläche echtes 32-Bit-Multitasking beherrschte. Erst im Jahr 2001 ver-

abschiedete sich Microsoft mit Windows XP ganz von der MS-DOS-Vergangenheit im

Heimsektor; im selben Jahr erschien die erste Version von Apples Neuentwicklung

Mac OS X.

Beide Systemwelten hatten übrigens viel weniger Schwierigkeiten beim Wechsel von

32- auf die immer weiter verbreiteten 64-Bit-Architekturen, genauso wenig wie das

freie, für viele Plattformen verfügbare Betriebssystem Linux. Näheres zur Geschichte

der Betriebssysteme lesen Sie übrigens in Kapitel 5, »Betriebssystemgrundlagen«.

45

Page 36: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

Ausblick in die nähere Zukunft

Offiziell zählen alle heutigen Computer zur vierten Generation, zu den Computern

mit Mikroprozessoren. Selbst mächtige Servermaschinen oder Großrechner werden

durch zahlreiche parallel betriebene Prozessoren realisiert. Eine offizielle fünfte

Generation ist niemals ausgerufen worden.

Dennoch zeichnen sich zurzeit verschiedene Entwicklungen ab, die in Zukunft zu

einem Wandel auf dem Computermarkt führen könnten. Die wichtigsten sind fol-

gende:

� Es entstehen immer mehr spezielle mobile Geräte, die Teile der Funktion des uni-

versellen PCs übernehmen. Dazu gehören Mobiltelefone mit Internet- und Multi-

media-Funktionen (Smartphones) wie Apples iPhone oder die zahlreichen Google-

Android- und Windows-Phone-Geräte, Tablets (iPad, Samsung Galaxy Tab & Co.),

PDAs oder spezielle Geräte, die wie eine Armbanduhr oder ein Gürtel getragen

werden können oder in Kleidungsstücke eingebaut sind (Wearable Computers). Im

gleichen Maße wird das Internet, besonders in seiner drahtlosen Form, immer

wichtiger.

� Über die klassische binäre Elektronik hinaus entstehen neue Ansätze für den Bau

von Computern. Dazu gehören beispielsweise DNA-basierte »Bio-Rechner« oder

Computer auf der Basis von Lichtwellenleitern – diese auch als Glasfaserkabel

bezeichneten Leitungen transportieren Licht statt elektrischen Stroms und kom-

men bereits seit Langem bei der Datenübertragung zum Einsatz (Kabelfernsehen,

Netzwerke und so weiter). Ein weiteres interessantes Projekt ist der Quantencom-

puter: Da die Quantenmechanik besagt, dass ein Teilchen mehrere Zustände zur

selben Zeit aufweisen kann, können sogenannte QBits (Quanten-Bits) codiert wer-

den, die »1 und 0 gleichzeitig« enthalten – das Durchprobieren zahlreicher ver-

schiedener Fälle muss nicht mehr nacheinander geschehen, sondern kann

gleichzeitig erfolgen.

� Überraschend ruhig ist es dagegen in den letzten Jahren in der Öffentlichkeit um

die »künstliche Intelligenz« geworden. Inzwischen hat sich die Forschung vorläu-

fig von dem Gedanken verabschiedet, das komplexe menschliche Gehirn nachzu-

ahmen. Stattdessen betreibt man erst einmal Grundlagenforschung und simuliert

beispielsweise das Zusammenspiel weniger einzelner Nervenzellen in sogenann-

ten neuronalen Netzen.

1.2.3 Entwicklung der Programmiersprachen

Damit ein Computer nützliche Aufgaben erledigen kann, muss er programmiert wer-

den. Da in der kurzen Übersicht über die Computergeschichte bereits von Program-

miersprachen die Rede war, folgt hier ein kurzer Abriss über deren Entwicklung.

46

Page 37: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.2 Die Geschichte der Rechenmaschinen und Computer

Die Maschinensprache des Prozessors

Die einzige Sprache, die ein Mikroprozessor wirklich versteht, ist seine Maschinen-

sprache. Sie besteht aus nichts weiter als aus Zahlen: Jeder Befehl, den der Prozessor

»versteht«, besitzt einen bestimmten numerischen Code. Je nach Art des Befehls fol-

gen auf die Befehlsnummer ein oder mehrere Argumente verschiedener Länge.

Ein Maschinenprogramm ist für Menschen so gut wie unlesbar und schon gar nicht

schreibbar. Wenn Sie eine binäre Programmdatei mit einem Texteditor öffnen, wer-

den die gespeicherten Zahlen als Zeichen interpretiert; es erscheint merkwürdiger

Zeichensalat, an manchen Stellen unterbrochen von kleinen Textblöcken, wenn das

Programm normalen Text enthält.

Angenommen, ein Programm enthält den folgenden (fiktiven) Befehl:

65 0 0 0 98

Bei dem Befehl 65 könnte es sich beispielsweise um die Anweisung handeln, einen

bestimmten Wert auf einen Speicherstapel zu legen; der Wert wird als 32-Bit-Ganz-

zahl angegeben, hier 98. Im Texteditor sähe dies etwa so aus:

A b

Das große A besitzt den Zeichencode 65, das kleine b den Code 98. Die drei Null-Bytes

werden in manchen Editoren als merkwürdige Sonderzeichen, in anderen als Leer-

zeichen angezeigt. Ein Rückschluss auf die tatsächlichen Befehle ist so gut wie

unmöglich.

Wenn Sie überhaupt jemals gezwungen sein sollten, Maschinensprachdateien von

Hand zu modifizieren (zum Beispiel, um ein Computerspiel zu überlisten), verwen-

den Sie besser einen Hex-Editor, der die einzelnen Werte nicht nur als ASCII-Zeichen,

sondern zusätzlich hexadezimal darstellt. Hier könnte das Ganze folgendermaßen

aussehen:

41 00 00 00 62 A b

Assembler – die »benutzerfreundliche« Maschinensprache

Um Maschinensprache halbwegs benutzbar zu machen, wurde der Assembler entwi-

ckelt. Statt die Befehle mit ihren tatsächlichen Zahlencodes zu schreiben, werden sie

durch Kürzel dargestellt, die man sich mehr oder weniger gut merken kann – daher

auch der Name »Mnemonics«. In der Regel werden diese Namen für die jeweiligen

Assembler-Befehle unmittelbar vom Prozessorhersteller selbst festgelegt, um jegli-

ches Chaos zu vermeiden.

47

Page 38: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

Die Assembler-Sprache ist von Prozessor zu Prozessor völlig verschieden. Jede Pro-

zessorarchitektur versteht ihre ganz eigenen Arten von Befehlen, die entsprechend

unterschiedlich in Assembler umgesetzt werden.

Assembler ist sowohl der Name für diese vereinfachte Schreibweise der Maschinen-

sprache als auch der Name für das Programm, das diese Sprache in die eigentliche

Maschinensprache umsetzt (im Englischen wird die Sprache allerdings eher als

assembly language bezeichnet).

Das Assembler-Programm führt gegenüber der eigentlichen Maschinensprache oft

eine Reihe von Erleichterungen ein. Viele Assembler beherrschen etwa die Definition

sogenannter Makros: Immer wiederkehrende Abfolgen von Befehlen erhalten einen

eindeutigen Namen und können dann später unter diesem Namen aufgerufen werden.

Assembler –

praktischer

Einsatz

Assembler wird heutzutage kaum noch zur Programmierung verwendet, zumindest

nicht zur Erstellung vollständiger Programme. Wichtige Ausnahmen sind folgende:

1. In Betriebssystemen sind einige der besonders hardwarenahen Kernroutinen im

Assembler des jeweiligen Prozessors geschrieben, und zwar vor allem deswegen,

damit der gesamte Rest des Systems so weit von der Hardware abstrahiert wird,

dass er vollständig in einer höheren Sprache – meist C – geschrieben werden kann.

Diese Vorgehensweise wurde in den 70er-Jahren bei der Implementierung von

Unix entwickelt und gilt noch heute.

2. Auch Gerätetreiber, die zu den wichtigsten Bestandteilen der Betriebssysteme

gehören, müssen manchmal in Assembler geschrieben werden.

3. Bestimmte Teile von Computerspielen werden hin und wieder in Assembler

geschrieben. Spieleprogrammierern, besonders von schnellen 3D-Spielen, kommt

es vor allem auf Geschwindigkeit an.

4. Besonders systemnahe Computerviren (Bootsektorviren, die den Startbereich

eines Datenträgers infizieren, und Programmviren, die ausführbare Programme

befallen) sind meistens vollständig in Assembler geschrieben.

Die ersten höheren Programmiersprachen (Fortran, Cobol, BASIC)

Als praktischer Ersatz für die maschinenorientierten Sprachen wurden Mitte der

50er-Jahre die problem- oder benutzerorientierten Programmiersprachen einge-

führt. Ihr Vorrat an möglichen Befehlen und ihre Syntax orientierten sich eher an

den Bedürfnissen der Programmierer als an denen des Rechners.

Diese Programmiersprachen müssen in die Maschinensprache des konkreten Pro-

zessors übersetzt werden. Dazu wurden zwei grundlegende Vorgehensweisen entwi-

ckelt:

� Der Compiler erzeugt ein dauerhaft lauffähiges Maschinensprachprogramm und

speichert es als ausführbares Programm (Binary Executable) ab.

48

Page 39: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.2 Die Geschichte der Rechenmaschinen und Computer

� Der Interpreter übersetzt den Quellcode dagegen Zeile für Zeile; der Code wird also

während der Ausführung (zur Laufzeit) übersetzt. Interpretierte Sprachen werden

häufig auch als Skriptsprachen bezeichnet.

Die erste Generation der höheren Programmiersprachen war sehr einfach. Beispiels-

weise gab es noch keine echte Programmstrukturierung. Das ursprüngliche BASIC

verwendete etwa Zeilennummern, zu denen gesprungen werden konnte; Fortran

benutzte spezielle Sprungmarken.

Jede dieser frühen Sprachen hatte eine spezielle Ausrichtung oder einen besonderen

Verwendungszweck:

� Fortran, entwickelt in den 50er-Jahren, ist die Abkürzung für »Formula Transla-

tor«. Es handelt sich um eine besonders im Hinblick auf mathematische Bedürf-

nisse geschriebene Sprache. Sie wird zum Teil auch heute noch von Ingenieuren

oder Mathematikern gern verwendet.

� Cobol wurde ebenfalls in den 50er-Jahren entwickelt. Der Name ist die Abkürzung

für »Common Business-oriented Language«; es handelt sich also um eine Sprache

für kaufmännische Anwendungszwecke, für Handel und Wirtschaft. Cobol ist eine

ziemlich »geschwätzige« Sprache. Es braucht relativ viele Wörter, um verhältnis-

mäßig kurze Anweisungen auszudrücken. Beispielsweise können Sie in fast jeder

Programmiersprache folgendermaßen den Wert der Variablen b durch 7 teilen

und das Ergebnis in einer zweiten Variablen namens a speichern:

a = b / 7

In Cobol wird dagegen folgende Anweisung verwendet:

DIVIDE B BY 7 GIVING A

� BASIC wurde 1960 am Dartmouth College entwickelt. Der Name steht für »Begin-

ner’s All-Purpose Symbolic Instruction Code«. Es handelt sich also um eine eher

einfache Sprache für Anfänger. Die Sprache fand ab der zweiten Hälfte der 70er-

Jahre, als die neu gegründete Firma Microsoft sie zum ersten Mal für Personal

Computer anpasste, eine gewaltige Verbreitung. Fast jeder Homecomputer in den

80er-Jahren hatte irgendeine BASIC-Variante im ROM eingebaut.

Ein BASIC-

Beispiel

Zur Verdeutlichung sehen Sie hier ein kleines Beispielprogramm in »allgemei-

nem« BASIC, das fast jeder klassische BASIC-Interpreter verstehen würde:

10 PRINT "Wie heißt du?"

20 INPUT A$

30 PRINT A$; " ist ein interessanter Name."

40 PRINT "Noch mal (j/n)?"

50 INPUT J$

60 IF J$ = "j" THEN GOTO 10

49

Page 40: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

Die einzelnen Programmzeilen bedeuten Folgendes:

– (10) Ausgabe des Textes »Wie heißt du?«

– (20) Eingabe der Variablen A$, die durch das Dollarzeichen als String-Variable

(Textinhalt) gekennzeichnet wird.

– (30) Der eingegebene Name wird ausgegeben, gefolgt von »ist ein interessanter

Name.«.

– (40) Der Benutzer wird gefragt, ob er einen weiteren Durchgang wünscht.

– (50) Eingabe der Variablen J$

– (60) Hat J$ den Wert »j«, geht es weiter bei Zeile 10; das Programm wird erneut

ausgeführt. Andernfalls endet das Programm, da keine weiteren Befehle mehr

folgen.

Imperative oder prozedurale Programmiersprachen (Pascal, C)

Diese Programmiersprachen erlauben eine Strukturierung von Programmen, darü-

ber hinaus ist eine gewisse Modularisierung möglich: Programme können in kleinere

logische Einheiten eingeteilt werden, Prozeduren oder Funktionen genannt. Diese

sind bis zu einem gewissen Grad wiederverwendbar.

Pascal wurde ab 1968 von dem Schweizer Mathematikprofessor Niklaus Wirth aus-

drücklich als Lehrsprache entwickelt. Noch heute ist Pascal eine der beliebtesten

Sprachen, um Schülern oder Studenten das Programmieren beizubringen, weil die

Sprache zu einer klaren Programmstrukturierung zwingt.

Die Programmiersprache C wurde 1971 von Dennis Ritchie und Brian Kernighan bei

AT&T entwickelt, insbesondere um eine portierbare (auf andere Rechnerplattformen

übertragbare) Version des Betriebssystems Unix zu schreiben. Ursprünglich wurde C

für einen ganz bestimmten Computer und dessen Besonderheiten entwickelt, den

DEC PDP-7. Aus diesem Grund ist C erstaunlich nah an den Fähigkeiten von Assem-

bler, ohne so benutzerunfreundlich zu sein wie dieses.

Ein Pascal-

Beispiel

Hier sehen Sie zunächst ein einfaches Pascal-Programm:

PROGRAM tagesgruss;VAR name: STRING;

zeit: INTEGER;

BEGINwriteln ('Hallo. Gib deinen Namen ein!');readln (name);writeln ('Gib die Uhrzeit ein - nur Stunde!');readln (zeit);IF zeit < 12 THEN

writeln ('Guten Morgen ', name)

50

Page 41: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.2 Die Geschichte der Rechenmaschinen und Computer

ELSEIF zeit < 18 THEN

writeln ('Guten Tag ', name)ELSE

writeln ('Guten Abend ', name);END.

Das Programm begrüßt den Benutzer freundlich mit »Hallo«, und dieser wird aufge-

fordert, seinen Namen einzugeben. Daraufhin wartet es auf die Eingabe, die in der

Variablen name gespeichert wird. Als Nächstes fragt das Programm nach der Uhrzeit

oder genauer nach der Stunde.

In den verschachtelten IF-ELSE-Bedingungen wird dann je nach Tageszeit »Guten

Morgen«, »Guten Tag« oder »Guten Abend« ausgegeben.

Ein C-BeispielDie Programmiersprache C wird in Kapitel 9, »Grundlagen der Programmierung«,

ausführlich behandelt. Trotzdem sehen Sie hier als Kontrast zu Pascal bereits ein klei-

nes C-Beispielprogramm:

#include <stdio.h>

int main (){

int a, b;printf ("Geben Sie die erste Zahl ein: ");scanf ("%d", &a);printf ("Geben Sie die zweite Zahl ein: ");scanf ("%d", &b);if (a < b)

printf ("%d ist kleiner als %d.\n", a, b);else if (a > b)

printf ("%d ist groesser als %d.\n", a, b);else

printf ("Zweimal die Zahl %d.\n", a);return 0;

}

Es wird die Eingabe zweier Zahlen erwartet. Anschließend werden die beiden Zahlen

verglichen; je nach Größe der beiden Zahlen wird eine entsprechende Meldung aus-

gegeben.

Die wichtigste Besonderheit ist, dass es kein Hauptprogramm gibt wie in Pascal, son-

dern nur die spezielle Funktion main(), die vom Betriebssystem aufgerufen wird. Die

weiteren Eigenheiten von C werden, wie gesagt, in Kapitel 9, »Grundlagen der Pro-

grammierung«, erläutert.

51

Page 42: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

Objektorientierte Programmiersprachen (Smalltalk, C++, Java, C#)

In einer objektorientierten Sprache wird in wiederverwendbaren Paketen program-

miert, den sogenannten Klassen. Eine Klasse ist eine allgemeine Vorlage für die Kon-

struktion von Objekten. Ein Objekt ist eine Datenstruktur, die selbst Funktionen

enthält, um sich auf die gewünschte Art und Weise zu »verhalten«.

Die wichtigsten Vorteile dieser Art der Programmierung sind die folgenden:

� Kapselung: Datenstrukturen außerhalb eines Objekts können nicht direkt dessen

innere Daten manipulieren, sondern nur seine offiziellen Methoden (Schnittstel-

len nach außen) benutzen. Dies sorgt für ein klares Programmdesign und schützt

vor vielen Fehlern.

� Vererbung: Klassen können ihre Eigenschaften und Methoden an »Kindklassen«

abgeben, in denen nur noch die Unterschiede programmiert werden müssen. Dies

beschleunigt die Softwareentwicklung und macht Programme noch einmal

erheblich übersichtlicher.

Zu den wichtigsten objektorientierten Programmiersprachen gehören folgende:

� Smalltalk war die erste vollständig objektorientierte Sprache überhaupt. Sie wurde

in den 70er-Jahren zur Programmierung der ersten grafischen Benutzeroberfläche

entwickelt.

� C++ ist die objektorientierte Erweiterung der Programmiersprache C und wurde

von Bjarne Stroustrup entwickelt. Da C++ abwärtskompatibel mit C ist, wurde die

Sprache bald von C-Programmierern eingesetzt; ihre besonderen Vorteile als

objektorientierte Sprache wurden aber erst langsam angenommen.

� Java besitzt vor allem die Besonderheit, dass es sich um eine plattformunabhän-

gige Sprache handelt. Sie brauchen ein Java-Programm nur einmal zu kompilie-

ren, es läuft innerhalb eines speziellen Programms für die verschiedenen

Plattformen, der virtuellen Java-Maschine (JVM).

� C# ist eine objektorientierte Sprache von Microsoft. Es handelt sich um eine der

Sprachen, mit denen Anwendungen für das .NET Framework entwickelt werden

können. Zwar betont Microsoft aus Marketingerwägungen stets die Verwandt-

schaft mit C++, aber dennoch hat C# mehr mit Java gemeinsam als mit C++.

Logische Programmiersprachen (LISP, Prolog, Logo)

Einen völlig anderen Ansatz als die bisher behandelten Sprachen versprechen die

logischen Programmiersprachen: Die Grundidee besteht darin, nicht den fertigen

Algorithmus einzutippen und mit wechselnden Wertbelegungen vom Computer

berechnen zu lassen, sondern das Grundproblem selbst zu formulieren und die

Erzeugung einer möglichst optimalen Lösung dem Compiler zu überlassen.

52

Page 43: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.3 Digitale Speicherung und Verarbeitung von Informationen

Die Idee der logischen Programmierung stammt bereits aus den 60er-Jahren. Weg-

weisend waren die Arbeiten des Linguisten Noam Chomsky, der als Erster eine Ver-

bindung zwischen Sprachwissenschaft und Informationstechnik herstellte. Auf

dieser Grundlage entwickelten sich sogenannte Expertensysteme, die Fragen durch

logische Schlussfolgerungen aus bereits bekannten Informationen beantworten

können. Die logischen Programmiersprachen erwiesen sich als ideales Hilfsmittel

zur Implementierung solcher Systeme.

Logische Sprachen im engeren Sinne verwenden die Prädikatenlogik zur Formulie-

rung von Ausdrücken oder Termen; der wichtigste Vertreter ist Prolog.

Sprachen mit ähnlichem Ansatz, aber anderer Syntax werden auch als funktionale

Sprachen bezeichnet; dazu gehört vor allem LISP, aber auch die Sprache Logo, die

hauptsächlich entworfen wurde, um Kindern die Denkweise der Computerprogram-

mierung beizubringen. Als gemeinsamen Oberbegriff verwendet man manchmal die

Bezeichnung deklarative Programmiersprachen.

In den letzten Jahren kommen logische und funktionale Programmiersprachen all-

mählich wieder in Mode, weil sich der Ansatz besonders gut zur Programmierung

moderner Mehrkernprozessoren eignet. So entstanden die moderneren funktiona-

len Sprachen Erlang (logische Sprache, von Prolog inspiriert), Clojure (funktional, im

Grunde ein moderner LISP-Dialekt) und Scala (eine sogenannte Multiparadigmen-

Sprache, die neben funktionalen auch objektorientierte und imperative Aspekte ent-

hält).

1.3 Digitale Speicherung und Verarbeitung von Informationen

In diesem Abschnitt wird kurz erläutert, wie ein Computer Informationen speichert

und verarbeitet. Es besteht hierbei ein grundsätzlicher Unterschied zwischen analo-

gen und digitalen Daten: Analoge Informationen lassen sich in einer kontinuierli-

chen Wellenform wie in Abbildung 1.5 darstellen, die in immer kleinere Einheiten

unterteilt werden können.

In der Natur liegen alle Informationen zunächst in analoger Form vor: Das Bild, das

Sie sehen, oder der Ton, den Sie hören, besitzt prinzipiell keine kleinste Informati-

onseinheit oder Auflösung. Mit dieser Art von Informationen kann ein Computer

heutiger Bauart nichts anfangen. Die besonderen Eigenschaften der Elektronik

haben dazu geführt, dass Computer digital entworfen wurden. »Digital« stammt

vom englischen Wort digit (»Ziffer«); dieses Wort ist wiederum vom lateinischen

digitus (»Finger«) abgeleitet, da die Finger von jeher zum Zählen eingesetzt wurden.

Digital sind Informationen also immer dann, wenn sie in Form von Zahlen darge-

stellt werden können. Genauer gesagt werden die Daten binär gespeichert, das heißt

53

Page 44: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

als Abfolge von Einsen und Nullen. Das ist nicht genau dasselbe wie dual. Das Dual-

system ist das mathematische Zweiersystem, während binär allgemein die Speiche-

rung beliebiger Daten durch zwei verschiedene Zustände bezeichnet.

Abbildung 1.5 Schematische Darstellung von Analogdaten als Welle

Die Speicherung von Zahlen erfolgt übrigens in der Tat dual, solange es sich um

ganze Zahlen handelt. Eine Besonderheit gilt dabei für vorzeichenbehaftete (positive

oder negative) Zahlen, bei denen das vorderste Bit für das Vorzeichen steht. Kompli-

ziert wird es dagegen bei Fließkommazahlen, die in Exponentialschreibweise gespei-

chert werden. Auf die Darstellung von Zahlen im Computer wird in Kapitel 2,

»Mathematische und technische Grundlagen«, näher eingegangen.

Abbildung 1.6 Schematische Darstellung binärer Digitaldaten

54

Page 45: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.3 Digitale Speicherung und Verarbeitung von Informationen

Charakteristisch für digitale Daten ist, dass es eine kleinste Informationseinheit gibt

und dass die Information nicht mehr weiter aufgelöst werden kann. Während Ana-

logdaten also durch die Wellenform gekennzeichnet sind, lassen sich Digitaldaten

durch eine rechteckige Form darstellen (siehe Abbildung 1.6). In der Mathematik wer-

den Objekte mit einem solchen »Mindestabstand« als diskrete Mengen bezeichnet.

Ein Alltagsbeispiel ist die Folge der ganzen Zahlen – im Unterschied zu den rationalen

oder gar reellen Zahlen, bei denen zwischen zwei beliebigen Elementen immer noch

unendlich viele Zwischenwerte liegen.

DigitalisierungDie Umwandlung der analogen Eindrücke aus der Realität in computergeeignete

digitale Daten wird als Digitalisierung bezeichnet. Je nach Datenart wird sie zum Bei-

spiel von einem Scanner oder einer Digitalkamera bei Bildern oder von einer Sound-

karte bei Tönen durchgeführt. Die folgenden Abschnitte sollen einen groben

Eindruck davon vermitteln, wie verschiedene Arten von Daten grundsätzlich gespei-

chert werden.

1.3.1 Digitale Bilddaten

Wie Hardware zur Bilddigitalisierung funktioniert, also Scanner und Digitalkameras,

wird kurz in Kapitel 3, »Hardware«, angeschnitten. Beachten Sie, dass es zwei grundle-

gende Arten von Computergrafik gibt: Die Pixelgrafik (auch Bitmap-Grafik genannt),

von der hier die Rede ist, speichert ein Bild als rechteckiges Raster quadratischer Farb-

informationen ab, den sogenannten Pixeln. Die Vektorgrafik speichert dagegen

Umrisslinien und Kurven von Zeichnungen in Form mathematischer Formeln.

Die Qualität eines gespeicherten Pixelbildes lässt sich durch die folgenden Sachver-

halte charakterisieren:

� Die Auflösung gibt die Größe der einzelnen Pixel an. Die Angabe besagt, wie viele

Pixel pro Zentimeter oder Inch gespeichert werden. Beachten Sie, dass für den

Druck erheblich höhere Auflösungen erforderlich sind (etwa 300 Pixel pro Inch)

als für eine gleich große Bildschirmfläche (gerechnet wird hier – unabhängig von

der tatsächlichen Monitorgröße – mit 72 Pixeln pro Inch).

� Die Farbtiefe gibt an, wie viele Bits zur Speicherung der Informationen eines ein-

zelnen Pixels verwendet werden. Je nach Farbtiefe kann eine bestimmte Anzahl

verschiedener Farben eingesetzt werden. Beispielsweise ermöglicht eine Farbtiefe

von 8 Bit nur 256 verschiedene Farben, 16 Bit bieten 65.536 Farben und 24 Bit sogar

mehr als 16,7 Millionen (genauer gesagt 16.777.216).

� In der Regel werden die einzelnen Farben nicht stur durchnummeriert, sondern

aus einzelnen Grundfarben zusammengesetzt. Ohne hier näher darauf einzuge-

hen, gibt es die additive Farbmischung der Lichtfarben Rot, Grün und Blau (RGB)

55

Page 46: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

sowie die subtraktive Mischung der Druckfarben Cyan, Magenta, Gelb und Schwarz

(CMYK). Normalerweise wird für die Intensität jeder einzelnen Grundfarbe ein

Farbkanal gespeichert. Die Farbtiefe wird dann pro Kanal angegeben, bei einem

RGB-Bild mit 24 Bit Farbtiefe also beispielsweise 8 Bit (oder 256 Intensitätsstufen)

pro Kanal.

1.3.2 Digitale Audiodaten

Töne werden mithilfe eines Verfahrens digitalisiert, das man Sampling nennt. Das

Audiosignal wird in bestimmten Zeitabständen immer wieder abgetastet, genauer

gesagt wird die Amplitude (das Volumen) zum jeweiligen Zeitpunkt gemessen. Die

Frequenz (Tonhöhe) ergibt sich dabei aus der zeitlichen Verteilung der Amplituden.

Jeder einzelne Abtastvorgang (Sample) wird als numerischer Wert abgespeichert.

In der Folge erweist sich die digitalisierte Tonabfolge als diskret in zweifacher Hin-

sicht: auf der X-Achse zeitdiskret durch das gleichbleibende Intervall zwischen den

Messungen; auf der Y-Achse wertdiskret durch die Beschränkung auf einzelne her-

ausgegriffene (Mittel-)Werte.

Genau wie bei Bildern gibt es auch hier verschiedene Merkmale, die die Datenmenge

und die Qualität der gespeicherten Daten betreffen:

� Die Sampling-Rate gibt die Anzahl der Messvorgänge pro Sekunde an. Je höher die

Frequenz dieser Messungen, desto höher ist die Tonqualität. Audio-CDs haben bei-

spielsweise eine Sampling-Rate von 44,1 kHz (Kilohertz), es wird also 44.100 Mal

pro Sekunde gemessen. Multimedia-Produktionen wie Computerspiele oder Info-

tainment-Titel verwenden dagegen häufig die halbe Sampling-Rate von 22,05 kHz.

� Die Sampling-Tiefe gibt die Datenbreite des einzelnen gespeicherten Tons an, legt

also fest, wie viele verschiedene Amplituden unterschieden werden. Bei Audio-

CDs sorgt eine Sampling-Tiefe von 16 Bit (65.536 unterschiedliche Werte) für guten

Ton; niedrigere Sampling-Tiefen klingen nicht besonders gut.

� Die Anzahl der Tonkanäle besagt, ob irgendeine Art von Raumklang gespeichert

wird oder nicht. Wenn Audiodaten mono gespeichert werden, gibt es nur einen

einzigen Kanal. Stereo verwendet zwei getrennte Kanäle, die über einen linken

und einen rechten Lautsprecher ausgegeben werden können. Eine noch höhere

Anzahl von Kanälen wie bei Quadrofonie, Dolby Surround oder 5.1-Sound bewirkt

ein noch realistischeres Hörerlebnis.

Tabelle 1.2 stellt die verschiedenen Merkmale von Bilddaten den vergleichbaren

Eigenschaften von Tondaten gegenüber, um die entsprechenden Beziehungen zwi-

schen verschiedenen Arten von Digitaldaten zu verdeutlichen.

56

Page 47: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1.4 Zusammenfassung

1.3.3 Digitale Speicherung von Text

Reiner Text (nicht der formatierte Text in Textverarbeitungsprogrammen!) wird als

Abfolge nummerierter Zeichen eines Zeichensatzes gespeichert. Je nach Datenbreite

des verwendeten Zeichensatzes können unterschiedlich viele verschiedene Zeichen

verwendet werden. Der grundlegende Computerzeichensatz ist noch heute ASCII. Es

handelt sich um einen 7 Bit breiten Zeichensatz; er enthält also 128 Zeichen. Es sind

sämtliche Zeichen für die Darstellung englischsprachiger Texte verfügbar.

Um auch Texte mit den Sonderzeichen der diversen europäischen Sprachen darstel-

len zu können, werden verschiedene Erweiterungen des ASCII-Codes verwendet. Da

die 7 Bit der ASCII-Zeichen gewöhnlich in 8 Bit breiten Feldern gespeichert werden,

steht Platz für weitere 128 Zeichen zur Verfügung. Auf diese Weise lassen sich latei-

nisch geschriebene Sprachen mit Sonderzeichen wie deutschen Umlauten darstel-

len, aber auch andere Buchstabenalphabete wie Arabisch, Russisch oder Griechisch.

Silbenschriften wie Chinesisch oder Japanisch lassen sich dagegen auf diese Weise

nicht speichern.

Um viele verschiedene Zeichensätze »unter einen Hut zu bringen«, wurde der Uni-

code-Standard eingeführt. Es handelt sich um einen Zeichensatz mit 16 bis 32 Bit brei-

ten Zeichen; es können also mindestens 65.536 verschiedene Zeichen, in neueren

Versionen sogar noch mehr, gespeichert werden. Auf diese Weise bietet Unicode

genügend Platz für die Schriftzeichen der meisten Sprachen der Welt sowie für

mathematische, technische und andere Sonderzeichen.

Die verschiedenen Zeichensätze werden in Kapitel 16, »Weitere Datei- und Datenfor-

mate«, genauer besprochen.

1.4 Zusammenfassung

Die Wissenschaft vom Umgang mit Computersystemen, um die es in diesem Buch

geht, wird allgemein Informatik genannt. Der praktische Einsatz dieser Systeme

heißt dagegen meist Informationstechnik (IT). Es gibt verschiedene Ausbildungs-

Informationsart Bilddaten Audiodaten

Auflösung Bildauflösung, in Pixeln pro

Zentimeter oder Inch

Sampling-Rate, in Samples

pro Sekunde (kHz)

Datenbreite Farbtiefe Sampling-Tiefe

Anzahl Kanäle Farbkanäle Tonkanäle

Tabelle 1.2 Vergleich der Merkmale von Bild- und Audiodaten

57

Page 48: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

1 Einführung

gänge, die auf Berufe in diesem Fachbereich vorbereiten: zum einen praktische

Berufsausbildungen wie die im Titel dieses Buches erwähnten Fachinformatiker,

zum anderen die erheblich umfangreicheren, aber theoretischeren Studiengänge.

Die Entwicklung des Computers war letztlich eine Folge des wissenschaftlichen Fort-

schritts: Die seit Jahrtausenden bekannten Gesetzmäßigkeiten der Mathematik und

der Logik wurden mit modernen Erkenntnissen der Elektrotechnik beziehungsweise

Elektronik kombiniert, um einen frei programmierbaren Rechenautomaten zu erhal-

ten. Die fortschreitende Miniaturisierung und eine effiziente industrielle Fertigung

sorgten dafür, dass die Computer sich im Laufe von etwa sechzig Jahren von beinahe

unbezahlbaren Einzelexemplaren an Universitäten zum allgegenwärtigen Werkzeug

für fast jeden Anwendungszweck und die meisten Berufe entwickeln konnten.

Parallel zu den Computern selbst hat sich auch die Art und Weise ihrer Programmie-

rung weiterentwickelt: Anfangs musste die reine numerische Maschinensprache

mithilfe von Schalttafeln und Steckverbindungen eingegeben werden; nach und

nach wurden sowohl die Eingabemethoden als auch der Funktionskomfort der Spra-

chen selbst erheblich verbessert.

Interessant ist in diesem Zusammenhang, dass sich die innere Funktionsweise der

Rechner von Anfang an kaum verändert hat: Bis heute werden elektronisch gesteu-

erte Schalter verwendet, die die beiden Zustände 0 und 1 darstellen können. Sämtli-

che Informationen – ob mathematische Informationen, Texte oder Multimedia-

Daten – sowie die Manipulation dieser Daten müssen mithilfe dieser Schaltungen

codiert werden. Wie dies im Einzelnen geschieht, erfahren Sie im Verlauf dieses

Buches noch wesentlich genauer.

58

Page 49: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Kapitel 7

Linux

Really, I’m not out to destroy Microsoft.

That will just be a completely unintentional side effect.

– Linus Torvalds1

Nachdem Sie im vorigen Kapitel das Wichtigste über Windows erfahren haben, geht

es hier um eine andere gängige Systemplattform: Linux, inzwischen das am weites-

ten verbreitete System der Unix-Familie. Viele der Informationen in diesem Kapitel

gelten auch für andere Unix-Varianten. Apples Betriebssystem Mac OS X, dessen

Unterbau eine BSD-Unix-Version namens Darwin ist, wird im nächsten Kapitel vor-

gestellt.

Das Betriebssystem Linux wird, wie bereits in Kapitel 5, »Betriebssystemgrundla-

gen«, erwähnt, in verschiedenen Distributionen angeboten. Die wichtigsten sind:

� openSUSE, früher SUSE Linux genannt, wurde von der Nürnberger Firma SUSE AG

entwickelt, die inzwischen zu Novell gehört. Novell wiederum wurde vor einigen

Jahren von Attachmate aufgekauft; die Unterstützung für openSUSE wurde seit-

dem vermindert, aber nicht eingstellt. Die Distribution wurde früher in zwei ver-

schiedenen Versionen angeboten: der Personal Edition für Privatanwender, die

vorzugsweise mit Desktopanwendungen ausgestattet war, und der Professional

Edition für Entwickler, Systemadministratoren oder Unternehmen, die zahlreiche

Netzwerkanwendungen, Server, Entwicklungswerkzeuge und andere professio-

nelle Programme enthielt. Inzwischen wird die Distribution als Community-Pro-

jekt unter dem Namen openSUSE weitergepflegt. Auch die von SUSE bereitgestell-

ten Installations- und Verwaltungsprogramme wurden dafür unter der GPL

freigegeben. Zusätzlich gibt es kommerzielle Produkte von Novell, etwa den SUSE

Linux Enterprise Server.

� Red Hat Linux stammt von dem gleichnamigen amerikanischen Unternehmen

und ist die beliebteste Distribution in den USA. Die Entwicklung verlief schon vor

einigen Jahren wie bei openSUSE: Ursprünglich wurden eine Personal Edition und

eine Professional Edition angeboten. Aus der stark erweiterten Personal-Variante

1 Wirklich, ich habe nicht vor, Microsoft zu zerstören. Dies wird nur ein vollkommen unbeabsich-

tigter Nebeneffekt sein.

377

Page 50: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

ging das freie Community-Projekt Fedora Linux (früher Fedora Core Linux) hervor,

während Unternehmenslösungen weiterhin unter dem Namen Red Hat verkauft

werden.

� Debian GNU/Linux ist eine kleinere Distribution mit dem besonderen Vorteil, dass

alle Bestandteile voll und ganz aus freier Software unter der GPL bestehen, auch

das Installationsprogramm. Dafür ist die Installation komplizierter als bei den

anderen Distributionen, für Linux-Einsteiger ist diese Distribution daher nicht zu

empfehlen. Fortgeschrittene Anwender können die Distribution dagegen am

stärksten an eigene Bedürfnisse anpassen. Es gibt allerdings besonders einsteiger-

freundliche Distributionen wie Ubuntu Linux, die wiederum auf Debian basieren.

Auch das direkt von CD bootende Live-System Knoppix besitzt einen Debian-

Unterbau.

� Mandriva Linux ist aus dem Zusammenschluss des französischen Distributors

Mandrake mit der brasilianischen Firma Conectiva entstanden und überzeugt

ähnlich wie SUSE durch einen besonders großen Lieferumfang und ein gut durch-

dachtes Installationsprogramm.

Neben diesen häufigsten Distributionen werden unzählige weitere angeboten, jede

von ihnen besitzt ihre besonderen Eigenschaften, Vor- und Nachteile. Die Unter-

schiede treten nicht so sehr beim normalen Arbeiten mit dem System zutage, son-

dern nur bei der Installation neuer Programme und bei Konfigurationsarbeiten.

Die meisten hier genannten Linux-Distributionen können Sie frei aus dem Internet

herunterladen. Bei den Download-Dateien handelt es sich meist um die ISO-Images

der Installations-DVDs oder -CDs. Jede handelsübliche Brennsoftware kann diese auf

einen Datenträger brennen. In Tabelle 7.1 sehen Sie die URLs der wichtigsten Distri-

butionen.

Distribution Website

openSUSE http://de.opensuse.org/

Fedora Linux http://fedoraproject.org/wiki/

Debian GNU/Linux http://www.debian.org/

Ubuntu Linux http://www.ubuntulinux.org/

Knoppix http://www.knopper.net/knoppix/

Mandriva Linux http://www.mandriva.com/

Tabelle 7.1 Wichtige Linux-Distributionen und ihre Websites

378

Page 51: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

Eine andere Variante freier Unix-Derivate bilden die verschiedenen BSD-Systeme.

Hier die wichtigsten, jeweils mit ihrer Projekt-Website für Informationen und Down-

loads:

� FreeBSD (http://www.freebsd.org/)

� OpenBSD (http://www.openbsd.org/)

� NetBSD (http://www.netbsd.org/)

Eine weitere interessante kostenlose Alternative ist OpenSolaris, die Community-

Variante von Sun Solaris. Sie können es unter http://solaris.java.net/ herunterladen.

Viele der hier genannten Distributionen und Systeme bieten übrigens Live-CDs oder

Live-DVDs. Sie können die entsprechenden Images herunterladen, auf einen Daten-

träger brennen und direkt davon booten, um die Betriebssysteme risikolos auszu-

probieren. Eine andere interessante Lösung besteht darin, sie in einer Virtualisierungs-

software wie VMware oder Xen zu starten; in diesem Fall kann das Image sogar ohne

Brennvorgang als virtueller Datenträger eingestellt werden.

7.1 Arbeiten mit der Shell

Auch wenn so gut wie alle Distributionen inzwischen schon bei der Installation eine

grafische Benutzeroberfläche einrichten, sollten Sie sich den Umgang mit der Kon-

sole angewöhnen. Die mächtigsten Funktionen des Systems werden nach wie vor

über die Kommandozeile aufgerufen; grafische Steuerprogramme dafür stehen

nicht flächendeckend und schon gar nicht durchgehend als Open Source zur Verfü-

gung.

7.1.1 Booten und Login

Die meisten Linux- oder Unix-Versionen verfügen über irgendeine Art von Boot-

menü, das gleich nach dem Einschalten des Rechners und den BIOS-Meldungen

angezeigt wird. Falls mehrere Betriebssysteme installiert sind, können Sie hier eines

auswählen; ansonsten stehen nur verschiedene Optionen für das System selbst zur

Verfügung. In Abbildung 7.1 sehen Sie als Beispiel den Startbildschirm des Bootmana-

gers von Ubuntu. Wählen Sie in Ihrem entsprechenden Menü das gewünschte Sys-

tem aus, oder warten Sie, bis die automatische Vorauswahl aktiv wird.

Nach dem eigentlichen Booten gelangen Sie zu einem Anmeldebildschirm, sofern Sie

keinen automatischen Log-in eingestellt haben. Dieser Bildschirm kann entweder

textbasiert sein wie in Abbildung 7.2 oder aber grafisch wie in Abbildung 7.3. In jedem

Fall müssen Sie Ihren Benutzernamen und Ihr Passwort eingeben und anschließend

379

Page 52: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

(¢) drücken. Bei einem textbasierten Log-in gibt die Passworteingabe übrigens kei-

nerlei optisches Feedback, während bei den meisten grafischen Anmeldebildschir-

men Sternchen (***) angezeigt werden.

Abbildung 7.1 Das Bootmenü von Ubuntu

Abbildung 7.2 Textbasierter Boot- und Log-in-Bildschirm von openSUSE

380

Page 53: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

Abbildung 7.3 Grafischer Log-in bei Ubuntu

rootIn der Regel wird bei der Installation des Systems ein Passwort für den Superuser mit

dem vorgegebenen Benutzernamen root eingerichtet. Sie sollten sich niemals als

root anmelden, wenn Sie mit dem System nur normal arbeiten möchten, weil Sie als

root wirklich alles dürfen und so versehentlich das gesamte System beschädigen

könnten. Die Hauptaufgabe des Benutzers root ist die Systemadministration. Aus

diesem Grund wird bei fast jeder Linux-Installation automatisch ein normaler

Benutzer eingerichtet.

Einige Systeme – zum Beispiel Ubuntu und Mac OS X – gehen einen anderen Weg:

hier wird kein separater root-Account eingerichtet, sondern die Systeme erlauben

dem Standardbenutzer, über die im weiteren Verlauf des Kapitels besprochenen

Kommandos su oder sudo root-Rechte zu erlangen.

Für jeden Benutzer, dessen Anmeldedaten auf traditionelle Weise lokal gespeichert

werden, existiert ein Eintrag in der Datei /etc/passwd. Dieser Eintrag enthält ver-

schiedene jeweils durch Doppelpunkt getrennte Informationen:

Username:Passwort:UID:GID:Info:Home:Shell

Username und Passwort erklären sich von selbst. Die UID ist die numerische User-ID

des Benutzers, die GID entsprechend die Nummer der Gruppe, der er angehört. Info

enthält eine Klartextinformation über den Benutzer wie den vollständigen Namen,

381

Page 54: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

eine Telefonnummer oder E-Mail-Adresse (der Originalname des Feldes lautet

GECOS2). Diese Informationen können über das Netzwerk mit einem Programm

namens finger ermittelt werden. Home gibt das bereits zuvor besprochene Home-Ver-

zeichnis dieses Benutzers an (in der Regel /home/Username). Shell gibt schließlich

an, welche Shell dem Benutzer nach dem Log-in präsentiert wird – die verschiedenen

Shells werden in Abschnitt 7.1.3, »Grundfunktionen der Shell«, besprochen. Ein kon-

kreter Eintrag könnte beispielsweise folgendermaßen aussehen:

user:x:102:100:Irgendjemand:/home/user:/bin/bash

Der Username und das Passwort sind die wichtigsten Informationen. Nur eine kor-

rekt eingegebene Kombination aus beiden ermöglicht die Anmeldung eines Benut-

zers. Das Passwort steht an dieser Stelle nicht etwa im Klartext (es ließe sich leicht

von jedem Benutzer oder sogar von einem externen Angreifer stehlen), sondern ver-

schlüsselt – aus im Folgenden erläuterten Gründen ist im Beispieleintrag übrigens

gar kein Passwort zu sehen, sondern nur die Markierung x. Das eingesetzte Ver-

schlüsselungsverfahren ist bei korrekter Implementierung so beschaffen, dass die

Einträge nicht wieder entschlüsselt werden können (Einwegverschlüsselung). Das

Passwort, das ein Benutzer eingibt, wird vielmehr auf dieselbe Art und Weise ver-

schlüsselt wie die /etc/passwd-Einträge. Anschließend wird das Ergebnis mit dem

gespeicherten, verschlüsselten Passwort verglichen. Eine Übereinstimmung be-

deutet, dass das Passwort wohl korrekt sein muss.

Da der Verschlüsselungsweg bekannt ist, könnte ein Angreifer, dem ein Diebstahl der

Datei /etc/passwd gelingt, einfach nacheinander eine Liste von Wörtern verschlüs-

seln und mit den gespeicherten Passwörtern vergleichen. Es gibt sogar ein Pro-

gramm namens crack, das diesen Job automatisch durchführt, und die passenden

Wortlisten für die verschiedensten Sprachen erhalten Sie leicht aus dem Internet.

Die Schlussfolgerung sollte klar sein: Verwenden Sie als Passwort niemals ein Wort,

das in einem Wörterbuch vorkommen könnte. Eine beliebige Kombination aus

Großbuchstaben, Kleinbuchstaben und Ziffern ist dagegen ziemlich sicher. Die

Frage ist nur, wie Sie sich ein solches Passwort merken können – aus naheliegenden

Gründen sollten Sie es nirgendwo aufschreiben. Das wäre in etwa so klug, als wür-

den Sie die Geheimzahl für Ihre EC-Karte mit einem Folienstift auf die Karte selbst

schreiben.

Gute Passwörter Eine einfache Methode, ein sicheres Passwort zu erfinden und es sich zu merken,

besteht darin, die Anfangsbuchstaben eines beliebigen Satzes als Passwort zu ver-

wenden. Visuell passende Buchstaben können Sie durch Ziffern ersetzen (zum Bei-

2 Der Name stammt von einem gleichnamigen Großrechner-Betriebssystem der 60er-Jahre des

20. Jahrhunderts.

382

Page 55: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

spiel 1 statt i); Groß- und Kleinschreibung ergeben sich in deutschen Sätzen

automatisch.

Beispielsweise würde aus dem Satz »Mit Linux wär’ das nicht passiert«3 die Buchsta-

benkombination MLwdnp, auf die niemand kommen kann. Allerdings ist es am sichers-

ten, die acht Zeichen, die in klassischen Unix-Passwörtern zulässig sind, auch

auszunutzen.4 Eine Brute-Force-Attacke (englisch für »rohe Gewalt«), bei der ein

Angreifer jede erdenkliche Zeichenkombination durchprobiert, würde dadurch näm-

lich so lange dauern, dass sie sich nicht lohnt.

Modernere Unix-Systeme führen übrigens einen zusätzlichen Schutzmechanismus

ein: Die eigentlichen Passwörter werden gar nicht mehr in der Datei/etc/passwd ver-

wahrt, sondern in /etc/shadow. Diese Datei besitzt einen ähnlichen Aufbau wie /etc/

passwd, ist aber nur für den User root lesbar und nicht für alle Benutzer.

7.1.2 Virtuelle Terminals

Falls Ihr System mit einer grafischen Oberfläche startet, befinden Sie sich nach der

Anmeldung auf dem Desktop, der Schreibtischoberfläche. Hier sehen Sie verschie-

dene Symbole, Menüs und andere Bedienelemente, die in Abschnitt 7.5.2, »Desk-

tops«, behandelt werden. Wechseln Sie an dieser Stelle zunächst in eine Textmodus-

Konsole, indem Sie die Tastenkombination (Strg) + (Alt) + (F1) betätigen.

Jedes Linux-System bietet mehrere virtuelle Terminals zum Arbeiten an, in jedem

von ihnen können Sie sich unter einem beliebigen Benutzernamen anmelden und

jeweils andere Programme ausführen. Standardmäßig sind sechs virtuelle Terminals

eingerichtet, die über (Strg) + (F1) bis (Strg) + (F6) aufgerufen werden können. Mit

(Strg) + (F7) wechseln Sie dagegen wieder zur grafischen Oberfläche, falls diese

gestartet wurde. Aus der GUI heraus müssen Sie zusätzlich die (Alt)-Taste festhalten,

um wieder in eines der Textterminals zu wechseln.

GUI-Terminal-

fenster

Alternativ können Sie auch innerhalb der grafischen Oberfläche ein Terminalfenster

öffnen, beispielsweise das Programm xterm oder eine modernere, komfortablere

Variante. Halten Sie einfach Ausschau nach einem Icon, das einen schwarzen Text-

bildschirm zeigt. In KDE heißt das zuständige Programm beispielsweise Konsole, in

GNOME einfach Terminal. Zusätzlich gibt es Drittanbieter-Terminals wie Terminator,

dessen Fläche in mehrere unabhängige Teile unterteilt werden kann.

3 Seien Sie froh, wenn Sie den Satz nicht kennen – er bildet oft den Auftakt zu den sinnlosen »Mein

Betriebssystem ist besser als deines«-Debatten im Heise-Forum.

4 Diese Beschränkung gilt für die veraltete crypt-Verschlüsselung. Bei moderneren Einwegver-

schlüsselungsverfahren wie MD5, SHA1 oder Blowfish kann das Passwort beliebig lang sein.

383

Page 56: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

Wenn Sie sich an der Konsole erfolgreich angemeldet haben, erhalten Sie eine Einga-

beaufforderung (Prompt). Der Prompt kann je nach Konfiguration sehr unterschied-

lich aussehen. In der Regel sehen Sie etwa Folgendes:

user@rechner: ~ $

Statt user wird der Benutzername angezeigt, unter dem Sie sich angemeldet haben;

hinter dem @ steht der Name des Rechners, auf dem Sie gerade arbeiten. Auf diese

Angaben folgt der Pfad des aktuellen Arbeitsverzeichnisses. Im zuvor gezeigten Bei-

spiel befindet sich der Benutzer in seinem Home-Verzeichnis (auf dieses Beispiel

bezogen /home/user), das durch die Tilde gekennzeichnet wird. Das Dollarzeichen

bildet schließlich den Abschluss; dahinter blinkt der Cursor für die Befehlseingabe.

Statt des Dollarzeichens erscheint bei manchen Shells > oder ein anderes Zeichen.

Wenn Sie als Benutzer root angemeldet sind, bekommen Sie einen etwas anderen

Prompt zu sehen; beispielsweise folgenden:

rechner: ~ #

Es wird also kein Benutzername angezeigt, und hinter der Pfadangabe folgt eine

Raute (#) statt des Dollarzeichens. Auch root befindet sich in diesem Beispiel in sei-

nem Home-Verzeichnis, standardmäßig /root.

In den folgenden Beispielen wird der Prompt einfach als Dollarzeichen dargestellt.

Wenn für einen Befehl root-Rechte erforderlich sind, wird dagegen die Raute verwen-

det. Benutzereingaben sind in den Beispielen jeweils fett gesetzt, um sie vom Prompt

und von der Ausgabe des Systems abzusetzen.

7.1.3 Grundfunktionen der Shell

Das Programm, das Ihre Befehle entgegennimmt und zu interpretieren versucht,

wird Shell genannt. Es gibt nicht die Linux-Shell, sondern eine Reihe verschiedener

Shell-Programme, die sich bis zu einem gewissen Grad voneinander unterscheiden.

Höchstwahrscheinlich läuft in Ihrem System eine Shell, die als bash bezeichnet wird.

Geben Sie den folgenden Befehl ein, um herauszufinden, welche Shell Sie ausführen:

$ echo $0

$0 ist eine spezielle Variable, die jeweils den Namen des zurzeit laufenden Pro-

gramms enthält. Die Ausgabe dürfte zum Beispiel /bin/bash oder /bin/sh lauten. Die

gängigsten Shells werden in der folgenden Liste aufgeführt:

� sh oder bsh, die Bourne Shell, benannt nach ihrem Entwickler, war die ursprüngli-

che Shell des Bell-Labs-Unix. Sie beherrscht die kleinste gemeinsame Menge der

Fähigkeiten aller anderen Shells.

384

Page 57: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

� csh, die C-Shell, und ihre Erweiterung tcsh enthalten eine Reihe spezieller Funktio-

nen, die von der Programmiersprache C beeinflusst wurden und besonders den

Bedürfnissen von C-Programmierern entgegenkommen.

� bash, die Bourne Again Shell (ein nettes Wortspiel), ist die GNU-Weiterentwicklung

der ursprünglichen Bourne Shell mit vielen interessanten Zusatzfunktionen.

Diese Shell ist in allen Linux-Distributionen und zum Beispiel auch unter Mac OS

X als Standard voreingestellt. Trotzdem werden alle hier Genannten und meist

noch weitere mitgeliefert.

� ksh, die Korn Shell, ist der offizielle, bei AT&T entwickelte Nachfolger der bsh. Sie

vereint einige Vorteile von Bourne- und C-Shell mit eigenen Erweiterungen. Die

ksh selbst ist nicht frei verfügbar, es gibt aber eine freie Variante namens pdksh

(Public Domain Korn Shell).

� sash, die Stand-alone Shell, ist ein nützliches Hilfsmittel zur Fehlerbehebung:

Viele Standard-POSIX-Dienstprogramme sind direkt in die Shell selbst eingebaut

und brauchen nicht zusätzlich bereitgestellt zu werden. Ihre Namen beginnen

normalerweise mit einem Minuszeichen, um sie von der voll ausgestatteten GNU-

Version dieser Tools zu unterscheiden. Für Rettungssysteme, die vom USB-Stick

oder sogar von der Diskette starten, ist die sash ideal.

Um Missverständnissen vorzubeugen, sollten Sie zunächst verstehen, dass über 90 %

der Eingaben, die Sie an der Kommandozeile vornehmen, unter allen Shells identisch

sind: Es handelt sich nämlich bei diesen Eingaben überhaupt nicht um Shell-Kom-

mandos. Die meisten »Unix-Befehle« sind separate Systemprogramme, die sich für

gewöhnlich im Verzeichnis /bin befinden und mit der Shell nichts zu tun haben. Die

Shells unterscheiden sich insbesondere in der Art und Weise, wie die Funktionen der

Systemprogramme durch intelligente Verknüpfungen erweitert werden können.

UmgebungDie Konfiguration, mit der die Shell (und übrigens auch jedes andere Programm) aus-

geführt wird, heißt Umgebung (Environment). Sie besteht aus der User- und Group-

ID, unter der das Programm läuft, aus dem aktuellen Arbeitsverzeichnis sowie aus

einer Reihe von Umgebungsvariablen, die von dem Programm ausgelesen werden. Die

Shell bezieht ihre Umgebung aus diversen Konfigurationsdateien, insbesondere aus:

� /etc/profile: zentrale Konfigurationsdatei für alle Shells und alle User. Diese Datei

sollte nicht editiert werden; ändern Sie stattdessen ~/.bashrc, oder erstellen Sie

eine benutzerspezifische ~/profile.local.

� /etc/profile.d/*: zentrale Konfigurationsdateien für bestimmte Aspekte einzelner

Shells

� ~/.bashrc: bash-spezifische Einstellungen für einen einzelnen Benutzer in dessen

Home-Verzeichnis

Hintergrund-

prozesse

Beispielsweise wurde erst in der csh die Möglichkeit eingeführt, Programme im Hin-

tergrund zu starten: Wenn Sie ein &-Zeichen an einen Befehl anhängen, gelangt des-

385

Page 58: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

sen Ausgabe nicht auf den Bildschirm, und Sie können sofort den nächsten Befehl

eingeben. Es wird beim Aufruf des Befehls lediglich dessen Prozess-ID ausgegeben.

Inzwischen bieten fast alle Shells diese Option an. Hier sehen Sie ein einfaches Bei-

spiel, in dem die Suche nach Dateien, deren Name mit einem a beginnt, in den Hin-

tergrund verbannt wird:

$ find . -name a* &[1] 3125$

Die Funktion des Befehls find wird im weiteren Verlauf des Kapitels noch genauer

erläutert.

In eckigen Klammern wird eine Job-Nummer angezeigt; dahinter erscheint die PID.

Statt 3125 werden Sie wahrscheinlich eine andere zu sehen bekommen. Mithilfe des

Befehls fg (für »foreground« – nicht etwa »fat grin«, wie in Chats und Foren üblich)

können Sie die Ausgabe des Befehls im Vordergrund fortsetzen. Falls sich mehrere

Prozesse im Hintergrund befinden, müssen Sie die Job-Nummer angeben. Beispiel:

$ fg 1

Ebenso können Sie ein bereits laufendes Programm nachträglich in den Hintergrund

stellen, indem Sie die Tastenkombination (Strg) + (Z) betätigen. Auch in diesem Fall

werden Job-Nummer und PID angezeigt, und Sie können das Programm mit fg

zurückholen.

In der Regel bestehen die Befehle, die Sie eingeben, aus dem Namen des gewünschten

Systemprogramms und einer durch Leerzeichen getrennten Liste von Parametern.

Einige der Parameter sind Optionen, die bei den meisten Befehlen mit einem Minus-

zeichen beginnen, andere geben dagegen konkrete Werte wie Pfad- oder Dateina-

men, Bezeichnungen und Ähnliches an.

Anweisungen werden durch das Drücken von (¢) abgeschlossen und unmittelbar

ausgeführt. Zu lange Eingaben können Sie aber durch einen Backslash (\) und (¢) auf

mehrere Zeilen aufteilen. Hier ein Beispiel, das in allen Dateien des aktuellen Verzeich-

nisses und allen Unterverzeichnissen nach dem Text "in diesem Fall werden Job-Num-

mer und PID angezeigt" sucht:

$ grep -r \> "in diesem Fall werden Job-Nummer und PID angezeigt" \> *

Die Shell sucht nach der Eingabe eines Kommandos in der folgenden Reihenfolge

nach einer Möglichkeit, es auszuführen:

386

Page 59: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

1. alias-Definitionen (siehe Abschnitt 7.3, »Automatisierung«)

2. Shell-Built-ins, das heißt Kommandos, die in das Shell-Binary selbst eingebaut

sind

3. Externe Programme – die in der Umgebungsvariablen PATH angegebenen Ver-

zeichnisse werden der Reihe nach durchsucht.

Falls der eingegebene Befehl an keinem der genannten Orte gefunden wird, erhalten

Sie eine Fehlermeldung. Falls Sie die bash verwenden und irrtümlich das Windows-

Kommando cls zum Bildschirmlöschen eingeben, erhalten Sie beispielsweise diese

Ausgabe:

bash: cls: command not found

Möchten Sie wissen, ob es sich bei einem Kommando um ein Alias, ein Shell-Built-in

oder ein Programm handelt, können Sie type Kommando eingeben. Hier für jeden Typ

ein Beispiel:

$ type lsls is aliased to `/bin/ls $LS_OPTIONS'$ type aliasalias is a shell builtin$ type mkdirmkdir is hashed (/bin/mkdir)

Die System-

variable PATH

Wenn Sie den Namen eines Programms eingeben, sucht die Shell in ganz bestimm-

ten Verzeichnissen nach diesem Programm. Diese Verzeichnisse sind in einer Umge-

bungsvariablen namens PATH festgelegt. Möchten Sie diese Liste lesen, geben Sie

Folgendes ein:

$ echo $PATH/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/share/bin

Der Befehl echo gibt sämtlichen folgenden Text in der nächsten Zeile aus. Das Dollar-

zeichen sorgt dafür, dass die Shell das folgende Wort als den Namen einer Variablen

auffasst, deren Wert ausgegeben werden soll. Beachten Sie, dass Unix-Systeme,

anders als Windows, auch bei Variablennamen zwischen Groß- und Kleinschreibung

unterscheiden und dass diese Variable PATH heißt, nicht etwa Path oder path.

Der Wert der Variablen PATH besteht aus einer Liste von absoluten Pfadangaben (mit

/ beginnend), die durch Doppelpunkte voneinander getrennt werden. In der Praxis

ist die Liste meist erheblich länger als im zuvor gezeigten Beispiel.

Im Folgenden soll ein Verweis auf das aktuelle Verzeichnis hinzugefügt werden. Übli-

cherweise wird ein Programm nämlich nicht einfach ausgeführt, wenn Sie sich in sei-

387

Page 60: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

nem Verzeichnis befinden, sondern nur, wenn dieses Verzeichnis auch in PATH steht.

Um dies zu ändern, können Sie die spezielle Verzeichnisangabe . (einen einzelnen

Punkt) hinzufügen, da dieser Punkt jeweils das aktuelle Verzeichnis repräsentiert.

Falls Sie den Inhalt der Variablen ändern möchten, funktioniert das in den verschie-

denen Shells unterschiedlich. Hier sehen Sie Beispiele für die zuvor genannten

Shells:

� sh, bsh, bash und ksh: export PATH=$PATH:.

� csh und tcsh: set PATH=$PATH:.

Der Wert, der PATH in den beiden Beispielen zugewiesen wird, nämlich $PATH:.,

bedeutet: bisheriger Wert von PATH, Doppelpunkt, anschließender Punkt. Die voll-

ständige Pfadliste aus dem zuvor gezeigten Beispiel sähe nach dieser Änderung fol-

gendermaßen aus:

/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/share/bin:.

In der Praxis sollten Sie sich gut überlegen, ob Sie diese Änderung durchführen

möchten, da sie ein gewisses Sicherheitsrisiko darstellt. Wenn Sie den Punkt angeben

möchten, gehört er auf jeden Fall ans Ende von PATH, weil Ihnen ein Angreifer ansons-

ten ein Programm unterjubeln könnte, das denselben Namen trägt wie ein System-

programm und deshalb stattdessen ausgeführt würde, falls Sie sich im ent-

sprechenden Verzeichnis befinden. Die Verzeichnisse in PATH werden nämlich der

Reihe nach durchprobiert, bis ein Programm mit dem angeforderten Namen gefun-

den wird. Wird es nirgendwo gefunden, erscheint eine Fehlermeldung.

Eingabe-

vervollstän-

digung

Alle modernen Unix-Shells beherrschen die sehr bequeme Funktion der Eingabever-

vollständigung: Wenn Sie einen Befehl oder den Pfad einer Datei eintippen, können

Sie zwischenzeitlich die (ÿ)-Taste betätigen. Wenn der Befehl oder Pfad zu diesem

Zeitpunkt bereits eindeutig ist, also nur noch eine Interpretation zulässt, wird er

komplett ausgeschrieben. Bei Zweideutigkeiten wird er nur zum Teil ergänzt, und es

ertönt ein Warnton. Das folgende Beispiel zeigt, wie Sie aus Ihrem Home-Verzeichnis

schnell in das darunterliegende Verzeichnis dokumente wechseln:

user@rechner: ~ # cd do (ÿ)

user@rechner: ~/dokumente #

Angenommen, in Ihrem Home-Verzeichnis befindet sich ein weiteres Verzeichnis

namens dokumente2. In diesem Fall wird durch (ÿ) zwar das Wort »dokumente«

ergänzt, aber die Shell weiß noch nicht, ob Sie wirklich das Verzeichnis dokumente

meinen oder dokumente2. Deshalb wird der besagte Warnton ausgegeben. Wenn Sie

zweimal (ÿ) drücken, wird in den meisten modernen Shells eine Liste der mögli-

chen Alternativen angezeigt.

388

Page 61: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

Ähnlich komfortabel ist die History aller bereits eingegebenen Befehle. Mit den Pfeil-

tasten auf der Tastatur können Sie darin nach oben oder nach unten blättern; die frü-

heren beziehungsweise späteren Befehle werden dadurch wieder angezeigt. Wenn

der gewünschte Befehl erscheint, können Sie ihn ändern und anschließend mithilfe

von(¢) ausführen.

Neuere Versionen der bash speichern die History übrigens in einer Datei namens

.bash_history in Ihrem Home-Verzeichnis, sodass sie beim nächsten Log-in wieder

zur Verfügung steht.

In der bash können Sie außerdem viele praktische Tastenkürzel verwenden. Es gibt

zwei verschiedene Modi, die nach den im weiteren Verlauf des Kapitels vorgestellten

Texteditoren Emacs und vi benannt sind. Im standardmäßig eingestellten Emacs-

Modus können Sie unter anderem folgende Tastenkombinationen verwenden:

� (æ) oder (Strg) + (B) bewegt den Cursor ein Zeichen nach links; (Æ) oder (Strg) +

(F) navigiert ein Zeichen nach rechts.

� (Alt) + (B) wandert um ein Wort nach links und (Alt) + (F) eines nach rechts; als

Grenze gilt jeweils ein Leerzeichen.

� Mit (Strg) + (A) oder (Pos1) gelangen Sie zum Zeilenanfang, mit (Strg) + (E) oder

(Ende) zum letzten Zeichen der Zeile.

� (Entf) oder (Strg) + (D) löscht das Zeichen unter dem Cursor, während (æ___)

oder (Strg) + (H) das links davon befindliche Zeichen entfernt.

� Mit (Strg) + (W) entfernen Sie ein Wort.

� (Strg) + (K) löscht den Text von der Cursorposition bis zum Zeilenende.

� (Strg) + (U) entfernt den gesamten Inhalt der Zeile.

� (Strg) + (R) startet die inkrementelle Suche nach einem History-Eintrag (inkre-

mentell bedeutet, dass die Eingabe eines Zeichens jeweils sofort zum ersten

infrage kommenden Text springt).

� (Strg) + (Bild_½) beziehungsweise (Strg) + (Bild_¼) ermöglichen das Blättern

im Puffer des Terminal(fenster)s.

� (Strg) + (L) löscht den Bildschirm.

Maus im

Terminal

In modernen Terminalemulationen können Sie einen beliebigen Text durch Ziehen

mit gedrückter linker Maustaste markieren. Ein Klick mit der mittleren Maustaste

oder dem Scrollrad fügt diesen Text dann an der Textcursorposition wieder ein.

Mäuse mit zwei Tasten lassen sich dabei so konfigurieren, dass ein Klick auf beide

Tasten gleichzeitig die mittlere Taste emuliert. Bei den meisten modernen Systemen

funktioniert das Verfahren auch distributionsweit; in GUI-Programmen wird aber

zusätzlich auch die Variante über die Zwischenablage unterstützt – (Strg) + (C) zum

Kopieren beziehungsweise (Strg) + (X) zum Ausschneiden und (Strg) + (V) zum Ein-

fügen.

389

Page 62: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

Wie bereits erwähnt, sollten Sie nicht permanent als User root arbeiten. Mitunter

müssen Sie aber zwischendurch eine Konfigurationsaufgabe erledigen, die nur dem

Superuser gestattet ist. Es ist sicherlich keine sehr bequeme Lösung, sich mithilfe von

logout abzumelden und als root wieder anzumelden. Angenehmer ist zu diesem

Zweck der Befehl su, der für substitute user oder auch superuser steht: Wenn Sie als

gewöhnlicher Benutzer su eingeben, werden Sie nach dem root-Passwort gefragt.

Falls Sie es korrekt eingeben, können Sie nun einzelne Befehle als root ausführen. Mit

exit oder (Strg) + (D) erhalten Sie Ihre normale Shell zurück.

Als root können Sie mit su auch im Namen eines anderen Users agieren, ohne dessen

Passwort zu kennen. Dazu müssen Sie lediglich su Benutzername eingeben.

Wenn Sie nur einen einzigen Befehl als root ausführen möchten, können Sie auch

einfach sudo Kommando eingeben – auch hier werden Sie nach dem Passwort gefragt.

Wie bereits erwähnt, existiert auf Ubuntu, Mac OS X und einigen anderen Systemen

kein echter root-User mehr. Deshalb müssen Sie hier als Standardbenutzer (der bei

der Systeminstallation angelegt wurde) stattdessen Ihr eigenes Passwort eingeben,

um mit su oder sudoroot-Rechte zu bekommen.

7.1.4 Hilfefunktionen

Traditionell ist jedes Unix-System mit einem eingebauten Hilfesystem ausgestattet,

den im vorletzten Kapitel erwähnten Manpages (kurz für manual pages, also Hand-

buchseiten). Bei Linux-Systemen kommt ein neueres, komfortableres System

namens GNU info hinzu. Bei den GNU-Tools, also praktisch allen Systemprogram-

men, sind die info-Seiten in der Regel aktueller und ausführlicher als die Manpages.

Manpages

Eine Manpage liefert Informationen über einen bestimmten Befehl, ein Hilfspro-

gramm oder eine Konfigurationsdatei. Um sie anzuzeigen, wird das Programm man

verwendet. Geben Sie beispielsweise Folgendes ein, falls Sie Hilfe zum Befehl ls benö-

tigen, der Verzeichnisinhalte auflistet:

$ man ls

Zuerst formatiert man die Hilfeseite, was eine Weile dauern kann. Danach wird die

Seite angezeigt (siehe Abbildung 7.4), und Sie können mithilfe der folgenden Tasten,

die vom im Folgenden angesprochenen Pager-Programm less bereitgestellt werden,

darin blättern und navigieren:

� (E), (¢) oder (¼) – eine Zeile weiter

� (Y) oder (½) – eine Zeile zurück

� (F), Leertaste oder (Bild_¼) – eine Fensterseite weiter

390

Page 63: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

� (B) oder (Bild_½) – eine Fensterseite zurück

� (Pos1) – zum Textanfang

� (Ende) – zum Textende

� (/) Suchbegriff (¢) – vorwärts nach dem angegebenen Begriff suchen

� (?) Suchbegriff (¢) – rückwärts suchen

� (N) – nächstes Vorkommen des Suchbegriffs

� (ª) + (N) – nächstes Vorkommen des Suchbegriffs in der jeweils anderen Richtung

� (H) – Hilfeseite zur Bedienung von less

� (Q) – Programm beenden

Abbildung 7.4 Die Manpage zum Befehl »ls« im KDE-Terminal »Konsole«

Jede Manpage gehört zu einer bestimmten Kategorie, die jeweils durch eine der fol-

genden Nummern oder Buchstaben gekennzeichnet werden:

� 0: Include-Dateien für eigene C-Programme (siehe Kapitel 9, »Grundlagen der Pro-

grammierung«)

� 1: Shell-Programme

� 2: Systemaufrufe (Kerneldienste)

� 3: Bibliotheksfunktionen (C-Standardbibliothek und so weiter)

� 4: Beschreibung der Gerätedateien (/dev/*) und anderer Spezialdateien

391

Page 64: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

� 5: Konfigurationsdatei-Formate

� 6: Spiele

� 7: Makros (kombinierte Programme)

� 8: Administrationsbefehle (in der Regel root vorbehalten)

� 9: Kernelroutinen

� n: (new) neue Tools

� l: (local) lokale Tools

� p: (public) öffentliche Tools

� o: (old) veraltete Tools

Die Buchstaben-Sektionen sind veraltet und werden üblicherweise nicht mehr ver-

wendet. Einige optionale Programme benutzen auch eigene Kategorien. Sie müssen

die Kategorie immer dann angeben, wenn es mehrere Einträge mit dem gewünsch-

ten Namen gibt.

In diesem Fall lautet die Syntax man Kategorie Eintrag. Beispiel:

$ man 1 passwd

Der Befehl whatis Eintrag oder man -f Eintrag zeigt sämtliche Manpages mit dem ange-

gebenen Namen an; die Sektionen stehen in Klammern:

$ whatis passwdpasswd (lssl) - compute password hashespasswd (1) - change user passwordpasswd (5) - password file

Die Option man -k String oder das gleichbedeutende Kommando apropos verwendet

den eingegebenen Text dagegen als Teilstring:

$ apropos passwdhtpasswd2 (1) - Manage user files for basic authenticationldappasswd (1) - change the password of an LDAP entrypasswd (1) - change user passwordgpasswd (1) - change group password[...]

GNU info

Das Hilfesystem GNU info wird durch den Befehl info aktiviert. Wenn Sie kein Stich-

wort eingeben, wird der Directory Node angezeigt, in dem Sie eine Übersicht über die

verschiedenen Themen erhalten. Die Tastenkürzel, mit denen Sie in GNU info navi-

gieren können, entsprechen im Großen und Ganzen dem in Abschnitt 7.4.2 vorge-

stellten Editor GNU Emacs. Hier die wichtigsten im Überblick:

392

Page 65: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

� (Strg) + (F) (forward) – ein Zeichen weiter

� (Strg) + (B) (backward) – ein Zeichen zurück

� (Strg) + (N) (next) – eine Zeile weiter

� (Strg) + (P) (previous) – eine Zeile zurück

� (Strg) + (A) – zum Zeilenanfang

� (Strg) + (E) – zum Zeilenende

� Leertaste – eine Bildschirmseite weiter

� (Entf) oder (æ___) – eine Bildschirmseite zurück

� (M) Thema (¢) (menu) – ruft die info-Seite zum angegebenen Thema auf. Falls es zu

dem Wort unter dem Cursor eine Seite gibt, wird diese automatisch eingetragen.

� (N) (next) – eine Seite im aktuellen Oberthema weiterblättern

� (P) (previous) – eine Seite zurückblättern

� (U) (up) – eine Ebene nach oben; die oberste Ebene ist der Directory Node

� (L) (last) – zurück zur vorher angezeigten Seite

� (H) (help) – Hilfe zu info selbst; zurück mit (L)

� (?) – tabellarische Kurzübersicht über info; zurück mit (L)

� (Q) – info beenden

In Abbildung 7.5 sehen Sie als Beispiel die GNU-info-Seite zum Befehl ls.

Abbildung 7.5 Die GNU-info-Seite zu »ls« im KDE-Terminal »Konsole«

393

Page 66: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

7.1.5 Pipes und Ein-/Ausgabeumleitung

Eine der praktischsten Eigenschaften der Unix-Shells besteht in der Umleitung von

Ein- und Ausgabe sowie deren Verkettung. Mit der Ausgabe eines Befehls können Sie

mehr tun, als sie einfach auf dem Bildschirm darzustellen, und die Eingabe muss

nicht unbedingt von der Tastatur stammen: Sie können die Eingabe für einen Befehl

aus einer Datei holen, die Ausgabe in eine Datei schreiben und schließlich die Aus-

gabe des einen Befehls als Eingabe für den nächsten verwenden. Auf diese Weise kön-

nen Sie die einfachen Bausteine der Systembefehle zur Erledigung komplexer

Aufgaben einsetzen.

Ausgabe-

umleitung

Der Befehl ls dient beispielsweise dazu, den Inhalt des aktuellen Verzeichnisses aus-

zugeben. Möchten Sie diesen Inhalt lieber in eine andere Datei schreiben, können Sie

folgendermaßen vorgehen:

$ ls >inhalt.txt

In diesem einfachen Beispiel wird der Inhalt des aktuellen Verzeichnisses nicht auf

den Bildschirm geschrieben, sondern in die Datei inhalt.txt. Diese Datei wird automa-

tisch neu angelegt, falls sie noch nicht existiert, ansonsten wird sie überschrieben.

Wenn Sie die Ausgabe eines Befehls lieber an eine bestehende Datei anhängen möch-

ten, können Sie statt des einen >-Zeichens zwei verwenden (sollte die Datei noch

nicht existieren, wird sie dadurch dennoch angelegt):

$ ls >>inhalt.txt

Eingabe-

umleitung

Auf ähnliche Weise können Sie die Eingabe für einen Befehl aus einer Datei lesen.

Zum Beispiel gibt der Befehl grep alle Zeilen eines eingegebenen Textes zurück, in

Die StandardI/O-Kanäle

Die Standardbibliothek der Programmiersprache C kennt drei Standardkanäle

(Streams) zur Ein- und Ausgabe (Input/Output oder kurz I/O):

�stdin ist die Standardeingabe. Sie ist normalerweise mit der Tastatur verknüpft.

�stdout, die Standardausgabe, wird per Voreinstellung auf die Konsole geleitet.

�stderr schließlich ist die Standard-Fehlerausgabe. Auch sie landet für gewöhnlich

auf der Konsole. Vorteil: Wenn Sie stdout in eine Datei umleiten, werden Fehler-

meldungen noch immer angezeigt.

Da Unix und andere Betriebssysteme in C geschrieben sind, besitzen auch sie diese

Eigenschaften (unter Windows ist es beispielsweise genauso): Die Ein- und Ausga-

beumleitung basiert auf einer Verknüpfung von stdin, stdout beziehungsweise

stderr mit anderen Dateien oder Geräten.

394

Page 67: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

dem ein Suchmuster vorkommt. Falls Sie alle Zeilen der Datei inhalt.txt suchen

möchten, die mindestens ein a enthalten, funktioniert das folgendermaßen:

$ grep a <inhalt.txt

Für den Befehl grep ist diese Schreibweise eigentlich überflüssig, da auch grep Muster

Dateiname unterstützt wird – im vorliegenden Beispiel also:

$ grep a inhalt.txt

Eine interessante Variante der Eingabeumleitung ist das HIER-Dokument. Diese Art

der Eingabe stammt nicht aus einer Datei, sondern nimmt alle eingegebenen Zeilen

bis zu einer speziellen Markierung entgegen. Das folgende Beispiel sucht mithilfe

von grep nach allen Zeilen in der Eingabe, die mindestens ein a enthalten:

% grep a <<ENDE> Hallo> liebe> Welt> ENDE

Die Ausgabe dieser eingegebenen Sequenz lautet folgendermaßen:

Hallo

Die Markierung ENDE bildet das Ende der Eingabe. Die grep-Suchmuster werden im

nächsten Abschnitt behandelt.

PipesEine weitere Variante der Ein- und Ausgabeumleitung ist die sogenannte Pipe

(»Röhre«). Es geht darum, die Ausgabe eines Befehls als Eingabe für den nächsten zu

verwenden. Eine der gängigsten Kombinationen ist die Weiterleitung der umfangrei-

chen Ausgabe bestimmter Befehle an einen Pager – ein Programm, das Inhalte seiten-

weise ausgibt. Der ursprüngliche Unix-Pager wird more genannt, die erheblich

mächtigere Open-Source-Alternative heißt less (Anspielung auf »less is more«, »weni-

ger ist mehr«).

Angenommen, der Inhalt des aktuellen Verzeichnisses ist länger als die Anzahl der

Zeilen Ihres Terminals. In diesem Fall können Sie diesen Inhalt an less weiterleiten:

$ ls |less

Das Pipe-Zeichen | wird auf einer deutschen PC-Tastatur mit der Tastenkombination

(Alt_Gr) + (<) erzeugt; auf dem Mac ist es die Tastenkombination (Alt) + (7).

Das Programm less kann auch den Inhalt einer Datei anzeigen und ist auf diese Weise

ein komfortabler Ersatz für cat, das der Anzeige einer oder mehrerer Dateien im Ter-

395

Page 68: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

minal dient. Im Grunde ist ls |less also eine Kurzfassung für die beiden folgenden

Einzelbefehle:

$ ls >temp.txt$ less temp.txt

Auf ähnliche Weise lässt sich jede Pipe durch zwei Einzelbefehle ersetzen, wobei der

zweite Befehl oft nicht direkt mit einem Dateinamen als Argument aufgerufen wird,

sondern mit einer Eingabeumleitung.

Eine Pipe hat allerdings zwei bedeutende Vorteile gegenüber der Verwendung von

einzelnen Befehlen: Erstens muss keine Zwischendatei erzeugt werden, und zweitens

beginnt der zweite Befehl einer Pipe bereits zu arbeiten, wenn er die erste Zeile aus

der Ausgabe des ersten Befehls erhält.

Eine weitere verbreitete Anwendung für Pipes besteht in der unmittelbaren Filte-

rung einer Ausgabe mithilfe von grep. Das folgende Beispiel gibt nur diejenigen

Dateien im aktuellen Verzeichnis aus, die die Zeichenfolge txt enthalten:

$ ls |grep txt

Hier noch ein Beispiel: Es reicht die Ausgabe von ls an das Kommando wc (Wortzäh-

ler) weiter; die Option -l sorgt dafür, dass nur Zeilen gezählt werden. Das Ergebnis ist

somit die Anzahl der Einträge im aktuellen Verzeichnis:

$ ls |wc -l

Sie können mehrere Kommandos auch durch ein Semikolon getrennt hintereinan-

derschreiben. Dadurch werden sie einfach nacheinander ausgeführt. Das folgende

Beispiel kommt sehr häufig vor. Die meisten Programme, die Sie selbst aus dem

Sourcecode kompilieren können, verwenden diese Sequenz dafür:

# ./configure [Optionen]; make; make install

Ein Nachteil des Semikolons besteht darin, dass auch dann versucht wird, den nächs-

ten Befehl auszuführen, wenn der vorherige fehlschlägt. Abhilfe schafft hier die Ver-

knüpfung mithilfe von && (logisches Und) – der zweite Befehl wird dann nur bei Erfolg

des ersten ausgeführt. Schreiben Sie die Sequenz also am besten wie folgt, um ein

Programm unbeaufsichtigt zu kompilieren:

# ./configure [Optionen] && make && make install

Das Gegenteil besorgt die Verknüpfung durch || (logisches Oder) – hier wird der

zweite Befehl nur dann ausgeführt, wenn der erste fehlschlägt.

396

Page 69: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

Eine letzte Möglichkeit besteht darin, ein Kommando in Backticks (``) einzuschlie-

ßen, um seine Ausgabe in einem anderen Zusammenhang zu verwenden. Hier ein

Beispiel, das die Ausgabe von whoami (Name des aktuell angemeldeten Benutzers) in

einen ganzen Satz integriert:

$ echo "Zurzeit ist `whoami` angemeldet."Zurzeit ist sascha angemeldet.

7.1.6 Die wichtigsten Systembefehle

In Linux und andere Unix-Varianten wurden Unmengen von Systemprogrammen

eingebaut. Es ist vollkommen aussichtslos, an dieser Stelle auch nur die Hälfte hier-

von zu behandeln. In diesem Abschnitt lernen Sie stattdessen die wichtigsten Kom-

mandos mit ihren gängigsten Optionen kennen. Weitere Linux- beziehungsweise

Unix-Befehle werden in reinen Linux- oder Unix-Büchern behandelt; einige empfeh-

lenswerte Titel zu diesem Thema werden in Anhang C, »Kommentiertes Literaturver-

zeichnis«, genannt.

Bevor es losgeht, sollten Sie sich einige wichtige Fakten über die meisten Unix-Sys-

temprogramme merken:

� Im Erfolgsfall erhalten Sie keinerlei Rückmeldung, sondern nur den nächsten

Prompt.

� Dateien werden standardmäßig gelöscht oder überschrieben, ohne zuvor nachzu-

fragen.

� Die meisten Kommandos können mit einer Vielzahl von Optionen aufgerufen

werden, die in der Regel aus einem Minuszeichen und einem Buchstaben (mit

Unterscheidung von Groß- und Kleinschreibung) bestehen. Die GNU-Versionen

der Tools kennen auch Optionen im Langformat – zwei Minuszeichen, gefolgt von

einem ganzen Wort (oder mehreren durch weitere Minuszeichen getrennten Wör-

tern).

Arbeiten mit Dateien und Verzeichnissen

Einige der grundlegenden Befehle in einem Betriebssystem dienen der Manipulation

von Dateien und Verzeichnissen. Wenn Sie eine Übersicht über die Grundbegriffe

eines Linux-Dateisystems benötigen, lesen Sie bitte den Abschnitt »Das virtuelle

Unix-Dateisystem« in Kapitel 5, »Betriebssystemgrundlagen«.

Dateinamen-

muster

Alle Unix-Shells bieten die Möglichkeit, Datei- und Verzeichnisnamen in vielen

Befehlen durch Muster anzugeben, die auf mehrere Dateien passen. In diesen Mus-

tern gibt es die folgenden wichtigen Sonderzeichen (die in Dateinamen verboten

oder zumindest problematisch sind):

397

Page 70: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

� Das * ersetzt beliebig viele Zeichen. h*o steht beispielsweise für »hallo«, »hello«

oder »ho«.

� Das ? steht für genau ein Zeichen. Zum Beispiel bezeichnet te?t sowohl »test« als

auch »text«.

� Mehrere Zeichen in eckigen Klammern, wie [abc], bedeuten, dass genau eines die-

ser Zeichen gemeint ist. Durch einen Bindestrich können Bereiche wie a-z gebildet

werden; mehrere Listen werden einfach hintereinandergeschrieben. Beispiels-

weise bedeutet die Liste [a-zA-Z0-9], dass alle Kleinbuchstaben, alle Großbuchsta-

ben und alle Ziffern zulässig sind.

� Ein Ausrufezeichen vor der Liste in den eckigen Klammern bedeutet, dass jedes

Zeichen außer den nachfolgenden Zeichen in dieser Liste zulässig ist. [!Bb] bedeu-

tet etwa, dass auf keinen Fall ein B erlaubt ist – weder ein groß- noch ein kleinge-

schriebenes.

� Eine durch Kommata getrennte Liste von Zeichenketten in geschweiften Klam-

mern bedeutet, dass eine dieser Zeichenketten erwartet wird. Zum Beispiel bedeu-

tet {info,hinweis,hilfe}.txt, dass eine der drei Dateien info.txt, hilfe.txt oder

hinweis.txt gesucht wird.

� Durch ein Pipe-Zeichen (|) können Sie schließlich mehrere Muster angeben, die

durch »Oder« verknüpft werden. Trifft eines dieser Muster auf eine Datei zu, passt

sie zum Gesamtmuster. Der Ausdruck b*|info* bedeutet beispielsweise: alle

Dateien, die mit »b« oder mit »info« beginnen.

Beachten Sie bitte, dass die »Dateierweiterung« (die Abkürzung hinter dem letzten

Punkt wie etwa txt) unter Unix ein normaler Bestandteil des Dateinamens ist, falls

Sie die Dateimuster unter Windows kennen sollten. In einem Unix-Befehl steht * für

alle Dateien. Unter Windows ist ein * dagegen nur der Platzhalter für Dateien ohne

Erweiterung, während *.* dort für alle Dateien steht (außer in der im vorigen Kapitel

beschriebenen Windows PowerShell).

Diese einfachen Suchmuster für Dateien werden übrigens nicht mit dem bereits

erwähnten Befehl grep verwendet. Die dort zulässigen Muster bieten noch erheblich

mehr Möglichkeiten.

Die folgende Übersicht zeigt die gängigsten Linux-Datei- und Verzeichnisbefehle mit

ihren wichtigsten Optionen:

� cp (steht für copy) kopiert eine oder mehrere Dateien an den angegebenen Ort. Die

Syntax ist grundsätzlich folgende:

cp Quelle Ziel

Die Quelle kann eine einzelne Datei oder ein Muster sein; Sie können alternativ

auch einen Pfad angeben. Das Ziel ist entweder ein einzelner Dateiname (falls Sie

nur eine Datei kopieren) oder ein Verzeichnis, falls im Zielordner bereits ein Ver-

398

Page 71: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

zeichnis mit diesem Namen existiert oder falls Sie als Quelle keine einzelne Datei,

sondern ein Muster angegeben haben. Das folgende Beispiel kopiert die Datei

hallo.txt in eine neue Datei namens hi.txt:

$ cp hallo.txt hi.txt

Das nächste Beispiel kopiert alle Dateien aus dem Verzeichnis briefe in das Ver-

zeichnis dokumente, das im gleichen Verzeichnis liegt wie briefe:

$ cp briefe/* dokumente

� mv (move) dient dazu, Dateien umzubenennen oder in ein anderes Verzeichnis zu

verschieben. Die Syntax lautet folgendermaßen:

mv Quelle Ziel

Die Quelle ist wieder eine einzelne Datei oder ein Muster, das Ziel ist ein völlig

neuer Name oder der Name eines bestehenden Verzeichnisses.

Die folgende Anweisung benennt die Datei vorher.txt in nachher.txt um:

$ mv vorher.txt nachher.txt

Wenn Sie als Quelle ein Muster statt einer einzelnen Datei angeben, muss das Ziel

ein bestehendes Verzeichnis sein. Sie können mehrere Dateien auf einmal nicht

umbenennen, sondern nur verschieben.

� rm (remove) löscht die angegebene Datei, und zwar endgültig. Eine Einrichtung wie

der Windows- oder Mac-Papierkorb ist nicht vorgesehen – lediglich einzelne Desk-

top-Manager wie KDE oder GNOME sind damit ausgestattet.

Das folgende Beispiel löscht alle Dateien aus dem aktuellen Verzeichnis, deren

Name nicht mit a beginnt:

$ rm [!a]*

rm löscht Dateien nur im aktuellen Verzeichnis, aber nicht in dessen Unterver-

zeichnissen. Wenn Sie auch die Inhalte der Unterverzeichnisse löschen möchten,

müssen Sie die Option -r (recurse) einsetzen. Noch effizienter (und gefährlicher!)

ist die zusätzliche Option -f (force), die das Löschen schreibgeschützter Dateien

erzwingt. Der folgende Befehl löscht alle Dateien im aktuellen Verzeichnis und alle

Unterverzeichnisse und sollte nur mit äußerster Vorsicht eingesetzt werden:

$ rm -rf *

Wie hier können Sie übrigens auch bei den meisten anderen Befehlen mehrere

Optionen hinter einem einzelnen Minuszeichen platzieren.

Beachten Sie, dass es sich beim Löschen, Umbenennen oder Verschieben um

Schreibzugriffe handelt, die Sie nur ausführen dürfen, wenn Sie Schreibrechte für

die jeweiligen Verzeichnisse und Dateien besitzen.

� ls (list) zeigt den Inhalt des aktuellen oder des angegebenen Verzeichnisses an, das

heißt alle enthaltenen Dateien und Unterverzeichnisse. Wenn Sie ein Muster

angeben, wird es als Filter verwendet. Existieren Dateien, deren Namen zu diesem

399

Page 72: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

Muster passen, dann werden nur diese angezeigt. Andernfalls werden zusätzlich

zum aktuellen Verzeichnis auch die Inhalte der Unterverzeichnisse angezeigt, auf

deren Namen das Muster passt.

Die folgende Anweisung zeigt beispielsweise alle Dateien an, die mit b beginnen.

Falls es keine gibt, werden alternativ die Inhalte aller Verzeichnisse angezeigt, die

mit b anfangen:

$ ls b*

Eine wichtige Option dieses Befehls ist -l (long), die statt der einfachen Namen

ausführliche Informationen über jeden Verzeichniseintrag ausgibt. Auch -a (all)

wird relativ häufig verwendet, weil es versteckte Dateien und Verzeichnisse ein-

blendet, das heißt diejenigen, deren Namen mit einem Punkt beginnen.

� pwd (print working directory) gibt den vollständigen Pfad des aktuellen Arbeitsver-

zeichnisses an. Dies ist beispielsweise nützlich, um den tatsächlichen Pfad des eige-

nen Home-Verzeichnisses zu ermitteln, der im Prompt durch ~ abgekürzt wird.

� cd (change directory) wechselt in das angegebene Arbeitsverzeichnis. Sie können

den gewünschten Pfad entweder relativ zum aktuellen Arbeitsverzeichnis oder

absolut durch einen vorangestellten Slash (/) angeben. Die folgende Anweisung

wechselt beispielsweise aus /home/user/dokumente in das Verzeichnis /home/

user/briefe:

user@rechner: ~/dokumente $ cd ../briefeuser@rechner: ~/briefe $

Das folgende Beispiel wechselt dagegen mithilfe einer absoluten Angabe von

/home/user/dokumente nach /etc:

user@rechner: ~/dokumente $ cd /etcuser@rechner: /etc $

� mkdir legt ein neues Verzeichnis mit dem angegebenen Pfad an. So richtet etwa die

folgende Anweisung unterhalb des aktuellen Verzeichnisses das neue Verzeichnis

test ein:

$ mkdir test

Beachten Sie, dass bei der Angabe eines mehrgliedrigen Pfads alle Verzeichnisse

außer dem hintersten bereits existieren müssen. Die Option -p (parents) erzeugt

dagegen auch verschachtelte Pfade. Das folgende Beispiel legt im aktuellen Verzeich-

nis die ineinander verschachtelten Verzeichnisse neu, texte, briefe an:

$ mkdir -p neu/texte/briefe

� rmdir (remove directory) löscht Verzeichnisse, allerdings nur leere. Zum Löschen

verschachtelter Verzeichnisbäume wird rm mit der Option -r verwendet.

� chmod (change mode) ändert die Zugriffsrechte für Dateien und Verzeichnisse. Das

Konzept der Dateizugriffsrechte wurde in diesem Kapitel bereits angesprochen. Es

400

Page 73: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

gibt grundsätzlich zwei Möglichkeiten, Rechte für die gewünschten Dateien oder

Verzeichnisse anzugeben: symbolisch oder numerisch.

Die symbolische Schreibweise verwendet zunächst einen Buchstaben für die

Benutzerart, für die ein Recht geändert werden soll: u für den Eigentümer (user), g

für die Gruppe (group), o für andere Benutzer (others) und a für alle genannten auf

einmal. Darauf folgt ein +, um ein bestimmtes Recht einzuräumen, ein -, um es zu

entfernen, oder ein =, um die angegebenen Rechte zu setzen und die anderen zu

entfernen. Zum Schluss werden die eigentlichen Rechte selbst angegeben: r für

Lesen (read), w für Schreiben (write) und x für Ausführen (execute).

Die folgende Anweisung erlaubt beispielsweise allen Benutzern das Lesen der

Datei inhalt.txt:

$ chmod a+r inhalt.txt

Numerische Angaben setzen dagegen den gesamten Rechteblock für die Datei auf

einmal: Die Stellen einer dreistelligen Oktalzahl (gekennzeichnet durch eine vor-

angestellte Null) geben von links nach rechts die Zugriffsrechte für den Besitzer,

die Gruppe und alle anderen an. Der Wert jeder Stelle ist dabei die Summe der

Rechte, die gewährt werden: 4 für Lesen, 2 für Schreiben und 1 für Ausführen.

Das folgende Beispiel erlaubt dem Eigentümer das Lesen, Schreiben und Ausfüh-

ren, allen anderen nur das Lesen und Ausführen des Verzeichnisses test:

$ chmod 0755 test

Die Option -R (großgeschrieben!) führt die gewünschte Änderung nicht nur im

aktuellen Verzeichnis durch, sondern auch in allen Unterverzeichnissen.

� chown (change owner) weist der angegebenen Datei einen neuen Eigentümer zu.

Die Syntax des Befehls ist folgende:

chown User Datei(-muster)

Der User muss ein existierender Benutzer sein; außerdem können Sie diese Ände-

rung nur durchführen, wenn Sie selbst Schreibrechte an dieser Datei haben. Das

folgende Beispiel teilt die Datei info dem Benutzer user zu:

$ chown user info

� chgrp (change group) ändert die Gruppe, zu der eine Datei gehört, und funktioniert

genau wie chown.

Textanzeige und Textmanipulation

Viele der Arbeiten, die Sie im Betriebssystem durchführen, haben in irgendeiner

Weise mit der Manipulation von Textdateien zu tun. In diesem Abschnitt werden

einige der wichtigsten Befehle vorgestellt, die Ihnen die Arbeit mit solchen Dateien

ermöglichen.

401

Page 74: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

� Der bereits erwähnte Befehl echo gibt sämtlichen folgenden Text auf der Konsole

aus. Sie können den gesamten Text oder einen Teil davon in Anführungszeichen

setzen, müssen es aber nicht. Wenn Sie doppelte ("") oder gar keine Anführungs-

zeichen verwenden, werden Variablen mit führendem Dollarzeichen durch ihren

aktuellen Wert substituiert oder Befehle in Backticks ausgeführt. Beispiele:

$ echo Hallo, $USER!Hallo, sascha!$ echo Dateien im aktuellen Verzeichnis: `ls -m`Dateien im aktuellen Verzeichnis: test.txt, hallo.sh, ...

Die ls-Option -m gibt übrigens nur die Dateinamen durch Komma getrennt hin-

tereinander aus.

Einfache Anführungszeichen verhindern dagegen die Substitution:

$ echo '`Backticks` liefern die Befehlsausgabe'`Backticks` liefern die Befehlsausgabe$ echo '$USER' ist zurzeit $USER$USER ist zurzeit sascha

Die Option -n verhindert den Zeilenumbruch nach der Ausgabe:

$ echo -n "Hier kommt der Prompt: "Hier kommt der Prompt: $

� cat (catalog) ist der wichtigste aller Textdatei-Befehle: Er zeigt einfach den Inhalt

der Datei an. Wenn Sie durch Leerzeichen getrennt eine Liste von Dateien angeben

(oder ein Muster), werden die Inhalte aller genannten Dateien hintereinander

angezeigt. Dies ist übrigens eine einfache Möglichkeit, mehrere Textdateien in

eine einzige zusammenzufassen. Die folgende Anweisung schreibt die Dateien

teil1 und teil2 in eine neue Datei namens kapitel:

$ cat teil1 teil2 >kapitel

Sie können cat mithilfe der Ausgabeumleitung und mit einem HIER-Dokument

sogar als einfachen Editor für eine neue Textdatei verwenden. Allerdings können

Sie die einzelnen Zeilen nach dem Abschluss durch (¢) nicht mehr ändern. Die

folgende Anweisung startet die Eingabe der Datei neu.txt, der Befehl ENDE schließt

sie ab:

$ cat > neu.txt << ENDE> Neuer Text> Noch mehr Text> ENDE

� Der Befehl head Textdatei zeigt nur den Beginn einer Datei an; standardmäßig die

ersten zehn Zeilen. Mit der Option -Anzahl können Sie die Zeilenzahl auch wählen.

Das folgende Beispiel gibt die ersten sieben Zeilen der Datei test.txt aus:

$ head –7 test.txt

402

Page 75: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

� Das Kommando tail zeigt umgekehrt das Ende einer Datei an. Dies ist ideal, um in

einer Log-Datei nach einem kürzlich aufgetretenen Fehler zu suchen. Hier ein Bei-

spiel, das die letzten 20 Zeilen der Haupt-Log-Datei /var/log/messages ausgibt:

$ tail –20 /var/log/messages

Die Option -f zeigt die letzten zehn Zeilen an und hält danach die Ausgabe offen,

um jede neu hinzukommende Zeile automatisch auszugeben.

� less ist die erweiterte GNU-Version des Unix-Pagers more. Das Programm gibt

seine Eingabedaten bildschirmseitenweise aus. Das folgende Beispiel gibt die

Datei roman auf diese Weise aus:

$ less roman

Wenn das untere Ende des Bildschirms beziehungsweise des Terminalfensters

erreicht ist, erscheint ein entsprechender Hinweis. An dieser Stelle haben Sie ver-

schiedene Möglichkeiten, unter anderem folgende:

– Die Leertaste blättert eine ganze Bildschirmseite weiter.

– (¢) blättert nur eine einzelne Zeile weiter.

– (B) blättert eine Bildschirmseite zurück.

– (Q) beendet less.

Weitere Optionen finden Sie zuvor in der Beschreibung zu man, da es die Manpages

mithilfe von less anzeigt.

Statt eine oder mehrere Dateien als Parameter anzugeben, wird less auch häufig

über eine Pipe zur seitenweisen Ausgabe der Ergebnisse anderer Befehle einge-

setzt. Das folgende Beispiel gibt den Inhalt der ausführlichen Verzeichnisanzeige

ls-l seitenweise aus:

$ ls -l |less

� grep (General Regular Expression Print) sucht in Dateien oder in seiner Eingabe nach

Mustern und gibt nur diejenigen Zeilen aus, die das entsprechende Muster enthal-

ten. Bei den verwendeten Mustern handelt es sich um sogenannte reguläre Ausdrü-

cke (Regular Expressions, RegExp). Diese mächtige Syntax für die Formulierung

von Suchmustern wird in zahlreichen Programmiersprachen, Editoren und Tools

verwendet. In Kapitel 10, »Konzepte der Programmierung«, werden die RegExp-

Optionen der Programmiersprachen Perl und Ruby ausführlich vorgestellt.

Wenn Sie beispielsweise in der Datei test nach Zeilen suchen möchten, die das

Wort »hallo« enthalten, funktioniert dies folgendermaßen:

$ grep hallo test

Die Option -r erlaubt die rekursive Suche im aktuellen Verzeichnis und allen

Unterverzeichnissen. Dabei wird jeweils der Pfad der Datei angezeigt, in der das

gesuchte Muster gefunden wird. Das folgende Beispiel sucht in allen Dateien des

aktuellen Verzeichnisbaums nach dem Wort »Linux«:

403

Page 76: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

$ grep -r Linux *

Mit der Option -i sorgen Sie dafür, dass bei der Suche nicht zwischen Groß- und

Kleinschreibung unterschieden wird; der vorige Befehl lautet in diesem Fall so:

$ grep -ri linux *

Alternativ wird grep häufig über eine Pipe als Filter eingesetzt. Möchten Sie zum

Beispiel alle Dateien im aktuellen Verzeichnis angezeigt haben, deren Name mit a

beginnt, können Sie Folgendes eingeben:

$ ls |grep ^a

Beachten Sie, dass es bei den Mustern größere Unterschiede zu den Dateimustern

der meisten Befehle gibt; RegExp-Muster sind erheblich vielseitiger als Letztere.

Tabelle 7.2 zeigt eine Übersicht der wichtigsten.

Wenn Sie irgendeins der Zeichen aus der Tabelle als Literal benötigen, also als tat-

sächliches Zeichen in einem Text, müssen Sie ihm einen Backslash (\) voranstel-

len. \+ steht beispielsweise für ein Pluszeichen. Derartige Konstrukte werden in

der Shell und in vielen Programmiersprachen als Escape-Sequenzen bezeichnet.

Muster (Beispiel) Erläuterung

Abc der Text »abc«

[abc] eines der Zeichen a, b oder c

[a-z] eines der Zeichen von a bis z

[a-mz0-9] eines der Zeichen von a bis m oder z oder eine der Ziffern 0 bis 9

[^abc] keines der angegebenen Zeichen

. ein beliebiges Zeichen

? das davorstehende Muster oder nicht

* das davorstehende Muster beliebig oft

+ das davorstehende Muster einmal oder öfter

{2} das davorstehende Muster genau zweimal

{2,5} das davorstehende Muster mindestens zweimal, höchstens

fünfmal

^[Aa] Am Zeilenbeginn (^) steht ein großes A oder ein kleines a.

[0-9]$ Am Zeilenende ($) steht eine Ziffer.

Tabelle 7.2 Die wichtigsten RegExp-Muster für »grep«

404

Page 77: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

Angenommen, Sie suchen in einem Text nach deutschen Postleitzahlen. Das pas-

sende Muster lautet [0-9]{5}, weil genau fünf Ziffern (Zahlen zwischen 0 und 9)

benötigt werden. Wenn Sie sicher sind, dass die Postleitzahl jeweils am Anfang der

Zeile steht, können Sie präziser ^[0-9]{5} schreiben.

Wichtig ist, dass * und ? nicht dasselbe bedeuten wie bei den Dateimustern: Sie

beziehen sich stets auf das links daneben stehende Zeichen oder Teilmuster und

geben an, wie oft es vorkommen darf.

Das folgende Beispiel zeigt, wie Sie in der Datei adressen.txt nach Personen suchen

können, die »Meier« heißen, und zwar in allen erdenklichen Schreibweisen:

grep M[ae][iy]e?r adressen.txt

Der reguläre Ausdruck bedeutet: Zuerst kommt ein M, dann ein a oder e, anschlie-

ßend ein i oder y, dann ein e oder auch nicht und zum Schluss ein r. Dieses Such-

muster findet die Varianten »Maier«, »Mayer«, »Mayr«, »Meier« und »Meyer«

sowie drei weitere, die aber wohl nicht häufig in einer Adressliste auftauchen

(»Mair«, »Meir« und »Meyr«).

� diff vergleicht die Inhalte zweier Textinhalte miteinander. Als Argumente werden

die Namen der beiden Dateien genannt; die Ausgabe besteht aus denjenigen Zei-

len, die in den beiden Dateien unterschiedlich sind. Dies ermöglicht die Analyse

der Unterschiede zwischen verschiedenen Versionen eines Dokuments. Außer-

dem können Sie eine diff-Datei als Update für eine Datei auf eine neuere Version

(einen sogenannten Patch) verbreiten. Mit dem Kommando patch kann ein Benut-

zer sie dann auf die alte Datei anwenden.

� wc (word count) zählt die Zeichen, Wörter und Zeilen in einer Textdatei. Standard-

mäßig werden alle drei Werte angezeigt; alternativ kann die Ausgabe mithilfe der

Optionen -c (characters), -w (words) oder -l (lines) auf einen von ihnen beschränkt

werden. Sie können den Befehl auch über eine Pipe auf eine beliebige Ausgabe

anwenden.

Befehle zur Systemverwaltung

Die Befehle in diesem Abschnitt sind wichtig für die Wartung und Verwaltung des

Betriebssystems.

� mount wurde in Kapitel 5, »Betriebssystemgrundlagen«, bereits angesprochen. Der

Befehl hängt einen Datenträger in den Verzeichnisbaum ein. Anders können

Datenträger nicht verwendet werden. Die grundlegende Syntax lautet folgender-

maßen:

mount [Dateisystemtyp] Gerätedatei Verzeichnis

Das angegebene Verzeichnis muss existieren und leer sein – notfalls müssen Sie

mithilfe von mkdir ein neues erzeugen. Die wichtigsten Gerätedateien – alle im

Verzeichnis /dev – sind folgende:

405

Page 78: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

– hda bis hdd sind die vier EIDE-Geräte in der Reihenfolge Primary Master, Pri-

mary Slave, Secondary Master und Secondary Slave. Falls es sich um Festplatten

handelt, muss zusätzlich die Nummer der gewünschten Partition angegeben

werden (hda1 ist beispielsweise die erste Partition der ersten Festplatte).

– cdrom ist eine alternative Methode, das CD-ROM-Laufwerk anzusprechen.

– sda, sdb und so weiter sind die entsprechenden SCSI-Festplatten in der Reihen-

folge ihrer SCSI-IDs. Auch USB-Sticks und externe Festplatten besitzen meist

sd*-Gerätenamen.

– fd0 ist das Diskettenlaufwerk. Theoretisch steht fd1 für das zweite Laufwerk,

allerdings benutzt kaum noch jemand zwei Diskettenlaufwerke (die meisten

aktuellen Rechner haben gar keines mehr).

Das folgende Beispiel bindet die aktuell im Diskettenlaufwerk befindliche Diskette

als Verzeichnis /disk in das Dateisystem ein:

$ mount /dev/fd0 /disk

Die Datei /etc/fstab enthält übrigens eine Liste derjenigen Laufwerke, die beim

Systemstart automatisch gemountet werden. Moderne Linux-Distributionen

mounten übrigens auch CDs, DVDs, USB-Sticks oder externe Festplatten beim

Einlegen oder Anschließen automatisch, oft unter dem Pfad /media/Datenträger-

name.

� umount entfernt die Verknüpfung mit einem bestimmten Laufwerk wieder. Vorher

wird noch dafür gesorgt, dass alle Daten geschrieben werden, die eigentlich auf

dieses Laufwerk gehören, sich aber zurzeit im RAM-Cache befinden. Vor dem Ent-

fernen von Wechseldatenträgern sollten Sie umount auf jeden Fall aufrufen.

Als Argument für den Befehl kann sowohl das Verzeichnis angegeben werden, in

dem der gewünschte Datenträger gemountet ist, als auch die Gerätedatei selbst.

� du (disk usage) gibt in Kilobyte an, wie viel Speicher in den angegebenen Verzeich-

nissen belegt ist.

Die Option -c gibt zusätzlich eine Gesamtsumme für die verschiedenen Verzeich-

nisse aus, während -h (human-readable) das Ganze in angenehmerer Form dar-

stellt.

� fsck (file system check) überprüft den angegebenen Datenträger auf Fehler. Als

Argument muss eine Gerätedatei angegeben werden. Vor jedem Reparaturver-

such wird nachgefragt.

Beim Systemstart wird fsck in regelmäßigen Abständen (zum Beispiel jedes zwan-

zigste Mal) aufgerufen, um eine gelegentliche Prüfung zu gewährleisten. Außer-

dem wird es auf jeden Fall nach einem Systemabsturz gestartet.

Moderne Linux-Dateisysteme wie ext4 (das Extended File System 4) besitzen eine

sogenannte Journaling-Funktionalität: Es wird ständig über Änderungen an

406

Page 79: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

Dateien und Verzeichnissen Buch geführt. Nach einem Absturz kann daraus der

letzte Zustand des Dateisystems rekonstruiert werden.

� mkfs (make file system) dient dem Formatieren eines Datenträgers mit einem

bestimmten Dateisystem. Der gewünschte Typ des Dateisystems kann mithilfe

der Option -t angegeben werden. Beispiele sind etwa das traditionelle Linux-

Dateisystem ext2 sowie die neueren Typen ext3 oder ext4. Der Datenträger wird als

Gerätedatei oder über sein Mount-Verzeichnis angegeben.

Im Grunde handelt es sich um einen Starter für die konkreten Formatierpro-

gramme der einzelnen Dateisysteme wie mke2fs, mke3fs, mke4s oder mkisofs

(Letzteres erzeugt ISO-9660-Images, die zum Brennen auf CD verwendet werden).

� date dient der Ausgabe und der Änderung von Systemdatum und Systemuhrzeit.

Wie Sie in Kapitel 3, »Hardware«, erfahren haben, enthalten PC-Mainboards eine

batteriegepufferte Uhr.

Wenn Sie Datum und Uhrzeit einfach lesen möchten, genügt die Eingabe von date.

Alternativ geben Sie hinter einem Pluszeichen ein Format an, in dem eine Reihe

von Formatangaben für die einzelnen Komponenten von Datum und Uhrzeit

steht. Alle diese Angaben beginnen mit einem Prozentzeichen. Die wichtigsten

sind in Tabelle 7.3 aufgelistet.

Formatangabe Bedeutung

%d Tag im Monat (01 bis 31)

%m numerischer Monat (01 bis 12)

%y zweistellige Jahreszahl

%Y vierstellige Jahreszahl

%a Kurzfassung des Wochentags (zum Beispiel Tue)

%A ausgeschriebener Wochentag (etwa Tuesday)

%H Stunden im 24-Stunden-Format

%I Stunden im 12-Stunden-Format

%p AM und PM für das Zwölf-Stunden-Format

%M Minuten

%S Sekunden

Tabelle 7.3 Die wichtigsten Formatangaben für den date-Befehl

407

Page 80: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

Sehen Sie sich als Beispiel den folgenden Befehl an:

$ date +"Es ist jetzt %H:%M:%S Uhr."

Die Ausgabe sieht etwa folgendermaßen aus:

Es ist jetzt 17:52:31 Uhr.

Sie können die Bestandteile von Datum und Uhrzeit also in einem beliebigen Aus-

gabetext verwenden.

Falls Sie Datum und Uhrzeit ändern möchten, müssen Sie statt des Formats eine

Zeitangabe hinzufügen. Eine solche Angabe hat das folgende Format:

MMDDhhmm[YY]YY[.ss]

Es werden also nacheinander der zweistellige Monat, der zweistellige Tag, die zwei-

stellige Stunde im 24-Stunden-Format, die zweistellige Minute, das zwei- oder

vierstellige Jahr und optional die durch einen Punkt abgetrennten zweistelligen

Sekunden angegeben. Das folgende Beispiel setzt Datum und Uhrzeit auf den

09. April 2013, 16:40 Uhr:

$ date 040916402013

� useradd erstellt ein neues Benutzerkonto unter Linux. Auf den meisten anderen

Unix-Systemen gibt es sehr ähnliche Kommandos, die manchmal anders heißen.

Standardmäßig ist das Home-Verzeichnis dieses Benutzers /home/Username. Mit-

hilfe der Option -d Pfad können Sie ein anderes Verzeichnis angeben. In jedem Fall

sorgt die Option -m dafür, dass das Home-Verzeichnis neu angelegt wird, falls es

noch nicht existiert.

Die numerische User-ID wird standardmäßig automatisch eingestellt; es wird der

erste freie Wert größer oder gleich 100 gewählt. UIDs unter 100 sind für System-

konten vorgesehen, das heißt für Benutzerkonten, die für die Ausführung von Sys-

tem- und Serverdiensten verwendet werden; die 0 steht für root. Wenn Sie die UID

manuell angeben möchten, funktioniert das mithilfe von -u UID. Falls die angege-

bene User-ID bereits existiert, erscheint eine Fehlermeldung, es sei denn, Sie

geben zusätzlich die Option -o an, die den bisherigen User mit dieser UID über-

schreibt.

Mithilfe der Option -g Gruppe wird die Gruppe angegeben, der der Benutzer stan-

dardmäßig angehören soll – ohne Angabe wird automatisch users eingestellt. Mit-

hilfe von-G Gruppe1, Gruppe2,... können Sie eine durch Kommata getrennte Liste

weiterer Gruppen angeben, denen der Benutzer zusätzlich angehören soll. Diese

Liste darf keine Leerzeichen enthalten.

Die Option -s Pfad gibt die Shell an, die dem User präsentiert werden soll; der Stan-

dardwert ist /bin/bash.

408

Page 81: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.1 Arbeiten mit der Shell

Das folgende Beispiel zeigt, wie das Verzeichnis /home/neuer angelegt wird und

wie Sie anschließend den Benutzer neuer mit der Log-in-Shell /bin/tcsh einrichten

können:

# mkdir /home/neuer# useradd -g users -s /bin/tcsh neuer

� userdel Benutzername entfernt den angegebenen Benutzer.

� groupadd fügt unter Linux eine neue Gruppe hinzu. Die einzige Option ist -g GID,

mit deren Hilfe Sie die (ansonsten automatisch vergebene) Group-ID manuell ein-

stellen können. Wie bei useradd dient in diesem Zusammenhang die Option -o

dazu, eine eventuell bestehende Gruppe mit derselben Group-ID zu überschreiben.

� passwd dient zum Ändern von Passwörtern. Wenn Sie den Befehl ohne Argument

aufrufen, dient er zum Ändern Ihres eigenen Passworts: Sie müssen zunächst Ihr

altes und anschließend zweimal hintereinander das neue Passwort eingeben. Die

Eingabe wird jeweils nicht angezeigt.

Eine weitere Möglichkeit, die dem User root vorbehalten ist, besteht darin, passwd-

Username aufzurufen, um das Passwort eines anderen Benutzers zu ändern. Sie

müssen das alte Passwort dieses Users nicht kennen, sondern werden nur aufge-

fordert, zweimal ein neues einzugeben. Beachten Sie die in diesem Kapitel bereits

gegebenen Informationen über sichere Passwörter. Der Befehl passwd gibt zwar bei

vielen zu einfachen Passwörtern die Warnmeldung »Bad Password. Too simple«

aus, akzeptiert das Passwort aber dennoch.

� ps gibt eine Tabelle aller laufenden Prozesse aus. Falls Sie keine Parameter ange-

ben, werden nur die Prozesse des aktuellen Terminals angezeigt. Für eine vollstän-

dige Liste aller Prozesse müssen Sie ps aux verwenden. Abbildung 7.6 zeigt ein

Beispiel für die Ausgabe dieses Befehls.

Die wichtigste Information, die Sie der Tabelle entnehmen können, sind die PIDs

der einzelnen Prozesse, weil Sie sie verwenden können, um einem Prozess mit-

hilfe des Befehls kill ein Signal zu senden.

Die meisten Prozesse, die Sie in der Liste sehen, sind keine Programme, die Sie

manuell gestartet haben. Viele von ihnen laufen unbemerkt im Hintergrund und

stellen ihre Dienste bestimmten Anwendungen zur Verfügung. Diese Prozesse

werden Daemons genannt, ihre Dateinamen enden meist auf d: Beispielsweise ist

syslogd der im weiteren Verlauf des Kapitels beschriebene Protokoll-Daemon, der

über die wichtigsten Ereignisse Buch führt.

� Eine interessante Variante von ps ist pstree: Statt ausführlicher Informationen

über die einzelnen Prozesse werden nur deren Namen angezeigt, dafür aber in

einem Baumdiagramm. Auf diese Weise können Sie die Hierarchie von Elternpro-

zessen und ihren Kindern ermitteln.

409

Page 82: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

� Wenn Sie den Eindruck haben, dass der Rechner besonders langsam läuft, können

Sie das Kommando top eingeben – es zeigt eine Live-Statistik der laufenden Pro-

zesse an, geordnet nach ihrem prozentualen CPU-Verbrauch. Mit (Q) wird das Pro-

gramm wieder beendet.

Abbildung 7.6 Beispielausgabe von »ps aux«

� kill dient dazu, einem Prozess ein Signal zu senden. Das gewünschte Signal wird

dabei hinter der Option -s angegeben; entweder numerisch oder mit seinem

Namen. Wichtige Signale sind beispielsweise TERM zum regulären Beenden, KILL

für einen erzwungenen Abbruch oder INT für eine Unterbrechung (Interrupt).

Wenn Sie kein Signal angeben, wird automatisch TERM gesendet. Der Befehl kill-l

gibt eine Liste sämtlicher Signale aus, die Ihre Version von kill unterstützt.

Der Prozess wird durch seine numerische PID angegeben, wie sie von ps zurückge-

geben wurde. Viele Anwendungen, besonders Daemons, schreiben ihre aktuelle

PID in eine PID-Datei, entweder unter /var/run/Programmname.pid oder in einem

anwendungsspezifischen Verzeichnis wie /usr/local/Programmname/logs. Diese

Datei können Sie auslesen und ihren Inhalt in Backticks (``) an kill weiterreichen.

Das folgende Beispiel beendet auf diese Weise einen unter /usr/local/apache2

installierten Apache-Webserver:

# kill -TERM `cat /usr/local/apache2/logs/httpd.pid`

410

Page 83: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.2 Konfigurations- und Administrationsaufgaben

Als gewöhnlicher Benutzer können Sie nur Prozesse beenden, die unter Ihrer User-

ID laufen, für alle anderen benötigen Sie root-Rechte.

� shutdown fährt das Betriebssystem herunter oder startet es neu. Für das Herunter-

fahren wird die Option -h (halt) verwendet, für einen Neustart -r (restart). Dahin-

ter wird angegeben, wann die Aktion durchgeführt werden soll. Dafür stehen drei

mögliche Optionen zur Verfügung:

– als Uhrzeit im Format hh:mm, zum Beispiel 13:45

– als Anzahl von Minuten in der Schreibweise +m, etwa +5

– now (jetzt sofort)

Für den Befehl benötigen Sie root-Rechte. Das folgende Beispiel fährt den Rechner

sofort herunter:

$ shutdown -h now

7.2 Konfigurations- und Administrationsaufgaben

Nachdem Sie sich mithilfe der in diesem Kapitel bereits erläuterten Anleitungen ein

wenig im Linux-System umgeschaut haben, sollten Sie noch einige fortgeschrittene

administrative Aufgaben kennenlernen. In diesem Abschnitt erfahren Sie, wie Sie

mit Log-Dateien umgehen, Programme automatisch starten, Software installieren

und einen Kernel kompilieren.

7.2.1 Syslog und Log-Dateien

Das Betriebssystem selbst und viele Programme, vor allem Daemons, schreiben Sta-

tusinformationen und Fehlermeldungen in Log-Dateien, auch Protokolldateien

genannt. Dafür ist der Syslog-Daemon (syslogd) zuständig. Er erhält Protokollinfor-

mationen vom System und von diversen Programmen und entscheidet darüber, ob

er sie ignoriert, in bestimmte Log-Dateien schreibt oder per Mail versendet.

Syslog-Meldungen bestehen aus drei Komponenten:

� Facility (Fehlerquelle)

� Priority (Dringlichkeitsstufe)

� Message (Warnmeldung)

Die Facility gibt an, von welcher Art Programm oder welcher Systemfunktion der Ein-

trag stammt. Hier die Standardquellen im Überblick:

� auth – Authentifizierung

� authpriv – privilegierte Authentifizierung (root)

� cron – cron-Daemon

411

Page 84: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

� daemon – sonstige Daemons

� ftp – FTP-Server

� kern – Kernel

� local0 bis local7 – frei verfügbar für beliebige Programme

� lpr – Drucker-Subsystem

� mail – Mail-Subsystem

� news – News-Subsystem

� syslog – interne Syslog-Meldungen

� uucp – UUCP-Subsystem5

� user – Anwendungsprogramme

Die Priority bestimmt die Wichtigkeit der jeweiligen Meldung:

� emerg – Notfall, System unbrauchbar

� alert – Alarm, sofortiges Eingreifen erforderlich

� crit – kritischer Fehler

� error – normaler Fehler

� warn – Warnung

� notice – Hinweis

� info – normale Information

� debug – Debugging-Information

Die Message ist ein beliebiger Beschreibungstext.

In eigenen Shellskripten können Sie den Befehl logger benutzen, um Syslog-Meldun-

gen zu erzeugen. Die allgemeine Syntax lautet:

logger [-p [facility:]priority] message

Geben Sie Folgendes ein, um es zu testen:

$ logger -p info Nur Test, kein Fehler

Da Sie keine Facility angegeben haben, steht die Meldung in /var/log/messages:

$ tail –1 /var/log/messagesApr 23 18:51:32 linuxbox sascha: Nur Test, kein Fehler

5 Unix-to-Unix-Copy ist ein altmodisches Verfahren für Mail und Datenübertragung im Netzwerk,

das noch vor der Internet-E-Mail erfunden wurde.

412

Page 85: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.2 Konfigurations- und Administrationsaufgaben

7.2.2 Programme automatisch starten

Linux und andere moderne Unix-Systeme verfügen über die Möglichkeit, beliebige

Programme beim Booten automatisch zu starten. Ein kleines Problem besteht nur da-

rin, dass dieses Verfahren in den verschiedenen Systemvarianten unterschiedlich rea-

lisiert wurde. Historisch betrachtet lässt sich der Unterschied auf die beiden Unix-

Grundströmungen System V und BSD zurückführen, inzwischen zieht er sich aber –

und dann auch noch mit einigen Variationen bezüglich der Verzeichniswahl – quer

durch die Systeme und Distributionen (zumal es immer schwieriger wird, zu unter-

scheiden, welche aktuellen Systeme von System V abstammen und welche von der

BSD).

Hier wird zunächst jedes der beiden grundsätzlichen Verfahren kurz vorgestellt;

anschließend wird es konkret am Beispiel des Webservers Apache demonstriert.

� System V Init. Diese Bootmethode wird von immer mehr Betriebssystemen der

Unix-Familie verwendet, unter anderem auch von Linux. Systeme, die System V

Init einsetzen, arbeiten mit unterschiedlichen Runlevels. Ein Runlevel ist ein Sys-

temzustand, in dem jeweils nur bestimmte Prozesse laufen. Beim Wechsel des

Runlevels über den Befehl init LEVELNUMMER werden bestimmte Skripte aufgerufen,

die manche Programme starten und andere beenden. Einige Runlevel haben eine

spezielle Bedeutung:

– 0: heruntergefahrener Zustand

– S (manchmal auch 1): Single-User-Modus (für Wartungsarbeiten)

– 1 (bei vielen Systemen): Multi-User-Modus ohne Netzwerk

– 2: Multi-User-Modus mit Netzwerk; nur Konsole

– 3: Multi-User-Modus mit Netzwerk und GUI (klassisch)

– 5: Multi-User-Modus mit Netzwerk und GUI (Linux)

– 6: Systemneustart (Reboot)

Betriebssysteme dieser Bauart besitzen für jedesRunlevel ein spezielles Init-Ver-

zeichnis. Diese Verzeichnisse heißen /etc/rcLEVELNUMMER.d, also etwa /etc/rc1.d

für Runlevel 1 oder /etc/rc5.d für Runlevel 5. Die Shell-Skripte in diesen Verzeich-

nissen werden bei Erreichen des entsprechenden Levels automatisch ausgeführt,

und zwar in alphabetischer Reihenfolge. Deshalb verwendet die übliche Konven-

tion Namen, die mit K beginnen, für Kill-Skripte (die einen Prozess beenden) und

solche mit S für Start-Skripte. Darüber hinaus bauen viele Daemons aufeinander

auf. Deshalb wird hinter dem Anfangsbuchstaben eine zweistellige Zahl verwen-

det, die für eine bestimmte Reihenfolge sorgt.

In aller Regel sind die Einträge in diesen Verzeichnissen lediglich Symlinks auf

Skripte, die sich eigentlich in einem anderen Verzeichnis befinden; meist in /etc/

init.d oder /sbin/init.d. Für den Start und das Beenden des jeweiligen Prozesses

413

Page 86: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

wird normalerweise dasselbe Skript verwendet: Ein S-Symlink ruft es automatisch

mit der Kommandozeilenoption start auf, ein K-Symlink mit stop. Im Falle von

Apache erfüllt das mitgelieferte Shell-Skript apachectl die Voraussetzungen für

diese Aufgabe.

Aus diesem Grund brauchen Sie lediglich für Ihr Standard-Runlevel (3 oder 5)

einen S-Symlink auf dieses Skript zu erzeugen. Für die Runlevel 0 und 6 (Herunter-

fahren beziehungsweise Neustart) können Sie entsprechend einen K-Link anlegen.

Da von Apache in der Regel keine anderen Dienste abhängen, können Sie ihn recht

spät starten (wählen Sie einen Symlink-Namen wie S95apache) und ziemlich früh

beenden (K15apache dürfte in Ordnung gehen).

Begeben Sie sich also in das jeweilige Runlevel-Init-Verzeichnis, und erstellen Sie

die nötigen symbolischen Links. Falls Sie Apache mit Standardoptionen installiert

haben und ein Linux-System mit dem Standard-Runlevel 5 verwenden, müssen

Sie den folgenden Befehl für den Startskript-Link eingeben:

# ln -s /usr/local/apache2/bin/apachectl \/etc/rc5.d/S95apache

Als Nächstes werden die Stopp-Links für die Runlevel 0 und 6 erzeugt. Wenn Sie

das Layout Apache verwenden, sehen die beiden Befehle so aus:

# ln -s /usr/local/apache2/bin/apachectl \/etc/rc0.d/K15apache# ln -s /usr/local/apache2/bin/apachectl \/etc/rc6.d/K15apache

In modernen Linux-Distributionen lässt sich dieser Vorgang weitgehend automa-

tisieren, zumal die meisten wichtigen Programme bereits passende Startskripte

mitbringen. Erzeugen Sie unter /etc/init.d einen Symlink zum passenden Start-

skript, und rufen Sie anschließend chkconfig -a mit dem Namen des Links auf, um

das Skript in seinen Standard-Runlevels zu aktivieren. Das folgende Beispiel zeigt

die Vorgehensweise für den Datenbankserver MySQL, wenn er unter /usr/local/

mysql installiert ist (siehe Kapitel 12, »Datenbanken«):

# ln -s /usr/local/mysql/support-files/mysql.server \> /etc/init.d/mysql# chkconfig -a mysql

� BSD-Startskript. BSD-basierte Unix-Systeme verwenden im Gegensatz zur System-

V-Methode einige zentrale Startskripte. Sie befinden sich in Verzeichnissen wie

/etc oder /etc/rc.d und heißen rc.boot, rc.local und so weiter. Interessant ist in die-

sem Zusammenhang das Skript rc.local, das Sie nach Belieben um weitere Startbe-

fehle erweitern können.

Unter einem solchen Betriebssystem brauchen Sie rc.local also nur mit einem

Texteditor zu öffnen und können dann den Aufruf des entsprechenden Steuer-

414

Page 87: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.2 Konfigurations- und Administrationsaufgaben

skripts (in diesem Fall apachectl) mit dem Parameter start hinzufügen. In rc.local

wird normalerweise mit einer Fallunterscheidung nach dem Schema if [-xPFAD]

überprüft, ob das aufzurufende Programm oder Skript überhaupt existiert. An

diese Konvention sollten Sie sich halten. Falls Sie eine Apache-Standardinstalla-

tion verwenden, können Sie folgende Zeilen an rc.local anfügen:

# Apache 2 startenif [ -x /usr/local/apache2/bin/apachectl ]; then

echo "Starting Apache httpd..."/usr/local/apache2/bin/apachectl start

fi

7.2.3 Software installieren

Wenn Sie Softwarepakete von den CDs Ihrer Distribution installieren möchten, funk-

tioniert dies mithilfe des Paketmanagers. Der verbreitetste Linux-Paketmanager ist

rpm (der Red Hat Packet Manager, der unter anderem auch von openSUSE übernom-

men wurde). Sie installieren ein solches Paket mithilfe der folgenden Anweisung:

# rpm -i Paketname.rpm

Debian und darauf basierende Distributionen wie Ubuntu verwenden einen anderen

Paketmanager. Hier erfolgt die Installation eines Pakets wie folgt:

# apt-get install Paketname

Der wichtigste Vorteil gegenüber rpm besteht darin, dass benötigte Pakete und even-

tuelle Abhängigkeiten automatisch aus einer Onlinequelle heruntergeladen werden.

Open-Source-Software wird häufig auch als Quellcode-Archiv mit der Dateiendung

.tar.gz verbreitet. Dabei handelt es sich um eine Archivdatei (tar für »tapearchive«), die

mit GNU zip (gzip) komprimiert wurde. Ein solches Paket wird sinnvollerweise in einen

leeren Ordner kopiert und anschließend folgendermaßen entpackt und installiert:

# tar xzvf paket.tar.gz# ./configure# make# make install

In manchen Fällen ist die Endung nicht .tar.gz, sondern .tar.bz2. Das bedeutet, dass

die Datei mit bzip2 statt mit gzip komprimiert wurde; die entsprechende tar-Option

zum Entpacken ist xjvf statt xzvf.

Das Programm make dient allgemein dazu, automatische Kompilier- und Installati-

onsanweisungen auszuführen: Da die meisten größeren Programmierprojekte aus

415

Page 88: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

vielen einzelnen Quelldateien bestehen, muss ein Makefile angeben, wie sie jeweils

kompiliert und zusammengestellt werden sollen.

Beachten Sie, dass einige moderne Linux-Distributionen bei einer Standardinstalla-

tion die Entwicklungswerkzeuge GCC (GNU C Compiler) und make weglassen. Das ist

ärgerlich, weil diese benötigt werden, um Quellcodepakete installieren zu können.

Einen Kernel kompilieren

Mithilfe verschiedener make-Anweisungen können Sie übrigens auch Ihren eigenen

Linux-Kernel kompilieren, falls der allgemeine Kernel, den der Distributor mitliefert,

Ihre spezielle Hard- oder Software nicht unterstützt.

In den meisten Fällen ist es heutzutage nicht mehr nötig, den Kernel neu zu kompi-

lieren. Verwenden Sie stattdessen das Kommando modprobe Modulname, um das Ker-

nelmodul für die betreffende Hardware dynamisch zu laden. In den meisten

Distributionen lässt sich dies auch über grafische Hilfsmittel erledigen und sogar

automatisieren.

Wenn Sie dennoch einen Kernel kompilieren möchten oder müssen, prüfen Sie

zuerst mithilfe Ihres Paketmanagers, ob die Kernelquellen installiert sind. Danach

müssen Sie das Konfigurationsprogramm für die Kernelanpassung aufrufen:

# cd /usr/src/linux# make xconfig

In einem komfortablen GUI-Programm können Sie sich nun eine Kernelkonfigura-

tion zusammenstellen. Es gibt eine Reihe von Kategorien wie Optimierung für

bestimmte Prozessortypen, Netzwerk oder SCSI-Unterstützung. Falls xconfig in Ihrer

Distribution nicht enthalten ist, geben Sie make menuconfig ein – es öffnet sich ein

ähnliches Programm auf der Konsole.

Im Konfigurationsprogramm können Sie sich bei den meisten Gerätetreibern ent-

scheiden, ob Sie sie fest in den Kernel einkompilieren oder als Module hinzufügen

möchten. Letzteres ist für Hardware nützlich, die nicht permanent benötigt wird.

Nachdem die Konfiguration fertiggestellt ist, geben Sie an der Konsole (noch immer

im Verzeichnis /usr/src/linux) nacheinander die folgenden Befehle ein:

# make all# make modules_install

Sollte Ihr Linux-System noch einen älteren Kernel bis Version 2.4.x verwenden, müs-

sen Sie dagegen alle folgenden Kommandos eingeben:

# make dep# make clean

416

Page 89: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.3 Automatisierung

# make modules# make modules_install# make bzImage

Nach der Fertigstellung befindet sich der Kernel in jedem Fall im Verzeichnis /usr/

src/linux/arch/i386/boot und heißt bzImage. Er muss nun an die Stelle des bisherigen

Kernels kopiert werden, normalerweise in die Datei /boot/vmlinux. Alternativ kön-

nen Sie ihn auch unter einem neuen Namen ins Verzeichnis /boot kopieren, um

beim Booten zwischen mehreren Kernels auswählen zu können. Danach müssen Sie

den Bootmanager (GRUB oder LILO) neu konfigurieren. Näheres erfahren Sie in der

Dokumentation Ihrer Distribution.

7.3 Automatisierung

Unix-Systeme enthalten zahlreiche Möglichkeiten, Routineaufgaben zu automati-

sieren. In diesem Abschnitt lernen Sie zunächst Shell-Skripte kennen, in denen Sie

programmgesteuerte Kommandoabfolgen zusammenfassen können. In einem wei-

teren Abschnitt geht es um Hilfsmittel wie Aliasse und Cronjobs.

7.3.1 Shell-Skripte

Eine besondere Eigenschaft von Unix-Shells sind die eingebauten Befehle, mit deren

Hilfe sich bestimmte Aufgaben automatisieren lassen. Im Grunde ist dieser

Abschnitt ein Vorgriff auf das Thema des übernächsten Kapitels, die Programmie-

rung. Dennoch sollen hier einige Worte zum Shell-Scripting gesagt werden. Falls Sie

noch nie programmiert haben, sollten Sie sich allerdings zuerst Kapitel 9, »Grundla-

gen der Programmierung«, vornehmen. Konzepte, die an dieser Stelle nur ganz kurz

und knapp angesprochen werden können, werden dort ausführlich erläutert.

Übersicht

Ein Shell-Skript ist im Grunde eine einfache Textdatei, die eine Abfolge von Shell-

und Systembefehlen enthält. Diese Befehle werden beim Aufruf dieses Skripts nach-

einander abgearbeitet. Für gewöhnlich erhalten Shell-Skripte die Dateiendung .sh.

Der Name spielt aber eigentlich keine Rolle; wichtig ist, dass Sie das Skript mithilfe

von chmod ausführbar machen.

Wie jedes Konsolenprogramm kann ein Shell-Skript Kommandozeilenparameter ent-

gegennehmen. Hinter dem Namen des Skripts kann also beim Aufruf eine durch Leer-

zeichen getrennte Liste von Zeichenfolgen stehen, die das Skript verarbeiten kann.

Die erste Zeile eines Shell-Skripts enthält die sogenannte Shebang-Angabe – ein Kurz-

wort für die Zeichen # (sharp) und ! (bang), mit denen sie beginnt. An dieser Stelle

417

Page 90: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

steht, welche Shell dieses Skript ausführen soll, da sich verschiedene Shells in ihrer

Skript-Syntax voneinander unterscheiden. Hier sehen Sie ein Beispiel für eine She-

bang-Zeile; das zugehörige Skript wurde für die bash geschrieben:

#!/bin/bash

Nach dieser Zeile können Sie einen Befehl nach dem anderen untereinanderschrei-

ben. Alle bisher besprochenen Systembefehle sind zulässig, darüber hinaus werden

einige spezielle programmiertechnische Erweiterungen verwendet.

Kommandos Die wichtigsten zusätzlichen Befehle und Elemente für Shell-Skripte sind folgende

(hier konkret für die bash; bei anderen Shells kann die Syntax leicht abweichen):

� Fallunterscheidungen. Anweisungen, die zwischen if Bedingung then und fi stehen,

werden nur ausgeführt, wenn die Bedingung zutrifft. In der Regel besteht die

Bedingung aus dem Vergleich zwischen einer Variablen oder einem Dateinamen

und einem bestimmten Wert. Ein solcher Ausdruck steht bei Text- und Dateiver-

gleichen in eckigen Klammern. Dabei stehen unter anderem folgende Vergleichs-

möglichkeiten zur Verfügung:

– [ -e Pfad ] – Verzeichniseintrag existiert.

– [ -f Pfad ] – Verzeichniseintrag ist eine Datei.

– [ -d Pfad ] – Verzeichniseintrag ist ein Verzeichnis.

– [ -s Pfad ] – Verzeichniseintrag ist ein Symlink.

– [ str1 = str2 ] – Strings sind identisch.

– [ str1 != str2 ] – Strings sind verschieden.

– [ -z str ] – String ist leer (zero).

– [ -n str ] – String hat Inhalt (nonzero).

– [ expr1 -a expr2 ] – beide Ausdrücke sind wahr (and).

– [ expr1 -o expr2 ] – mindestens ein Ausdruck ist wahr (or).

Für numerische Vergleiche werden doppelte runde Klammern verwendet:

((...)). Darin stehen die bekannten Vergleichsoperatoren ==, !=, <, >, <= und >= zur

Verfügung.

Alternativ kann auch der Erfolg eines Kommandos getestet werden. Dazu wird der

Befehl mit seinen Parametern und Argumenten ohne weitere Kennzeichnung

zwischen if und then geschrieben. Befehle werden mit einem Exit-Code beendet.

0 bedeutet in der Regel, dass alles in Ordnung ist, andere Werte deuten auf Fehler

hin. Die Anweisungen werden bearbeitet, wenn der Befehl korrekt ausgeführt

wird, weil der Exit-Code 0 als wahr gilt und jeder andere Wert als falsch.6

6 Übrigens ganz im Gegensatz zu fast allen Programmiersprachen, in denen nämlich 0 als falsch

gilt und jeder andere Wert als wahr. In Shell-Skripten gilt diese Besonderheit allerdings auch nur

für den Exit-Code.

418

Page 91: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.3 Automatisierung

Hinter else können Sie alternative Anweisungen definieren, die ausgeführt wer-

den sollen, falls die Bedingung nicht zutrifft, mit elif (Abkürzung für else if) kann

sogar eine verschachtelte Bedingung eingesetzt werden.

� Einzelfallentscheidungen. Zwischen case und esac können Sie verschiedene Muster

aufführen, denen eine angegebene Variable oder ein String mit Variablen entspre-

chen kann. Die vollständige Schreibweise ist case String in. Hinter jedem Muster,

das überprüft wird, steht eine schließende Klammer ). Darauf folgen beliebig viele

Anweisungen, die nur ausgeführt werden, wenn das angegebene Muster auf den

überprüften String passt. Vor dem nächsten Muster muss eine Befehlssequenz

durch ;; abgeschlossen werden. Am Schluss kann *) stehen, um sämtliche noch

nicht anderweitig gefundenen Werte zu verarbeiten – etwa, um ungültige Argu-

mente per Fehlermeldung abzufangen.

� Schleifen. Mitunter müssen bestimmte Anweisungen mehrfach ausgeführt wer-

den. Dafür sind Schleifen zuständig. Die bash definiert verschiedene Arten von

Schleifen; die wichtigsten sind die for-Schleife und die while-Schleife.

Eine for-Schleife geht automatisch alle Kommandozeilenparameter durch, die

Parameter werden nacheinander der angegebenen Schleifenvariablen zugewiesen.

Alternativ können Sie mithilfe von for ... in ein Dateimuster angeben. Die Vari-

able nimmt dann nacheinander den Namen jeder Datei an, auf die dieses Muster

passt.

Die while-Schleife verwendet dagegen eine Bedingung wie if, mit dem Unter-

schied, dass die Anweisungen mehrmals ausgeführt werden, solange die Bedin-

gung noch zutrifft.

Die Anweisungen, die in jedem Durchlauf der Schleife ausgeführt werden sollen,

stehen in beiden Fällen zwischen do und done.

� Variablen. Mithilfe der Anweisung var = Wert wird einer Variablen innerhalb eines

Shell-Skripts ein Wert zugewiesen. Es kann sich dabei sowohl um eine der Umge-

bungsvariablen wie PATH handeln als auch um beliebige temporäre Variablen, die

nur innerhalb des Skripts verwendet werden, um Ihnen die Arbeit zu erleichtern.

Wenn die Variablendefinition in einer Shell und allen in ihr aufgerufenen Skripten

gültig bleiben soll, müssen Sie in der bash übrigens das Kommando export var =

Wert verwenden.

Innerhalb von Befehlen, die Sie in einem Shell-Skript aufrufen, wird eine Variable

durch ein vorangestelltes $-Zeichen vor der Ausführung des Befehls durch ihren

aktuellen Wert ersetzt (substituiert). Innerhalb eines komplexen Ausdrucks steht

der Variablenname hinter dem Dollarzeichen zusätzlich in geschweiften Klam-

mern {...}.

Spezielle Variablen sind $0 bis $9 für die einzelnen Kommandozeilenparameter,

$* für die gesamte Liste dieser Parameter zur Verwendung in einer Schleife und $#

für die Anzahl der übergebenen Parameter.

419

Page 92: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

Beispiele

Es folgen zwei kleine Beispiele, die die praktische Verwendung der zuvor erläuterten

Anweisungen demonstrieren. Zuerst sehen Sie hier ein Skript, das im übernächsten

Kapitel (ohne Datum und Uhrzeit) auch in allen vier ausführlicher vorgestellten Pro-

grammiersprachen gezeigt wird. Es gibt den klassischen Programmiereinstiegssatz

»Hallo Welt!« aus, fügt Datum und Uhrzeit hinzu, fragt den Benutzer nach dessen

Namen und begrüßt ihn anschließend damit. Hier der Code:

#!/bin/bashecho Hallo, Welt!echo Es ist `date +"%d.%m.%Y, %H:%M"`echo -n "Wie heisst du? "read nameecho Hallo, $name!

Speichern Sie das Skript, zum Beispiel unter dem Namen hallo.sh, und machen Sie es

wie folgt ausführbar:

$ chmod +x hallo.sh

Danach können Sie es ausführen. Hier ein komplettes Ein- und Ausgabebeispiel:

$ ./hallo.shHallo, Welt!Es ist 07.05.2013, 17:43Wie heisst du? SaschaHallo, Sascha!

Die meisten in dem Skript verwendeten Anweisungen wurden bereits erläutert.

Das folgende kurze Beispiel definiert ein Skript namens backup, das alle Dateien, die

auf ein angegebenes Dateimuster passen, in Dateien mit der zusätzlichen Endung

.tmp sichert:

#!/bin/bashif (( $# < 1 ))then

echo "Verwendung: backup Dateimuster"exit 1

fifor i in $*doecho "Verarbeite ${i}"if [ -f $i ]

420

Page 93: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.3 Automatisierung

thencp $i ${i}.tmp

fidone

Wenn kein Dateimuster angegeben wird, erscheint eine Warnmeldung, und das

Skript wird mit einem Fehlercode beendet. Andernfalls werden alle gewöhnlichen

Dateien (Test -f), die zum angegebenen Dateimuster passen, in einer Schleife nach-

einander in entsprechenden .tmp-Dateien gesichert. Der folgende Aufruf sichert alle

Dateien mit der Endung .txt im aktuellen Verzeichnis:

$ ./backup *.txt

Im übernächsten Kapitel werden übrigens die Skriptsprachen Perl und Ruby vorge-

stellt, die mit einer eingängigeren Syntax und erheblich weitergehenden Möglichkei-

ten eine hervorragende Ergänzung oder gar Alternative zu Shell-Skripten bieten.

7.3.2 Weitere Hilfsmittel

Für die Arbeit mit Shell-Skripten, aber auch unabhängig davon, bieten Unix-Systeme

einige weitere Automatisierungsmöglichkeiten, die hier kurz besprochen werden.

Aliasse

Aliasse sind eine Möglichkeit der bash, längere Befehlseingaben, etwa mit zahlrei-

chen Parametern, zu einer Art Makro zu verkürzen. Grundsätzlich geschieht dies mit-

hilfe einer Eingabe nach dem Schema:

$ alias Aliasname='Kommando [Argumente]'

Hier ein Beispiel, das ls mit den Optionen -l (Detailinformationen) und -a (auch ver-

steckte Dateien anzeigen) unter dem Alias l bereitstellt:

$ alias l='ls -la'

Aufgerufen wird ein solcher Alias wie ein gewöhnliches Kommando. Beispiel:

$ l

Auch Aliassen können Sie Optionen oder Argumente übergeben, solange der zugrun-

deliegende Befehl diese unterstützt. Das folgende Beispiel ruft den Alias l mit der

zusätzlichen Option -X (nach Dateiendungen sortieren) sowie dem Dateimuster a*

(mit a beginnende Dateien und Verzeichnisse) auf:

$ l -X a*

421

Page 94: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

Die Definition eines Alias können Sie sich mit alias Name anschauen, also etwa

$ alias l

alias ohne Argumente zeigt alle aktuellen Alias-Definitionen an. unalias Name löscht

den angegebenen Alias. Genau wie Umgebungsvariablen sind auch Aliasse in vielen

Distributionen in den Shell-Konfigurationsskripten vorkonfiguriert.

Cronjobs

Manche Administrationsaufgaben oder Aufräumarbeiten müssen regelmäßig erle-

digt werden. Mit Cronjobs bieten Unix-Systeme eine flexible Möglichkeit, diese zu

automatisieren.

Die einfachere Methode besteht darin, einen Symlink auf das auszuführende Pro-

gramm oder Shell-Skript in einem der folgenden Verzeichnisse anzulegen:

� /etc/cron.hourly (stündlich)

� /etc/cron.daily (täglich)

� /etc/cron.weekly (wöchentlich)

� /etc/cron.monthly (monatlich)

Das folgende Beispiel sorgt dafür, dass ein Skript namens taeglich.sh jeden Tag ausge-

führt wird:

# ln -s /usr/bin/skripten/taeglich.sh \> /etc/cron.daily/taeglich.sh

Erheblich flexibler, aber etwas komplizierter in der Handhabung ist die Arbeit mit

sogenannten Crontabs, die für jeden User einzeln angelegt werden. Es handelt sich

um Textdateien, in denen jede Zeile einen Eintrag in folgendem Format darstellt:

Min Std Tag Mon Wochentag Kommando

Für die Zeit-Felder gelten folgende Wertebereiche:

� Minute: 0–59

� Stunde: 0–23

� Tag im Monat: 1–31

� Monat: 1–12

� Wochentag: 0–6 (0 = Sonntag, 1 = Montag ... 6 = Samstag)

Ein * in einem der Felder sorgt dafür, dass der Cronjob für jeden Wert in diesem Feld

gilt. Hier ein Beispiel, das ein Skript namens cleanup.sh jeden Freitag um 18:00 Uhr

ausführt:

422

Page 95: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.4 Editoren

0 18 * * 5 /usr/bin/skripten/cleanup.sh

Das folgende Beispiel ruft zu jeder vollen Stunde das Skript stuendlich.sh auf:

0 * * * * /usr/bin/skripten/stuendlich.sh

Auch Bereiche in der Form Start-Ende sind für ein Feld möglich. Das folgende Bei-

spiel führt montags bis samstags von 8 bis 18 Uhr jeweils ein Skript namens arbeit.sh

aus:

0 8-18 * * 1-6 /usr/bin/skripten/arbeit.sh

Hinter * oder Start-Ende können Sie optional einen / und ein Intervall angeben. Das

folgende Beispiel führt alle zwei Stunden who -a aus, um eine vollständige Liste der

angemeldeten Benutzer und virtuellen Terminals zu erzeugen:

0 */2 * * * who -a

Eventuelle Ausgaben der betreffenden Skripte werden mithilfe des Kommandos

mail an den betreffenden Benutzer geschickt. Optional fügen Sie als erste Zeile der

Crontab eine Anweisung wie diese ein, um die Mails an einen anderen User zu schi-

cken (sinnvoll beispielsweise für die root-Crontab):

MAILTO=sascha

Geben Sie mail ein, um solche Nachrichten zu lesen. Die jeweilige Nummer zeigt eine

bestimmte Nachricht an; (Q) beendet sowohl die einzelne Nachricht als auch das Pro-

gramm.

Der Befehl crontab mit der Option -e ermöglicht die Bearbeitung der Crontab im Edi-

tor vi, der im nächsten Abschnitt vorgestellt wird. crontab -l liefert die aktuelle Cron-

tab, und crontab -r entfernt sie. Als root können Sie auch die Option -u Username

hinzufügen, um die Crontab eines anderen Benutzers zu lesen oder zu ändern.

7.4 Editoren

Es wurden in diesem Kapitel bereits einige Programme vorgestellt, mit deren Hilfe

sich Textdateien manipulieren lassen. Allerdings wurde bisher noch keine Möglich-

keit gezeigt, solche Dateien einzugeben oder zu bearbeiten. Die grafischen Oberflä-

chen für Linux sind reichlich mit mausgesteuerten und fensterbasierten Editoren

ausgestattet. Dennoch ist es nützlich, den Umgang mit einem klassischen Komman-

dozeileneditor zu beherrschen.

423

Page 96: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

In diesem Abschnitt werden die entscheidenden Funktionen der beiden wichtigsten

Editoren vorgestellt. Der vi (gesprochen: »wie ei«) ist der ursprüngliche Unix-Editor

und steht deshalb in jeder beliebigen Unix-Umgebung zur Verfügung. Emacs wurde

ursprünglich von Richard Stallman geschrieben und verfügt über eine Reihe komfor-

tabler Fähigkeiten.

7.4.1 vi

Der eigentliche vi-Texteditor wurde von Bill Joy an der UC Berkeley programmiert. Es

gibt eine Reihe mehr oder weniger kompatibler Editoren, die die Funktionalität des

ursprünglichen vi verbessern. Unter Linux kommt beispielsweise häufig Vim (ViIm-

proved) von Bram Molenaar zum Einsatz.

Der vi-Texteditor wird durch die Eingabe von vi beziehungsweise vi Dateiname

gestartet; bei modernen Distributionen ist vi in der Regel ein Symlink auf vim. Wenn

Sie einen Dateinamen angeben, wird diese Datei zum Bearbeiten geöffnet bezie-

hungsweise neu angelegt.

Befehls- und

Editiermodus

Nachdem der vi gestartet wurde, befindet er sich im Befehlsmodus. Hier können Sie

in der untersten Zeile Befehle eingeben, die in der Regel aus einem oder zwei Buch-

staben bestehen. Einige dieser Befehle wechseln in den Editiermodus, in dem Sie

Text eingeben oder ändern können, andere dienen dem Verschieben, Löschen oder

Kopieren von Text. Mit (Esc) wechseln Sie aus dem Editiermodus wieder zurück in

den Befehlsmodus.

Anders als bei den meisten anderen Editoren werden Befehle also nicht durch spezi-

elle Tastenkombinationen mit der (Strg)- oder (Alt)-Taste getätigt, sondern durch

normale Tasten, solange Sie sich im Befehlsmodus befinden.

Im Folgenden werden jeweils genau die Tasten angegeben, die Sie auf der Tastatur

drücken müssen – beispielsweise bedeutet (A) nicht, dass Sie ein großes A eingeben

sollen, sondern dass die Taste (A) gedrückt werden soll. Ein großes A würde dagegen

als (ª) + (A) angegeben. Wenn mehrere Tasten nacheinander gedrückt werden müs-

sen, werden diese einfach der Reihe nach aufgeführt. Lediglich einige ganz eindeu-

tige Sonderzeichen werden so aufgeführt, als seien sie einzelne Tasten – (») bedeutet

beispielsweise, dass Sie (ª) + (9) drücken müssen.

Bei einigen selteneren Sonderzeichen wird außerdem einmal erklärt, wie Sie sie ein-

geben können. Da der vi auch bei Mac OS X (siehe nächster Abschnitt) mitgeliefert

wird und Sie Linux natürlich auch auf dem Macintosh installieren können, finden Sie

die Tastenkombinationen für PC und Mac, falls diese sich unterscheiden.

Die wichtigste Taste im Befehlsmodus ist (I) – sie wechselt in den Einfügemodus, in

dem Sie Text eingeben können. In diesem Modus können Sie sich grundsätzlich mit

den Pfeiltasten durch den Text bewegen. Die Löschtasten funktionieren dagegen je

424

Page 97: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.4 Editoren

nach Terminal nicht immer. Statt mit (I) gelangen Sie auch mit anderen Tasten in

den Eingabemodus, die den Cursor unterschiedlich platzieren und gegebenenfalls

Text ersetzen: (A) startet die Eingabe hinter der Cursorposition. (O) fügt unter der

Cursorposition zunächst eine neue Zeile ein, während (ª) + (O) zunächst die aktuelle

Zeile nach unten verschiebt. (C)(W) ersetzt das nächste Wort und (C)(C) die aktuelle

Zeile. Ersetzen heißt in diesem Fall, dass der jeweilige Text vor der Aktivierung des

Eingabemodus entfernt wird.

Navigation

im Text

Im Befehlsmodus können Sie sich mit folgenden Tasten schrittweise durch den Text

bewegen: (H) nach links, (J) nach unten, (K) nach oben und (L) nach rechts. Wie Sie

sehen, liegen diese vier Tasten nebeneinander, was ihre Verwendung sehr bequem

macht. In den meisten Terminalemulationen funktionieren zwar auch die Pfeiltas-

ten, aber allgemein kompatibel sind nur diese vier Buchstabentasten.

Den meisten Befehlen können Sie eine Zahl voranstellen, um sie mehrmals auszu-

führen. Beispielsweise geht (3)(H) um drei Schritte nach links und (4)(J) um vier

Zeilen nach unten. (C)(3)(W) entfernt drei Wörter und schaltet dann den Eingabemo-

dus ein.

(W) bewegt den Cursor um ein Wort nach rechts; (B) um ein Wort nach links. Auch

diese Tasten lassen sich mit einer Zahl kombinieren, um mehrere Wörter weiter-

beziehungsweise zurückzugehen.

(0) (Null) springt zum Zeilenanfang; ($) ((ª) + (4)) zum Zeilenende. Runde Klam-

mern dienen dem Bewegen zwischen Sätzen: Beispielsweise bewegt (ª) + (8) sich

zum Anfang des vorigen Satzes oder (ª) + (9) zum nächsten. Geschweifte Klammern

– ({) und (}) – springen zum Anfang des nächsten beziehungsweise des vorigen

Absatzes. Auf einem PC werden sie mithilfe der Tastenkombinationen (Alt_Gr) + (7)

beziehungsweise (Alt_Gr) + (0) erzeugt, auf dem Mac mithilfe von(Alt) + (8) bezie-

hungsweise (Alt) + (9).

Eine Zahl mit einem Pipe-Zeichen (|) (PC: (Alt_Gr) + (<), Mac: (Alt) + (7)) dahinter

springt zum angegebenen Zeichen in der aktuellen Zeile: (7)(|) bewegt sich bei-

spielsweise zur Position 7. Hat eine Zeile weniger Zeichen als den Wert, den Sie ange-

ben, dann bewegt sich der Cursor zum letzten Zeichen.

(-) bewegt den Cursor zum Anfang der vorigen Zeile, während (+) oder (¢) zum ers-

ten Nicht-Leerzeichen in der nächsten Zeile springen.

SuchfunktionenBesonders angenehm sind die eingebauten Suchfunktionen, die Sie im Befehlsmo-

dus durchführen können: (/) leitet einen regulären Ausdruck im grep-Format ein.

Wenn Sie (¢) drücken, wird vorwärts danach gesucht. Der Cursor bewegt sich auf

das erste Zeichen der Fundstelle. (?) Suchmuster (¢) sucht rückwärts nach dem ange-

gebenen beziehungsweise vorigen Muster. (N) sucht nach dem nächsten Vorkom-

men des aktuellen Suchmusters in der jeweiligen Suchrichtung; (ª) + (N) sucht

dagegen in der anderen Richtung.

425

Page 98: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

Beispielsweise sucht(/)[0-9](¢) vorwärts nach der nächsten Ziffer; (N) sucht erneut

danach. (?)[a-z](¢) sucht rückwärts nach dem nächstgelegenen Kleinbuchstaben,

ein anschließendes [N] sucht wiederum den vorherigen.

Die Befehle zum automatischen Suchen und Ersetzen beginnen mit einem (:), weil

es sich um Befehle des Zeileneditors ex handelt, auf dem vi basiert. Alle ex-Befehle wer-

den mit (¢) abgeschlossen, deshalb ist es im Folgenden nicht aufgeführt. Mit

(:)(S)(/) Suchmuster (/) Ersatztext (/) ersetzen Sie das Suchmuster in der aktuellen

Zeile durch den Ersatztext. Für globales Ersetzen im gesamten Text ist die etwas kom-

plexere Form (:)(%)(S)(/) Suchmuster (/) Ersatztext (/)(G) zuständig; die Option G

steht hier für »global«. Verwenden Sie (C) als zusätzliche Option, wenn Sie aus Sicher-

heitsgründen jede einzelne Änderung bestätigen möchten. Statt des Prozentzeichens

können Sie auch zwei durch Komma getrennte Zeilennummern angeben, um das

Ersetzen auf den entsprechenden Bereich des Dokuments zu beschränken.

Löschen und

Kopieren

Für das Löschen im Befehlsmodus sind die folgenden Tasten und Tastenfolgen defi-

niert: (X) löscht das aktuelle Zeichen, (ª) + (X) das Zeichen vor dem Cursor. (D)(W)

löscht das ganze Wort, während (D)(D) die gesamte aktuelle Zeile entfernt. Wenn Sie

beispielsweise drei Wörter löschen möchten, müssen Sie (D)(3)(W) eingeben, für vier

Zeilen lautet die Eingabe dagegen (D)(4)(D). Die Tastenkombination (ª) + (D) löscht

den Text bis zum Ende der Zeile. (P) oder (ª) + (P) setzen den zuletzt gelöschten

Text hinter beziehungsweise vor dem Cursor wieder ein. Der jeweilige Löschvorgang

stellt den gelöschten Text nacheinander in nummerierte Löschpuffer. Mit (1)(P)

fügen Sie zum Beispiel den Text aus dem Löschpuffer Nummer 1 – dem ältesten – ein.

Insgesamt existieren neun nummerierte Löschpuffer.

Wenn Sie Text kopieren möchten, können Sie (Y) (Abkürzung für »yank«) und ein

Navigationskommando verwenden, beispielsweise (Y)(W) für ein Wort oder

(Y)(5)(Y) für fünf Zeilen. Der Text landet – genau wie beim Löschen – nacheinander

in den nummerierten Puffern 1 bis 9 und kann durch die entsprechenden (P)-

Sequenzen wieder eingefügt werden. Wenn Sie (") drücken, dann einen Buchstaben

von (A) bis (Z) und schließlich zweimal (ª) + (Y), wird die aktuelle Zeile dagegen in

einen von 26 benannten Puffern kopiert. Wird der Name des Puffers mit (ª) kombi-

niert (Großbuchstabe), dann wird der Inhalt des Puffers nicht überschrieben, son-

dern um die neu kopierte Zeile ergänzt. Mit ("), dem Buchstaben eines benannten

Puffers und (P) oder (ª) + (P) können Sie den Text des entsprechenden Puffers wie-

der einfügen.

Die Taste (U) macht den letzten Lösch-, Einfüge- oder Änderungsbefehl rückgängig.

Beachten Sie, dass nur in Vim mehrere Schritte rückgängig gemacht werden können;

beim klassischen vi ist lediglich ein Schritt möglich. (ª) + (U) stellt die gesamte

zuletzt modifizierte Zeile wieder her, und der Punkt (.) wiederholt den letzten Edi-

tierbefehl beliebig oft.

426

Page 99: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.4 Editoren

DateioperationenWichtig sind schließlich noch die Dateioperationen. Auch bei ihnen handelt es sich

um ex-Befehle. Geben Sie (:)(W) Dateiname ein, um die aktuell bearbeitete Datei unter

einem neuen Namen zu speichern; beachten Sie aber, dass Sie danach mit der alten

Datei weiterarbeiten. (:)(W)(!) speichert sie nach erfolgten Änderungen erneut

unter diesem Namen – das (!) dient jeweils dem Umgehen von Schutzmaßnahmen.

(:)(R) Dateiname öffnet die angegebene Datei und fügt ihren Inhalt an der aktuellen

Cursorposition ein. (:)(Q) beendet den vi, aber nur, wenn die aktuelle Datei gespei-

chert wurde. (:)(Q)(!) erzwingt das Beenden und verwirft Änderungen. (:)(X) ist

eine Kurzfassung für (:)(W)(Q): Beide bedeuten, dass vi zuerst speichern soll und

anschließend beendet werden soll.

Diese kurze Übersicht ermöglicht es Ihnen, sich grundsätzlich im vi zurechtzufinden

und effizient Texte zu bearbeiten. In Wirklichkeit verfügt er über Unmengen weiterer

Befehle, immerhin gibt es ganze Bücher über die Arbeit mit diesem Editor. Tabelle 7.4

zeigt eine Übersicht über die wichtigsten dieser Kommandos; zum Teil kamen diese

nicht in der vorigen Beschreibung vor. Aber ob Sie nun mit der vorliegenden kurzen

Anleitung oder mit einem umfangreichen Tutorial arbeiten – Geläufigkeit erreichen

Sie nur, wenn Sie ständig üben.

Tastenkürzel/Befehl Bedeutung

Moduswechsel

(I) Wechsel in den Eingabemodus an aktuelle Position

(A) Wechsel in den Eingabemodus nach aktueller Position

(ª) + (I) Wechsel in den Eingabemodus am Zeilenanfang

(ª) + (A) Wechsel in den Eingabemodus am Zeilenende

(O) Wechsel in den Eingabemodus unter aktuelle Zeile

(ª) + (O) Wechsel in den Eingabemodus über aktuelle Zeile

(Esc) Wechsel aus Eingabemodus in den Befehlsmodus

Navigation im Text

(H) Cursor um ein Zeichen nach links bewegen

(J) Cursor um ein Zeichen nach unten bewegen

(K) Cursor um ein Zeichen nach oben bewegen

(L) Cursor um ein Zeichen nach rechts bewegen

Tabelle 7.4 Die wichtigsten vi-Kommandos im Überblick

427

Page 100: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

(0) (Null, nicht O) Cursor an den Zeilenanfang

(ª) + (4), d. h. ($) Cursor ans Zeilenende

(ª) + (8), d. h. («) Cursor zum vorigen Satzanfang

(ª) + (9), d.h. (») Cursor zum nächsten Satzanfang

(Alt_Gr) + (7) (Windows)

oder (Alt) + (8) (Mac),

d.h. ({)

Cursor zum vorigen Absatzanfang

(Alt_Gr) + (0) (Windows)

oder (Alt) + (9) (Mac),

d.h. (})

Cursor zum nächsten Absatzanfang

n (Alt_Gr) + (<) (Windows)

bzw. n (Alt) + (7) (Mac),

d. h. n (|)

Cursor zu Zeichen n in der aktuellen Zeile

(-) Cursor zum Anfang der vorigen Zeile

(+) oder (¢) Cursor zum ersten Nicht-Leerzeichen der nächsten

Zeile

(ª) + (H) Cursor zum Anfang der ersten sichtbaren Zeile

(ª) + (M) Cursor zum Anfang der Zeile in der Bildschirmmitte

(ª) + (L) Cursor zum Anfang der letzten sichtbaren Zeile

n (ª) + (5), d.h. n (%) Cursor in die Zeile, die dem angegebenen prozentua-

len Anteil des Textes entspricht

(W) Cursor ein Wort weiter (Satzzeichen als eigene Wörter)

(ª) + (W) Cursor ein Wort weiter (inklusive Satzzeichen)

(B) Cursor ein Wort zurück (Satzzeichen als eigene

Wörter)

(ª) + (B) Cursor ein Wort zurück (inklusive Satzzeichen)

(E) Cursor zum nächsten Wortende

(G)(E) Cursor zum vorigen Wortende

Tastenkürzel/Befehl Bedeutung

Tabelle 7.4 Die wichtigsten vi-Kommandos im Überblick (Forts.)

428

Page 101: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.4 Editoren

n (G) oder (:) n Cursor in Zeile n

(G)(G) Cursor an den Textanfang

(ª) + (G) Cursor an den Anfang der letzten Zeile

n Tastenkürzel Die angegebene Funktion n-mal ausführen

(z.B. (3)(H) für drei Zeichen nach links; nicht nur für

Navigation verfügbar)

Scrollen (Bildschirm bewegen, ohne den Cursor zu verschieben)

(Strg) + (Y) eine Zeile nach oben scrollen

(Strg) + (E) eine Zeile nach unten scrollen

(Strg) + (U) einen halben Bildschirm nach oben scrollen

(Strg) + (D) einen halben Bildschirm nach unten scrollen

(Strg) + (B) einen ganzen Bildschirm nach oben scrollen

(Strg) + (F) einen ganzen Bildschirm nach unten scrollen

(Z)(Z) die Zeile mit dem Cursor in die Bildschirmmitte

scrollen

(Z)(T) die Zeile mit dem Cursor an den oberen Bildschirm-

rand scrollen

(Z)(B) die Zeile mit dem Cursor an den unteren Bildschirm-

rand scrollen

Zeichen suchen

(F) Zeichen erstes Vorkommen des angegebenen Zeichens in der

aktuellen Zeile suchen

n (F) Zeichen das n. Vorkommen des angegebenen Zeichens in der

aktuellen Zeile suchen

(ª) + (F) Zeichen rückwärts in der aktuellen Zeile nach dem angegebe-

nen Zeichen

(;) den vorherigen Suchbefehl wiederholen

Tastenkürzel/Befehl Bedeutung

Tabelle 7.4 Die wichtigsten vi-Kommandos im Überblick (Forts.)

429

Page 102: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

(,) den vorherigen Suchbefehl in die andere Richtung

wiederholen

(%) zwischen korrespondierenden Klammern (auch ecki-

gen oder geschweiften) hin- und herspringen; mit

Zähler völlig andere Bedeutung (siehe unter »Navi-

gation«)

Volltextsuche und Ersetzen

(/) RegExp (¢) vorwärts im Text nach dem angegebenen regulären

Ausdruck suchen

(?) RegExp (¢) rückwärts im Text nach dem angegebenen regulären

Ausdruck suchen

(N) in die aktuelle Richtung erneut nach dem vorherigen

regulären Ausdruck suchen

(ª) + (N) in die entgegengesetzte Richtung erneut nach dem

vorherigen regulären Ausdruck suchen

(:) wrapscan (¢) Suche darf Dokumentende/-anfang überschreiten

(Standard).

(:) nowrapscan (¢) Suche darf Dokumentende/-anfang nicht mehr über-

schreiten.

(:) sethlsearch (¢) künftig alle gefundenen Ergebnisse hervorheben

(:) nohlsearch (¢) die aktuelle Hervorhebung ausblenden

(:) setnohlsearch (¢) die gefundenen Ergebnisse nicht mehr hervorheben

(:) setincsearch (¢) inkrementelle Suche – bereits während der Eingabe

zu suchen beginnen

(:) setnoincsearch (¢) die inkrementelle Suche abschalten

(:)(S)(/) Text1 (/) Text2

(/)(¢)

das nächste Vorkommen von Text1 in der aktuellen

Zeile durch Text2 ersetzen

(:)(S)(/) Text1 (/) Text2

(/)(G)(¢)

alle Vorkommen von Text1 in der aktuellen Zeile

durch Text2 ersetzen

Tastenkürzel/Befehl Bedeutung

Tabelle 7.4 Die wichtigsten vi-Kommandos im Überblick (Forts.)

430

Page 103: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.4 Editoren

(:)(%)(S)(/) Text1

(/) Text2 (/)(¢)

das erste Vorkommen von Text1 in jeder Zeile durch

Text2 ersetzen

(:)(%)(S)(/) Text1

(/) Text2 (/)(G)(¢)

alle Vorkommen von Text1 in jeder Zeile (d.h. alle Vor-

kommen im gesamten Text) durch Text2 ersetzen

(:)(%)(S)(/) Text1

(/) Text2 (/)(G)(C)(¢)

wie der vorherige Befehl, aber vor jedem einzelnen

Ersetzungsvorgang nachfragen (die Option (C) steht

auch für alle anderen Optionen zur Verfügung)

Sprungmarken

(`)(`) Sprung zur letzten Sprungmarke (Ergebnis einer

Suche oder eines (G)-Sprungbefehls)

(Strg) + (O) in der Liste der Sprungmarken schrittweise rückwärts

blättern

(Strg) + (I) in der Liste der Sprungmarken schrittweise vorwärts

blättern

(M)(A) bis (M)(Z) an der aktuellen Cursorposition eine der benannten

Marken A bis Z einrichten

(`)(A) bis (`)(Z) zu einer der benannten Marken A bis Z springen

(')(A) bis (')(Z) zum Anfang der jeweiligen Zeile springen, in der sich

eine der benannten Marken A bis Z befindet

(:) marks (¢) Liste aller Marken ausgeben

Löschen, Kopieren und Einfügen

(X) das Zeichen unter dem Cursor ausschneiden (löschen

und in einem Puffer speichern)

(ª) + (X) das Zeichen links neben dem Cursor ausschneiden

(D) Navigationsbefehl Die dem Navigationsbefehl entsprechende Menge

Text ausschneiden. (D)(3)(H) löscht beispielsweise

drei Zeichen nach links.

(D)(D) ganze Zeile ausschneiden

(C) Navigationsbefehl wie (D), aber anschließend in den Eingabemodus

wechseln

Tastenkürzel/Befehl Bedeutung

Tabelle 7.4 Die wichtigsten vi-Kommandos im Überblick (Forts.)

431

Page 104: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

(C)(C) wie (D)(D), aber anschließend in den Eingabemodus

wechseln

(Y) Navigationsbefehl die dem Navigationsbefehl entsprechende Menge

Text in den Puffer kopieren (yank)

(Y)(Y) ganze Zeile kopieren

(P) den Text aus dem Puffer an der aktuellen Cursorposi-

tion einfügen

(ª) + (P) den Text aus dem Puffer hinter der aktuellen Cursor-

position einfügen

(X)(P) das aktuelle und das folgende Zeichen vertauschen

Wiederholen, Rückgängigmachen, Wiederherstellen

(U) den letzten Befehl rückgängig machen (in vi nur ein-

mal, in Vim mehrmals möglich – auch mit Zähler)

(Strg) + (R) den zuletzt rückgängig gemachten Befehl wiederher-

stellen (nur Vim)

(.) den vorherigen Befehl wiederholen

Datei- und Fensterverwaltung

(:)(W)(¢) die aktuelle Datei speichern

(:)(W) Neuer Name (¢) eine Kopie der aktuellen Datei unter NeuerName

speichern; mit der aktuellen weiterarbeiten

(:) edit Dateiname (¢) das Editieren der aktuellen Datei beenden (muss

gespeichert sein) und die angegebene laden

(:) edit (!) Dateiname (¢) das Editieren der aktuellen Datei abbrechen (wird

nicht gespeichert!) und die angegebene laden

(:) wedit Dateiname (¢) die aktuelle Datei automatisch speichern und schlie-

ßen und die angegebene laden

(:) hide edit Dateiname

(¢)

die aktuelle Datei verbergen und die angegebene

laden

(:) buffers (¢) nummerierte Liste aller Puffer (geöffneten Dateien)

Tastenkürzel/Befehl Bedeutung

Tabelle 7.4 Die wichtigsten vi-Kommandos im Überblick (Forts.)

432

Page 105: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.4 Editoren

7.4.2 Emacs

Der Name Emacs steht für »Editor Macros«, weil er ursprünglich als Satz von Makro-

befehlen für einen älteren Editor entworfen wurde. Inzwischen ist er ein eigenständi-

ger Editor, der in vielen verschiedenen Varianten für etliche Plattformen verfügbar

ist, nicht nur für alle erdenklichen Unix-Arten, sondern beispielsweise auch für Win-

dows. Die Hauptentwicklungslinie ist der GNUEmacs, den Sie von der Website des

GNU-Projekts (www.gnu.org) oder den zahlreichen weltweiten Mirror-Sites herunter-

laden können. Die aktuelle Hauptversion ist 23.x, was Ihnen einen Eindruck davon

vermitteln mag, wie lange diese Software bereits existiert – das Programm ist ausge-

reift und sehr stabil. Daneben gibt es den sogenannten XEmacs, was ein wenig ver-

wirrend ist, weil beide Varianten sowohl auf der Konsole als auch in einer grafischen

X-Window-Oberfläche laufen.

Emacs verfügt über einen erheblich größeren Befehlsumfang als vi; es handelt sich

letzten Endes nicht nur um einen Editor, sondern um einen vollwertigen Shell-Ersatz

mit zusätzlichen Funktionen wie E-Mail, unzähligen Betriebsmodi für diverse Text-

sorten und sogar Spielen.

Die meisten Emacs-Befehle werden durch Tastenkombinationen mit (Strg) (auf eng-

lischen PC-Tastaturen und auf dem Mac (Ctrl)) oder (Meta) gebildet. Wenn Sie auf

Ihre Tastatur schauen, werden Sie feststellen, dass Sie gar keine (Meta)-Taste haben;

die gibt es nur an einigen alten Terminals und verschiedenen Unix-Workstations. In

den meisten Terminalprogrammen oder in der GUI-Version von Emacs kann die

(Alt)-Taste dafür verwendet werden. Einige Terminalemulationen bestehen dage-

gen darauf, dass Sie (Meta)-Tastenkombinationen durch Drücken der Taste (Esc) und

anschließendes Betätigen der entsprechenden Kombinationstaste eingeben.

Schreibweise für

Tastenkürzel

Die Emacs-Dokumentation verwendet eine etwas eigenwillige Schreibweise für die

Tastenkombinationen. Diese Schreibweise wird hier kurz erläutert und anschließend

verwendet, damit Sie sich nicht umzugewöhnen brauchen, wenn Sie die zahlreichen

Hilfeseiten im Emacs selbst lesen. (Strg)-Tastenkombinationen werden durch »C-«

(control), gefolgt von dem entsprechenden Zeichen, angegeben, beispielsweise steht

(:) buffer Nummer (¢) zum Puffer mit der angegebenen Nummer wechseln

(:)(Q) vi beenden (alle Dateien müssen gespeichert sein)

(:)(Q)(!) Beenden von vi erzwingen (nicht gespeicherte

Dateien werden verworfen)

Tastenkürzel/Befehl Bedeutung

Tabelle 7.4 Die wichtigsten vi-Kommandos im Überblick (Forts.)

433

Page 106: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

C-x für (Strg) + (X). (Meta)-Tastenkürzel werden dagegen mit vorangestelltem M- dar-

gestellt. M-x bedeutet also je nach der Umgebung, in der Sie arbeiten, entweder (Alt)

+ (X) oder (Esc) gefolgt von (X). Letzteres funktioniert übrigens immer.

Der Emacs wird durch Eingabe von emacs oder emacs Dateiname gestartet. Wenn Sie ihn

nicht in einem GUI-Fenster, sondern in der aktuellen Konsole aufrufen möchten, lau-

tet das Kommando emacs -nw [Dateiname]. Sie können mehrere Dateien auf einmal

bearbeiten; die einzelnen Arbeitsbereiche für Dateien werden als Buffer bezeichnet.

Falls Sie keinen Dateinamen angegeben haben, befinden Sie sich zunächst im

Scratch-Buffer (Notizblock), der für ungespeicherte Notizen vorgesehen ist. Wenn Sie

eine speicherbare Datei editieren möchten, müssen Sie diese zunächst mit C-x C-f

Dateiname »besuchen« (die Original-Emacs-Dokumentation verwendet den Ausdruck

»visit«). Falls diese Datei bereits existiert, wird sie geöffnet, ansonsten neu angelegt.

Buffer und

Fenster wechseln

Wenn mehrere Buffer geöffnet sind, können Sie mithilfe der Tastenkombination C-x

b Buffername (¢) zum Buffer mit dem angegebenen Namen wechseln (ohne Angabe

eines Buffers wird reihum zum jeweils nächsten gewechselt). Eine Liste aller verfüg-

baren Buffer erhalten Sie mit C-x C-b in einem abgetrennten Bereich, der als Fenster

bezeichnet wird. Mit C-x 2 können Sie ein solches Fenster selbst erzeugen; C-x 4 f

Dateiname (¢) öffnet eine neue Datei in einem separaten Fenster. Mit C-xo wechseln

Sie zwischen den beiden Fenstern hin und her. Mit M-C-v können Sie den Inhalt des

Fensters scrollen, in dem Sie zurzeit nicht arbeiten. C-x 1 schließt das nicht aktive

Fenster und behält nur das aktuelle.

Je nach Dateityp (den Emacs, ähnlich wie Windows, an der Dateiendung erkennt)

befinden Sie sich in einem der verschiedenen Emacs-Arbeitsmodi, die vor allem Pro-

grammierern das Leben erleichtern. Einige der wichtigsten Modi sind Fundamental

(der grundlegende Modus für einfachen Text), C (für die gleichnamige Programmier-

sprache) oder HTML (zum Editieren von Webseiten). Jeder dieser Modi verfügt über

besondere Funktionen wie automatische Einrückung, Anzeigen der korrespondie-

renden Klammer beim Schließen oder Ähnliches.

Sie können den Modus auch manuell über M-x Modusname wechseln: M-x fundamental

wechselt beispielsweise in den Fundamental Mode, M-x c-mode in den C-Modus oder

M-x html-mode in den HTML-Modus. M-x Schlüsselwort dient allgemein der Eingabe

eines Befehls in der Langform und muss jeweils mit (¢) abgeschlossen werden.

Wenn Sie einfach M-x (¢) eingeben, wird eine Liste aller möglichen Befehle angebo-

ten; alternativ können Sie auch einen oder mehrere Anfangsbuchstaben eines

Befehls eintippen und erhalten dann eine Liste der passenden Befehle.

Der einzeilige Bereich am unteren Bildschirm- oder Fensterrand, in den Sie mit M-x

gelangen, wird Minibuffer genannt. Sie können ihn durch dreimaliges Drücken von

(Esc) wieder verlassen.

434

Page 107: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.4 Editoren

Navigation

im Text

Zeichenweise durch den Text navigieren Sie mit den Pfeiltasten oder alternativ mit

C-f (nach rechts, forward), C-b (nach links, backward), C-p (nach oben, previous line)

und C-n (nach unten, next line). C-a bewegt den Cursor zum Zeilenbeginn und C-e

zum Zeilenende. C-v scrollt um einen ganzen Bildschirm nach unten, M-v nach oben.

M-f wandert um ein Wort nach rechts, M-b nach links. M-< springt zum Anfang der

gesamten Datei, M-> ((Alt) + (ª) + (<)) zu ihrem Ende.

C-d löscht das Zeichen unter dem Cursor, während (æ___) das vorherige Zeichen ent-

fernt. M-d löscht das folgende Wort, M-(æ___) das vorige. C-k tilgt den Bereich vom

Cursor bis zum Ende der Zeile.

C-Leertaste setzt eine Markierung. Der markierte Bereich reicht automatisch von der

gesetzten Markierung bis zur aktuellen Cursorposition. Um den gesamten Bereich zu

löschen, genauer gesagt auszuschneiden, wird die Tastenkombination C-w verwen-

det. M-w kopiert den Bereich dagegen zum späteren Einfügen. In beiden Fällen kön-

nen Sie ihn mithilfe von C-y wieder einfügen.

C-s leitet eine inkrementelle Suche ein – während der Eingabe des Suchbegriffs

springt der Cursor zur jeweils nächstgelegenen Stelle, die diesem Begriff entspricht.

Entsprechend sucht C-r rückwärts. C-s C-s wiederholt die letzte Suche. (¢) verlässt

das Suchprogramm vollständig. M-C-s sucht nach einem regulären Ausdruck statt

einer einfachen Zeichenfolge. Die Syntax der regulären Ausdrücke entspricht grep.

M-% ist der Befehl zum Suchen und Ersetzen. Zunächst wird nach der zu ersetzenden

Zeichenfolge gefragt, anschließend nach dem Ersetzungstext. Die Eingabe beider Zei-

chenfolgen muss mit (¢) abgeschlossen werden. An jeder einzelnen Fundstelle wer-

den Sie gefragt, ob Sie die Ersetzung durchführen möchten. (Y) oder Leertaste

bedeutet ja, (N) oder (Entf) steht für nein, und (!) heißt, dass alle künftigen Fund-

stellen ohne weitere Rückfrage ersetzt werden sollen.

Wenn Sie Ihre aktuelle Arbeit speichern möchten, verwenden Sie dazu den Befehl

C-x C-s. C-x s speichert alle geänderten Buffer auf einmal. C-x C-w Dateiname (¢)

sichert die Datei dagegen unter dem angegebenen neuen Namen. Mit C-x C-c been-

den Sie Emacs. Vorher werden Sie gefragt, ob Sie die modifizierten Buffer speichern

möchten.

Erweiterte

Funktionen

Was bereits über den vi gesagt wurde, gilt für Emacs erst recht: Es gibt Unmengen

weiterer Befehle, für die in diesem Buch leider kein Platz ist. Mit dem hier gebotenen

Ausschnitt aus der Funktionsvielfalt von Emacs können Sie beliebige Textdateien

bearbeiten. Mit etwas Übung werden Sie damit irgendwann schneller arbeiten kön-

nen als mit einem grafisch orientierten Editor, in dem Sie oft zur Maus greifen müs-

sen, um spezielle Befehle zu verwenden. Dennoch ist auch der Emacs mit einem

umfangreichen Menü ausgestattet, solange er in einer GUI läuft. Da die Tastenkürzel

jeweils neben den einzelnen Menübefehlen stehen, können Sie mithilfe des Menüs

leicht neue Befehle erlernen.

435

Page 108: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

Auch für Emacs folgt in Tabelle 7.5 eine etwas ausführlichere Kommandoliste.

Tastenkürzel/Befehl Bedeutung

Dateien, Buffer und Fenster

C-x C-f Dateiname Die angegebene Datei laden (Emacs-Begriff visit). Falls sie

noch nicht existiert, wird sie neu angelegt.

C-x C-v den Namen der aktuellen Datei im Minibuffer anzeigen, um ihn

zu editieren und die resultierende Datei zu laden/anzulegen

C-x i Dateiname die angegebene Datei an der aktuellen Cursorposition in die

derzeitige Datei einfügen

C-x b Buffername zum Buffer mit dem angegebenen Namen wechseln

C-x k [Buffername] den angegebenen bzw. den aktuellen Buffer schließen

C-x C-b Liste aller derzeit geöffneten Buffer in separatem Fenster

(Abschnitt)

e oder f in der Bufferliste den aktiven Buffer im anderen Fenster

öffnen

d in der Bufferliste einen Buffer zum Löschen markieren

s in der Bufferliste einen Buffer zum Speichern markieren

u in der Bufferliste eine Markierung aufheben

x in der Bufferliste alle markierten Lösch- und Speichervor-

gänge ausführen

C-x 2 ein zweites Fenster erzeugen

C-x 4 f Dateiname die angegebene Datei in einem neuen Fenster öffnen/

erstellen

C-x o Wechsel zum jeweils anderen Fenster (auch in die Bufferliste)

C-x v im jeweils anderen Fenster scrollen

C-x 1 Das nicht aktive Fenster schließen

Zähler

C-u n Befehl den angegebenen Befehl so oft durchführen, wie durch die

Anzahl n angegeben

Tabelle 7.5 Die wichtigsten Emacs-Kommandos im Überblick

436

Page 109: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.4 Editoren

M-n Befehl den angegebenen Befehl so oft durchführen, wie durch die

Anzahl n angegeben

Navigation im Text

C-f Cursor um ein Zeichen nach rechts bewegen (forward)

C-b Cursor um ein Zeichen nach links bewegen (backward)

C-p Cursor um eine Zeile nach oben bewegen (previousline)

C-n Cursor um eine Zeile nach unten bewegen (nextline)

M-b Cursor um ein Wort nach rechts bewegen

M-f Cursor um ein Wort nach links bewegen

C-a Cursor zum Zeilenanfang bewegen

C-e Cursor zum Zeilenende bewegen

M-a Cursor zum vorigen Satzbeginn bewegen

M-e Cursor zum nächsten Satzbeginn bewegen

C-v um einen ganzen Bildschirm nach unten scrollen

M-v um einen ganzen Bildschirm nach oben scrollen

M-< Cursor zum Textanfang bewegen

M-> Cursor zum Textende bewegen

Löschen

C-d das Zeichen unter dem Cursor löschen

Backspace das Zeichen links vom Cursor löschen

M-d das folgende Wort löschen

M-Backspace das vorige Wort löschen

C-k vom Cursor bis zum Ende der Zeile löschen

M-k vom Cursor bis zum Satzende löschen

C-t das aktuelle und das vorherige Zeichen vertauschen

Tastenkürzel/Befehl Bedeutung

Tabelle 7.5 Die wichtigsten Emacs-Kommandos im Überblick (Forts.)

437

Page 110: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

Markieren, Kopieren und Einfügen

C-Leertaste Markierung setzen

C-w den Text von der Markierung bis zur aktuellen Cursorposition

ausschneiden

M-w den Text von der Markierung bis zur aktuellen Cursorposition

kopieren

C-y den zuletzt ausgeschnittenen oder kopierten Text an der

aktuellen Cursorposition einfügen

M-y durch die zuvor ausgeschnittenen oder kopierten Texte

»blättern«, um den richtigen auszusuchen

Suchen und Ersetzen

C-s inkrementelle Suche vorwärts einleiten

C-r inkrementelle Suche rückwärts einleiten

C-s C-s erneut nach dem vorherigen Suchbegriff suchen

Enter den Suchmodus verlassen

M-C-s nach einem regulären Ausdruck statt nach einem einfachen

String suchen

M-% interaktives Suchen und Ersetzen: Suchbegriff eingeben,

Ersetzungsstring eingeben, für jede Stelle mit y oder Leer-taste bestätigen, mit n oder Entf ablehnen, oder mit ! für alle

Fundstellen bestätigen

Speichern und Beenden

C-x C-s den aktuellen Buffer speichern

C-x s alle Buffer (mit Nachfrage) speichern

C-x C-w Dateiname die aktuelle Datei unter dem angegebenen neuen Namen

speichern

C-x C-c Emacs beenden (mit Nachfrage, ob die geänderten Buffer

gespeichert werden sollen)

Tastenkürzel/Befehl Bedeutung

Tabelle 7.5 Die wichtigsten Emacs-Kommandos im Überblick (Forts.)

438

Page 111: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.5 Grafische Benutzeroberflächen

Abgesehen davon können Sie diesen Editor völlig frei konfigurieren. Zum einen kön-

nen Sie die Tastenkürzel selbst frei belegen, zum anderen ist der Emacs beliebig

erweiterbar: Er ist mit einer eigenen Variante der Programmiersprache LISP ausge-

stattet. Diese Sprache könnte Programmierer durch ihren eigenwilligen Ansatz

abschrecken, sie ist aber speziell an die Funktionen von Emacs angepasst und erleich-

tert so das Programmieren von Zusatzfunktionen.

7.5 Grafische Benutzeroberflächen

Neben der bis jetzt behandelten Konsole sind alle modernen Linux-Distributionen

auch mit einer grafischen Benutzeroberfläche ausgestattet. Diese Oberfläche besteht

aus zwei verschiedenen Bestandteilen, die aufeinander aufbauen: dem X-Window-

Server oder kurz X-Server und dem Window-Manager.

7.5.1 Der X-Server

Ein X-Server ist das grundlegende Programm, das die allgemeinen Zeichenfunktio-

nen zur Verfügung stellt. Er kann mit anderen Worten die verschiedensten Grafikob-

jekte wie Rechtecke, Linien oder Bilddateien auf den Bildschirm zeichnen, außerdem

verarbeitet er die grundlegende Steuerung mit der Maus. Dem X-Server ist es übri-

gens egal, ob die Anwendung, die er anzeigt und für die er Befehle entgegennimmt –

der X-Client –, auf demselben Rechner läuft oder irgendwo im Netzwerk.

Der traditionelle X-Server für kommerzielle Unix-Varianten heißt X11; die derzeitige

Version ist X11R7. Da dieses Produkt kommerziell war, wurde vor vielen Jahren eine

freie Alternative begründet: Das XFree86-Projekt stellte freie X-Server zur Verfügung;

anfangs für Intel x86-Prozessoren und damit kompatible (daher der Name), später

auch für andere Plattformen. Inzwischen ist der »offizielle« X-Server X11R7 ebenfalls

frei und wird von einer Organisation namens X.org Foundation weiterentwickelt,

während XFree86 wegen Streitigkeiten der Entwickler eingestellt wurde.

Den X-Server auswählen und konfigurieren

Heutzutage ist es ein Leichtes, den richtigen X-Server auszuwählen, weil es in vielen

Fällen automatisch geschieht. Bereits bei der Installation analysieren die meisten

Linux-Distributionen Ihre Hardware und starten meistens den korrekten X-Server,

der zu Ihrer Grafikkarte passt.

In einigen wenigen Fällen funktioniert die Installation des richtigen X-Servers aller-

dings nicht; möglicherweise erhalten Sie lediglich den VGA-X-Server mit 640 × 480

Pixeln und 256 Farben, vielleicht sogar gar keinen. Im letzteren Fall müssen Sie Linux

zunächst im Textmodus installieren und X11 später manuell konfigurieren.

439

Page 112: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

Wenn der X-Server falsch konfiguriert oder gar nicht installiert wurde, wird das wahr-

scheinlich daran liegen, dass Ihre Grafikkarte entweder zu alt oder zu neu ist. Sehr

alte Grafikkarten werden mitunter nicht unterstützt, wenn sie nicht besonders weit-

verbreitet waren, mit neueren arbeiten die X-Server dagegen oft erst einige Zeit nach

der Einführung zusammen. Das Problem ist, dass zunächst einmal Treiber für neue

Grafikkarten entwickelt werden müssen, falls der Hersteller das nicht selbst tut.

Bei openSUSE wird ein praktisches Hilfsprogramm namens SaX (SUSE Advanced X

Configuration Utility) mitgeliefert. In einem nützlichen Dialog können Sie die Para-

meter Ihrer Maus, Ihrer Tastatur, Ihrer Grafikkarte und Ihres Monitors eingeben. SaX

bemüht sich, Ihre Konfiguration automatisch zu ermitteln; nur in wenigen Fällen

müssen Sie selbst eingreifen. Auf jeden Fall sollten Sie die Handbücher Ihres Moni-

tors und Ihrer Grafikkarte bereithalten, weil Sie eventuell Werte wie den RAMDAC

der Grafikkarte oder die Zeilenfrequenz des Monitors manuell eingeben müssen.

Geben Sie sax2 ein, um die aktuelle Version zu starten.

Die meisten anderen Linux-Distributionen besitzen inzwischen ähnliche Hilfspro-

gramme, bei Fedora gibt es beispielsweise den Xconfigurator. Nur in wenigen Fällen

müssen Sie die X-Konfigurationsdateien manuell bearbeiten. In der Regel liegen

diese unter /etc/X11.

Meistens ist Ihr Linux so konfiguriert, dass X-Server und Window-Manager automa-

tisch gestartet werden. Falls das nicht der Fall ist, können Sie den X-Server folgender-

maßen nachträglich starten:

$ startx

Der automatische Start der grafischen Oberfläche lässt sich dagegen am einfachsten

im Systemverwaltungsprogramm einstellen, das je nach Distribution unterschied-

lich ist – bei openSUSE zum Beispiel das Programm YaST. Zuständig ist ein Log-in-

Manager, beispielsweise kdm aus dem KDE-Projekt oder der Klassiker xdm.

7.5.2 Desktops

Erst der Window-Manager, der auf den X-Server aufsetzt, stellt die eigentliche

Arbeitsumgebung mit Fenstern, Menüs und Icons zur Verfügung. Es gibt inzwischen

mehr verschiedene Window-Manager als Unix-Versionen. Einige traditionelle Win-

dow-Manager sind CDE von Sun oder fvwm2, der klassische Linux-Window-Manager.

Die verbreitetsten Projekte sind seit Jahren die freien Desktopumgebungen KDE und

GNOME. Beide bieten im Gegensatz zu den spartanisch ausgestatteten alten Model-

len den gesamten Bedienkomfort von Benutzeroberflächen wie Windows oder Mac

OS (oft sogar noch mehr als das) und werden inzwischen durch zahlreiche Anwender-

programme unterstützt. Genau diese beiden Desktopvarianten werden in diesem

Abschnitt kurz vorgestellt.

440

Page 113: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.5 Grafische Benutzeroberflächen

Tabelle 7.6 zeigt zunächst einen vergleichenden Überblick über die beiden Desktops;

anschließend wird jeder von ihnen näher beschrieben.

KDE

Das K Desktop Environment (KDE) ist eine moderne grafische Benutzeroberfläche für

Linux und andere Unix-Systeme. Es handelt sich um ein Open-Source-Projekt, das

von einer großen Entwicklergemeinde gepflegt wird. Neben dem eigentlichen Desk-

top bietet das KDE-Projekt eine Vielzahl nützlicher Anwendungsprogramme, bei-

spielsweise den Webbrowser Konqueror, auf dem auch der eingebaute Datei-

Manager basiert, sowie das Office-Programmpaket KOffice.

In Abbildung 7.7 sehen Sie einen KDE-Desktop mit geöffneten Fenstern des Terminal-

programms KDE Konsole und des Dateimanagers Dolphin.

Eigenschaft KDE GNOME

vollständiger Name K Desktop Environment GNU Network Object

Model Environment

aktuelle Version 4.9 3.8

Entwicklungsteam The KDE Project The GNOME Foundation

Gründungsjahr 1996 1997

Projektgründer Matthias Ettrich Miguel de Icaza,

Federico Mena

grundlegende

Programmiersprache

C++ C

Grafikbibliothek Qt GtK+

Lizenz GPL/LGPL GPL/LGPL

Dateimanager KDE 4: Dolphin

KDE 3: Konqueror

Nautilus

Terminalemulation Konsole GNOME Terminal

weitere zugehörige

Anwendungen

(Beispiele)

KOffice (Office-Suite)

KMail (E-Mail)

Krita (Bildbearbeitung)

Kate (leistungsstarker Editor)

amaroK (Audio-Player)

Gnumeric (Tabellenkalkula-

tion) und andere Einzel-

Office-Komponenten

Evolution (E-Mail, Group-

ware) GIMP (Bildbearbei-

tung)

Tabelle 7.6 Die wichtigsten Eigenschaften von KDE und GNOME im Vergleich

441

Page 114: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

KDE basiert auf der Grafikbibliothek Qt, die von der norwegischen Firma Trolltech

entwickelt wurde. Angenehmerweise laufen Qt-Anwendungen nicht nur unter

Linux, sondern lassen sich auch unter allen anderen X11-Implementierungen, Win-

dows und Mac OS X kompilieren.

Die Leiste am Fuß des Bildschirms heißt Panel, ist mit der Windows-Taskleiste ver-

gleichbar und bietet die Möglichkeit, schnell auf die häufigsten Anwendungen und

Tools zuzugreifen. Der K-Button ganz links öffnet ein umfangreiches, verschachtel-

tes Menü, in dem fast alle Programme zu finden sind, die unter KDE oder allgemein

unter X11 laufen. Daneben sehen Sie unter anderem Schaltflächen für ein Terminal,

für Ihr Home-Verzeichnis, für das KDE-Kontrollzentrum (die Steuerzentrale für Ihre

persönlichen Einstellungen) und so weiter.

Weiter rechts finden Sie eine Schaltfläche für jedes geöffnete Programm oder Fens-

ter; durch Anklicken dieser Schaltflächen können Sie schnell zwischen den Fenstern

wechseln.

Abbildung 7.7 KDE-Desktop mit Terminalfenster und Dateimanager

442

Page 115: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.5 Grafische Benutzeroberflächen

Desktop-

verknüpfungen

Wenn Sie auf bestimmte Programme oder Daten, die Sie häufig verwenden, beson-

ders schnell zugreifen möchten, können Sie eine Verknüpfung auf dem Desktop

anlegen. Am schnellsten erstellen Sie eine solche Verknüpfung, indem Sie mit der

rechten Maustaste eine leere Stelle auf dem Desktop anklicken und aus dem Kon-

textmenü den Befehl Neu erstellen � Verknüpfung zu Programm auswählen.

Im erscheinenden Dialog können Sie die Eigenschaften der Verknüpfung bequem

einstellen. Abgespeichert werden diese Informationen schließlich in einer Textda-

tei mit der Endung .desktop im Verzeichnis Desktop in Ihrem Home-Verzeichnis.

Vom Desktop können Sie eine Verknüpfung in das Panel ziehen, um sie dort dauer-

haft für den Schnellstart abzulegen. Hier kommen Sie auch dann an eine Anwendung

heran, wenn der gesamte Desktop mit offenen Fenstern übersät ist.

Die Funktion von Dolphin ist im Grunde genommen selbsterklärend. Er verhält sich

als Datei-Manager ähnlich wie die Pendants in anderen Betriebssystemen und ist als

Browser mit einigen der modernsten Fähigkeiten ausgestattet. Standardmäßig brau-

chen Sie Dateisymbole nicht doppelt zu klicken, sondern es genügt ein einfacher

Klick wie bei Hyperlinks auf Webseiten.

Im KDE-Kontrollzentrum finden Sie eine Vielzahl von Einstellungsmöglichkeiten,

mit denen Sie den Desktop und die verschiedenen KDE-Komponenten Ihren Bedürf-

nissen und Wünschen anpassen können. Beispiele für solche Einstellungen sind der

Desktophintergrund, die automatische Anordnung von Icons, die zu benutzenden

Schriften, die Sprache oder die Browser-Konfiguration. Da KDE mit einer umfangrei-

chen HTML-basierten Hilfe ausgestattet ist, die alle Optionen genau erklärt, müssen

diese Einstellungsmöglichkeiten hier nicht näher behandelt werden.

GNOME

Das GNU Object Model Environment (GNOME) ist ebenfalls ein Open-Source-Projekt,

das auf der Grafikbibliothek GtK+ basiert. Anders als KDE wird zwischen der Desktop-

verwaltung und dem X-Server ein herkömmlicher Window-Manager für die grundle-

gende Bereitstellung der Fenster und Menüs eingesetzt. Der Standard-Window-

Manager ist Sawfish, andere GNOME-kompatible Window-Manager sind Enlighten-

ment, AfterStep oder WindowMaker.

In Abbildung 7.8 sehen Sie den GNOME-Desktop mit dem GNOME Terminal und dem

Dateimanager Nautilus.

Die Leiste am linken Rand des Desktops wird Panel genannt. Sie enthält unter ande-

rem den Desk Guide (deutsch »Arbeitsflächenumschalter«): Die GNOME-Oberfläche

lässt sich in mehrere virtuelle Desktops aufteilen, zwischen denen Sie per Klick auf

die Buttons des Desk Guides hin und her wechseln können. Falls der Arbeitsflächen-

umschalter bei Ihrer GNOME-Installation nicht angezeigt wird, klicken Sie mit der

rechten Maustaste ins Panel, wählen dann die Option Zum Panel hinzufügen und

443

Page 116: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

danach den Listeneintrag Arbeitsflächenumschalter. Mit einem weiteren

Rechtsklick und der Auswahl Eigenschaften können Sie ihn anschließend konfi-

gurieren.

Abbildung 7.8 GNOME-Desktop mit Terminalfenster und Dateimanager

Auch eine Taskliste ist im Panel vorhanden; sie enthält für jedes geöffnete Programm

beziehungsweise Fenster einen Button.

Der Button Computer im Panel öffnet das Hauptmenü des GNOME-Desktops. Hier

finden Sie eine Reihe von Einträgen, beispielsweise Programme (Verknüpfungen

mit den wichtigsten GNOME- und X-Anwendungen), Favoriten (eine anfangs leere

Liste Ihrer bevorzugten Dateien, Ordner oder Internetressourcen) und System (Sper-

ren des Desktops bei Abwesenheit, Abmelden).

Desktop- und

Panel-

Verknüpfungen

Auch bei GNOME können Sie den Desktop mit Verknüpfungs-Icons versehen. Wäh-

len Sie dazu aus dem Kontextmenü des Desktops (rechte Maustaste) die Option

Starter anlegen. Es erscheint ein Dialog für die Einstellung aller Eigenschaften der

Verknüpfung.

444

Page 117: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.6 Netzwerkkonfiguration unter Linux

Falls Sie eine Verknüpfung zum Panel hinzufügen möchten, klicken Sie mit der rech-

ten Maustaste auf das Panel, und wählen Sie Zum Panel hinzufügen � Starter.

Die möglichen Einstellungen sind dieselben wie bei einem Desktopstarter.

Alle zentralen Einstellungen für das Erscheinungsbild und das Verhalten des

GNOME-Desktops werden im GNOME-Kontrollzentrum getroffen. Wie bei KDE kön-

nen Sie hier beispielsweise Hintergrundbilder, Farben, Schriften oder Bildschirm-

schoner einstellen. Zusätzlich wird an dieser Stelle der zugrundeliegende Window-

Manager ausgewählt und konfiguriert.

7.6 Netzwerkkonfiguration unter Linux

In den meisten modernen Linux-Systemen gibt es praktische grafische Tools zur

Netzwerkkonfiguration. Da diese in jeder Distribution anders heißen und funktio-

nieren, wird an dieser Stelle nur kurz erläutert, wie sich das Netzwerk mithilfe von

Konsolentools einrichten lässt.

7.6.1 Grundeinstellungen

Unter Linux können Sie Gerätetreiber auf zwei Arten installieren: Entweder werden

sie fest in den Kernel einkompiliert oder als dynamisch lad- und entfernbare Module

eingerichtet. Beide Varianten wurden in diesem Kapitel bereits allgemein angespro-

chen.

ifconfigFalls Sie einer Schnittstelle eine IP-Adresse zuweisen möchten, funktioniert dies

ebenfalls über die grafischen Konfigurationsprogramme Ihrer Distribution oder

über den Befehl ifconfig (für interface configuration). Wenn Sie ifconfig ohne Para-

meter eingeben, erhalten Sie eine Übersicht über die aktuelle Konfiguration, die zum

Beispiel folgendermaßen aussieht:

$ ifconfigeth0 Link encap:Ethernet HWaddr 00:00:CB:53:17:64

inet addr:192.168.1.2 Bcast:192.168.1.255Mask:255.255.255.0

inet6 addr: fe80::200:cbff:fe53:1764/10Scope:Link

inet6 addr: fe80::cb53:1764/10 Scope:LinkEtherTalk Phase 2 addr:65280/53UP BROADCAST RUNNING MULTICAST MTU:150

Metric:1RX packets:8908250 errors:0 dropped:8242

overruns:0 frame:0

445

Page 118: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

TX packets:7453081 errors:0 dropped:0overruns:0 carrier:0

collisions:2829807

lo Link encap:Local Loopbackinet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostEtherTalk Phase 2 addr:0/0UP LOOPBACK RUNNING MTU:3924 Metric:1RX packets:994 errors:0 dropped:0 overruns:0

frame:0TX packets:994 errors:0 dropped:0 overruns:0

carrier:0collisions:0

Wie Sie sehen, besitzt der Computer eine Ethernet-Karte mit dem Gerätenamen eth0

und der IP-Adresse 192.168.1.2 sowie natürlich ein Loopback-Interface. Einige der

anderen Informationen sollten Sie wiedererkennen und verstehen, wenn Sie Kapi-

tel 4, »Netzwerkgrundlagen«, gründlich gelesen haben. Wenn der Rechner noch wei-

tere Ethernet-Karten hätte, würden ihre Gerätenamen entsprechend eth1, eth2 und

so weiter lauten.

Falls Sie der Schnittstelle eth0 eine andere IP-Adresse zuweisen möchten, müssen Sie

Folgendes eingeben:

# ifconfig eth0 192.168.0.7 netmask 255.255.255.0

Beachten Sie, dass diese Zuweisung nur für die Dauer einer Sitzung gilt. Damit sie

dauerhaft gültig bleibt, muss der Konfigurationsbefehl in einem Skript stehen, das

beim Systemstart automatisch ausgeführt wird. Die beiden grundsätzlichen Varian-

ten – System V Init und BSD-Startskripte – wurden hier bereits erläutert. In der Regel

ist es aber einfacher, das Konfigurationsprogramm Ihrer Linux-Distribution einzu-

setzen. insbesondere für erweiterte TCP/IP-Optionen wie Nameserver, den Bezug der

Konfigurationsdaten über DHCP oder den Netzzugang über Wählleitungen.

Das Default-

Gateway

einrichten

Wenn Sie über das LAN auf andere Netzwerkbereiche oder auf das Internet zugreifen,

müssen Sie als Nächstes eine Routing-Konfiguration erstellen. Angenommen, Ihre

eigene (feste) IP-Adresse sei 192.168.0.9. Um das Default-Gateway 192.168.0.1, einen

DSL-Router für Internetverbindungen, einzurichten, können Sie den folgenden

Befehl eingeben:

# route add default gw 192.168.0.1

default gw besagt, dass hier das Default-Gateway eingestellt wird. Beachten Sie, dass

auch diese Einstellung in ein Startskript gehört.

446

Page 119: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.6 Netzwerkkonfiguration unter Linux

Die Verwendung anderer Netzwerkprotokolle als TCP/IP ist unter Unix nur in abso-

luten Ausnahmefällen erforderlich. Falls Sie AppleTalk, NetBEUI oder ein anderes

Protokoll auf Ihrem Linux-System verwenden möchten, müssen Sie es zunächst in

den Kernel einkompilieren. Aber selbst die im Folgenden behandelten Datei- und

Druckserver, über die Linux Windows- und Mac OS-Clients bedienen kann, arbeiten

standardmäßig über IP.

7.6.2 TCP/IP-Dienstprogramme

Linux enthält im Wesentlichen dieselben TCP/IP-Testprogramme wie Windows, nur

ihre Syntax unterscheidet sich in Details.

ping sendet in der Linux-Version ein Paket nach dem anderen, bis Sie (Strg) + (C)

drücken; danach wird die Statistik angezeigt. Das folgende Beispiel testet die Loop-

back-Schnittstelle:

$ ping localhostPING localhost (127.0.0.1) 56(84) bytes of data.64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.318 ms64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.151 ms64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.165 ms64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.154 ms^C--- localhost ping statistics ---4 packets transmitted, 4 received, 0% packet loss, time 3001msrtt min/avg/max/mdev = 0.151/0.197/0.318/0.070 ms

Das Programm zur Routenverfolgung heißt auf Unix-Systemen traceroute. netstat

funktioniert wie unter Windows, nur heißt die Option zum Beschränken der Ausgabe

auf TCP-Pakete hier einfach -t.

Auch nslookup funktioniert wie die Windows-Version. Sie sollten aber überprüfen,

ob bei Ihnen das Programm dig vorhanden ist – es erfüllt im Wesentlichen dieselbe

Aufgabe wie nslookup, liefert aber erheblich aussagekräftigere Antworten.

7.6.3 Datei- und Druckserver unter Linux

Unter Unix gibt es eine Reihe von Möglichkeiten, Dateisysteme und Drucker im

Netzwerk freizugeben. In diesem Abschnitt werden die folgenden Systeme kurz vor-

gestellt: das Unix-File-Sharing-System NFS, die Druckerumgebung CUPS sowie

Samba als freier Server für Windows-Netzwerke.

Beachten Sie, dass alle hier und in den späteren Kapiteln besprochenen Konfigurati-

onsdateien einfache ASCII-Textdateien sind, die Sie mit einem beliebigen Editor

447

Page 120: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

bearbeiten können. Ärgerlicherweise besitzt jede dieser Dateien über die erforderli-

chen unterschiedlichen Konfigurationsbefehle hinaus noch eine andere Syntax, die

man sich jeweils aneignen muss. Die meisten neueren Softwareprojekte entscheiden

sich glücklicherweise immer häufiger für das standardisierte XML-Format.

NFS

Die klassische, unter allen gängigen Unix-Systemen standardisierte Form der

Dateifreigabe ist das Network File System (NFS). Es gibt zwar zahlreiche modernere,

leistungsfähigere Netzwerkdateisysteme, aber noch immer bildet NFS eine Menge

der gemeinsamen Eigenschaften.

Wenn Sie auf Ihrem Rechner Dateien über NFS freigeben möchten, müssen Sie

zunächst den NFS-Server starten, dessen eigentlicher Name nfsd (Network File Sys-

tem Daemon) lautet. Was hier bereits über die TCP/IP-Konfiguration gesagt wurde,

gilt auch für den nfsd und andere Serverdienste: Damit sie beim Booten automatisch

gestartet werden, müssen sie in ein Bootskript eingetragen werden, das je nach Unix-

Version oder Linux-Distribution unterschiedlich aufgebaut ist. Das Einfachste ist es

also auch hier, den Start des NFS-Servers über das Konfigurationsprogramm Ihrer

Distribution zu konfigurieren.

NFS-

Freigaben

Welche Verzeichnisse Sie für den Netzwerkzugriff freigeben möchten, regelt die Kon-

figurationsdatei /etc/exports. Ein Eintrag zur Freigabe eines Verzeichnisses besitzt

unter Linux das folgende Format:

Pfad Host(Optionen) Host(Optionen)

Wenn Sie also beispielsweise das Verzeichnis /test ohne besondere Einstellungen an

die Rechner 192.168.0.3 und 192.168.0.4 in Ihrem lokalen Netzwerk freigeben möch-

ten, lautet die Zeile in der Konfigurationsdatei:

/test 192.168.0.3 192.168.0.4

Beachten Sie, dass die Konfigurationsdatei bei anderen Unix-Versionen eine andere

Syntax besitzt als unter Linux. In Sun Solaris heißt sie sogar anders, nämlich /etc/dfs/

dfstab.

Um die für den Export bestimmten Verzeichnisse tatsächlich freizugeben, müssen Sie

die folgende Anweisung verwenden, die ebenfalls in einem Startskript stehen sollte:

# exportfs -a

Wenn Sie auf ein freigegebenes NFS-Verzeichnis eines anderen Rechners zugreifen

möchten, müssen Sie es mithilfe des mount-Befehls in Ihren Verzeichnisbaum impor-

tieren. Das funktioniert beispielsweise folgendermaßen:

448

Page 121: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.6 Netzwerkkonfiguration unter Linux

$ mount -t nfs server:/export/pub /pub

Die Option -t nfs gibt den Dateisystemtyp NFS an. Das zu mountende Verzeichnis

beginnt mit dem Namen des gewünschten Hosts, der durch einen Doppelpunkt vom

entfernten Pfad getrennt wird; die letzte Angabe ist wie gehabt das lokale Verzeich-

nis, in das der importierte Pfad eingebunden werden soll.

CUPS

Das Drucken unter Unix und erst recht die Freigabe von Druckern im Netzwerk

gehörten in früheren Zeiten zu den kompliziertesten Themen. Seit einigen Jahren

steht mit dem Common Unix Printing System (CUPS) eine sehr praktische Schnitt-

stelle zu vielen verschiedenen Druckern, Druckertreibern und Seitenbeschreibungs-

sprachen zur Verfügung. Es handelt sich um ein GNU-basiertes Open-Source-Projekt,

das von der Firma Easy Software Products entwickelt wird.

Systeme wie der BSD-lpd (Line Printer Daemon) oder ein ähnliches Paket aus System

V wurden in den 1970er Jahren entworfen und dienen lediglich der zeilenweisen Aus-

gabe von Text. Für Grafik, PostScript-Druck und so weiter wurden in der Folgezeit

zahlreiche proprietäre Lösungen eingeführt. CUPS fasst die Funktionen der klassi-

schen Unix-Druckumgebungen zusammen und fügt allgemeingültige Lösungen für

den Grafikdruck hinzu.

Der CUPS-

Scheduler

Die Schaltzentrale von CUPS ist der Scheduler, der die verschiedenen Druckjobs ent-

gegennimmt und in die Warteschlangen (Queues) der verschiedenen Drucker stellt.

Der Scheduler ist ein kleiner HTTP-Server und kann Druckjobs deshalb sowohl vom

lokalen Rechner als auch aus dem Netzwerk entgegennehmen; er lauscht am TCP-

Port 631. Die Druckjobs werden als HTTP-PUT-Anfragen in einem bestimmten Format

übermittelt, das als Internet Printing Protocol (IPP) in RFC 2911 und anderen RFCs defi-

niert ist. Außerdem kann der Scheduler natürlich als gewöhnlicher Webserver ver-

wendet werden, was zum Beispiel manchmal genutzt wird, um die CUPS-

Dokumentation im HTML-Format im Intranet bereitzustellen.

Das bekannte und weitverbreitete HTTP-Protokoll sorgt dafür, dass es sehr leicht ist,

CUPS-Clients zu schreiben. Aus diesem Grund verbreiten sie sich schnell in der Unix-

Welt. Innerhalb weniger Jahre hat sich CUPS zu einer der führenden Drucklösungen

entwickelt.

Wenn an Ihren Rechner ein Drucker angeschlossen ist, der sich über CUPS ansteuern

lässt (das System ist mit Treibern für fast alle gängigen Druckermodelle ausgestattet),

können Sie den CUPS-Server cupsd starten, um selbst darauf zu drucken oder anderen

Benutzern im Netzwerk den Zugriff auf den Drucker zu erlauben. Auch für den

Zugriff auf die CUPS-Drucker anderer Hosts müssen Sie cupsd auf Ihrem eigenen

Rechner einrichten.

449

Page 122: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

Die Konfiguration des Daemons steht normalerweise in der Konfigurationsdatei

/etc/cups/cupsd.conf. Die wichtigsten Befehle sind Allow und Deny, mit denen Sie den

jeweils angegebenen Hosts den Zugriff gewähren beziehungsweise verweigern kön-

nen. BrowseAllow und BrowseDeny ermöglichen dagegen die Angabe von Hosts, deren

Druckerinformationen Sie erhalten oder nicht erhalten möchten.

Samba

Der Dateiserver Samba ermöglicht die Freigabe von Verzeichnissen und Druckern an

Windows-Clients. Der Name leitet sich von SMB ab, dem File-Sharing-Protokoll der

Windows-Betriebssysteme.

Wenn Sie Samba benutzen möchten, muss der Samba-Server smbd laufen. Die Kon-

figuration des Servers ist in der Datei /etc/smb.conf festgelegt. Sie verfügt über

Dutzende möglicher Konfigurationsbefehle, die auf der Manpage man smb.conf doku-

mentiert sind. Die Datei ähnelt eher einer Windows-ini-Datei als einer typischen

Unix-Konfigurationsdatei: Unter verschiedenen Abschnitten, deren Namen in ecki-

gen Klammern stehen, werden die Konfigurationsbefehle zeilenweise als Name=Wert-

Paare gesetzt.

smb.conf Die folgende kurze smb.conf-Datei ermöglicht beliebigen Windows-Benutzern den

anonymen Vollzugriff auf das Verzeichnis /export/pub und auf einen Drucker vom

Typ HP LaserJet:

[global]netbios name = Serverworkgroup = Workgrouphosts allow = 192.168.1.log file = /var/log/samba/log.%mprinting = cupsguest account = nobodysecurity = share

[pub]comment = Serververzeichnis für allepath = /export/pubpublic = yeswritable = yesprintable = yesbrowseable = yescreate mask = 0775

[hplj]comment = HP LaserJet

450

Page 123: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7.6 Netzwerkkonfiguration unter Linux

printer name = hpljwritable = yespublic = yesprintable = yesbrowseable = yes

Die Gruppe [global] enthält zunächst die allgemeine Konfiguration: Der netbios

name ist der Rechnername, der in der Windows-Netzwerkumgebung angezeigt wer-

den soll. Wenn Sie ihn weglassen, wird stattdessen der TCP/IP-Hostname exportiert.

Die workgroup gibt an, in welcher Windows-Netzwerk-Arbeitsgruppe der Samba-Ser-

ver auftauchen soll. hosts allow enthält eine Liste von IP-Adress-Schemata, die auf

den Server zugreifen dürfen – in diesem Beispiel das LAN mit der Adressgruppe

192.168.1.x. Die Angabe %m hinter dem log file gibt an, dass pro Monat eine neue Log-

Datei angelegt werden soll, die mit der Nummer des laufenden Monats endet. secu-

rity bestimmt die in diesem Kapitel bereits besprochene Windows-Freigabeebene.

share steht für Share Level Security, während user für User Level Security verwendet

wird. Wenn Gäste zugreifen, werden ihre Aktionen unter dem lokalen Benutzerkonto

nobody ausgeführt.

Unter dem selbst gewählten Namen [pub] wird das Verzeichnis /export/pub frei-

gegeben. Das Setzen sämtlicher Optionen auf den Wert yes bedeutet, dass der voll-

ständige Zugriff auf das Verzeichnis möglich ist. Die create mask gibt an, mit welchen

Benutzerrechten neu angelegte Dateien gespeichert werden sollen. Ähnliche Ein-

stellungen gelten auch für den Drucker.

Der SMB-ClientDie Samba-Distribution enthält neben dem Server übrigens einen SMB-Client, mit

dessen Hilfe Sie umgekehrt auf Windows-Freigaben im Netzwerk zugreifen können.

Er wird über den Konsolenbefehl smbclient aufgerufen und bildet eine Art eigene

Shell. Zunächst können Sie testen, welche Freigaben ein bestimmter Windows-Host

überhaupt zur Verfügung stellt:

$ smbclient -L winbox

Sie erhalten eine Liste aller freigegebenen Ordner auf dem angegebenen Host, in die-

sem Fall winbox. Angenommen, die Liste enthält eine Freigabe namens PUB vom Typ

Disk (Festplatte; eigentlich Verzeichnis). Sie können folgendermaßen auf dieses Ver-

zeichnis zugreifen:

$ smbclient \\\\winbox\\pub

Der NetBIOS-Freigabename des Verzeichnisses lautet eigentlich \\winbox\pub. Da die

Unix-Shell den Backslash aber für Escape-Sequenzen einsetzt, müssen Sie je einen

durch zwei von ihnen darstellen. Anschließend können Sie eine Reihe verschiedener

451

Page 124: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

7 Linux

Befehle eingeben, um Dateioperationen an den Inhalten der Freigabe vorzunehmen.

Viele von ihnen entsprechen den Windows-Konsolenbefehlen, die im vorigen Kapi-

tel erläutert wurden. Der Befehl h listet alle verfügbaren Befehle auf. Mithilfe von quit

oder exit können Sie den smbclient beenden.

Noch einfacher ist es, die SMB-Freigabe mithilfe von mount als Volume zu mounten;

danach können Sie sie benutzen wie jedes andere Verzeichnis. Das folgende Beispiel

macht die vorige Freigabe unter dem Verzeichnis /media/smb verfügbar, das zuvor

angelegt worden sein muss:

# mount -t cifs //winbox/pub /media/smb

Bei älteren Samba-Versionen musste das Dateisystem als smbfs statt als cifs (Com-

mon Internet File System) angegeben werden.

7.7 Zusammenfassung

Unix ist mit seinen verschiedenen Derivaten und Implementierungen die älteste

noch existierende Betriebssystemfamilie. Doch obwohl es aus einer Zeit stammt, in

der Computersysteme ganz anders organisiert waren als heute, laufen Unix-Varian-

ten erfolgreich auf den verschiedensten modernen Rechnern. Das liegt vor allem an

dem extrem modularen Aufbau des ursprünglichen Konzepts: Jede Komponente des

Systems kann ausgetauscht oder angepasst werden.

Moderne Unix-Systeme vereinen auf diese Weise ein stabiles und verhältnismäßig

sicheres Betriebssystem mit Profi-Tools wie der Shell und ihren unzähligen Kom-

mandos sowie mit einer intuitiven und angenehmen Arbeitsoberfläche wie KDE

oder GNOME.

Der Schlüssel zum Verständnis von Unix oder Linux ist zweifellos der Umgang mit

der Kommandozeile, weshalb ihr in diesem Kapitel auch wesentlich mehr Platz ein-

geräumt wurde als der Betrachtung der GUIs. Wer einmal gelernt hat, mit einer

modernen Unix-Shell wie der bash zu arbeiten, wird viele Aufgaben gar nicht mehr

mithilfe der grafischen Benutzeroberfläche erledigen wollen, weil dies einfach

umständlicher und langsamer funktionieren würde.

Dieses Kapitel konzentrierte sich auf Linux als konkretes Beispiel für Unix-artige

Betriebssysteme. Es ist eine zeitgemäße, freie Unix-Implementierung, die auf bei-

nahe beliebiger Hardware vom PDA über gewöhnliche PCs bis zum Superrechner

läuft. Es besticht durch seine beinahe grenzenlose Flexibilität und Konfigurierbar-

keit. Zudem ist es überaus stabil und – bei vernünftiger Administration – recht sicher.

Im nächsten Kapitel wird als weiteres Beispiel Mac OS X behandelt, das aktuelle Sys-

tem für Apple-Macintosh-Rechner.

452

Page 125: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

!, Operator ............................................. 482

!, Ruby-Kennzeichen für Referenz-

methoden ......................................... 538

!=, Operator .......................................... 483

!~, Perl-Operator .................................. 581

#, Perl-Kommentar ............................ 521

#define, Präprozessor-Direktive 499

#endif, Präprozessor-Direktive ... 499

#ifdef, Präprozessor-Direktive .... 499

#include, C-Präprozessor-Direk-

tive ...................................................... 475

#include, Präprozessor-Direktive

498

$, Operator in RegExp ...................... 580

$, Perl-Variable ............................ 516, 518

$, PHP-Variable ................................... 965

$/, Perl-Variable .................................. 872

$_, Perl-Variable ................................... 519

$0, Unix-Systemvariable ................ 384

%, Operator ........................................... 481

%, Perl-Variable .................................... 518

&&, Operator

als Perl-Fallunterscheidung ...... 524

C ........................................................... 481

Perl ...................................................... 524

&, Dereferenzierungs-Operator ... 492

&, Operator, C ...................................... 482

*, Operator ............................................. 481

RegExp ............................................... 578

++, Operator ......................................... 484

+, Operator ............................................ 481

JavaScript-String-Verkettung 1041

RegExp ............................................... 578

String-Verkettung, Java .... 504, 505

-, Operator .................................... 481, 495

--, Operator ........................................... 484

., Perl-Operator .................................... 523

.bashrc, Unix-Konfigurations-

datei .................................................... 385

.NET ........................................................ 1140

.NET Framework .................................... 52

/, Operator ............................................ 481

//, Java-Kommentar ......................... 506

/etc/exports, NFS-Konfigurations-

datei .................................................... 448

/etc/passwd, Unix-Konfigurations-

datei .................................................... 381

/etc/profile, Unix-Konfigurations-

datei .................................................... 385

/etc/shadow, Unix-Konfigurations-

datei .................................................... 383

<a>, HTML-Tag ..................................... 915

<address>, HTML-Tag ...................... 910

<applet>, HTML-Tag ........................ 940

<area>, HTML-Tag ............................. 922

<article>, HTML5-Tag ...................... 909

<aside>, HTML5-Tag ........................ 909

<audio>, HTML5-Tag ........................ 939

<b>, HTML-Tag .................................... 910

<body>, HTML-Tag ............................ 902

<br />, HTML-Tag .............................. 904

<caption>, HTML-Tag ....................... 924

<code>, HTML-Tag ............................ 910

<col>, HTML-Tag ................................ 928

<colgroup>, HTML-Tag .................... 928

<dl>, HTML-Tag ................................... 913

<dt>, HTML-Tag ................................... 914

<em>, HTML-Tag ................................ 910

<embed>, HTML-Tag ........................ 938

<figcaption>, HTML5-Tag .............. 909

<figure>, HTML5-Tag ....................... 909

<footer>, HTML5-Tag ...................... 909

<form>, HTML-Tag ............................ 930

<h1> bis <h6>, HTML-Tags ............ 908

<head>, HTML-Tag ............................ 902

<header>, HTML5-Tag ..................... 909

<hgroup>, HTML5-Tag .................... 909

<html>, HTML-Tag ............................ 902

<i>, HTML-Tag ..................................... 910

<img>, HTML-Tag .............................. 920

<input>, HTML-Tag ............................ 931

neue Typen in HTML5 ................. 936

<li>, HTML-Tag ..................................... 911

<map>, HTML-Tag ............................. 922

<meta>, HTML-Tag ................... 904, 941

<nav>, HTML5-Tag ........................... 909

<object>, HTML-Tag ......................... 940

<ol>, HTML-Tag ................................... 912

<option>, HTML-Tag ........................ 933

<p>, HTML-Tag ................................... 907

<pre>, HTML-Tag ............................... 908

<script>, HTML-Tag ......................... 1038

<section>, HTML5-Tag ..................... 909

<select>, HTML-Tag ........................... 933

<strike>, HTML-Tag ........................... 910

<strong>, HTML-Tag ......................... 910

<style>, HTML-Tag ............................ 946

<sub>, HTML-Tag ............................... 910

<sup>, HTML-Tag ............................... 910

<table>, HTML-Tag ............................ 923

<tbody>, HTML-Tag ........................... 927

<td>, HTML-Tag .................................. 924

<textarea>, HTML-Tag ...................... 933

<tfoot>, HTML-Tag ............................ 927

<th>, HTML-Tag .................................. 924

<thead>, HTML-Tag ........................... 927

<title>, HTML-Tag ............................. 902

<tr>, HTML-Tag ................................... 923

<tt>, HTML-Tag ................................... 910

<u>, HTML-Tag .................................... 910

<ul>, HTML-Tag .................................... 911

<video>, HTML5-Tag ......................... 939

=, Operator ............................................ 483

==, Operator ......................................... 483

=~, Operator .......................................... 581

=~, Perl-Operator ................................. 527

? , Operator ........................................... 484

?, Operator

RegExp ............................................... 578

@, Perl-Variable ................................... 518

@_, Perl ................................................... 525

@font-face (CSS3) .............................. 960

^, Operator

C ........................................................... 482

in RegExp ................................. 578, 580

__call(), magische PHP-Methode 988

__get(), magische PHP-Methode 988

__isset(), magische PHP-Methode

988

__set(), magische PHP-Methode 988

__toString(), magische PHP-Methode

978

``, Operatoren ...................................... 586

|, Operator ............................................. 482

in RegExp ......................................... 580

1165

Page 126: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

||, Operator ............................................ 481

als Perl-Fallunterscheidung ...... 523

Perl ...................................................... 523

~, Operator ............................................ 482

0900-Dialer .......................................... 1113

1:1-Beziehung, RDBMS ..................... 704

1:n-Beziehung, RDBMS .................... 704

1000BaseFL, Ethernet-Standard 208

1000BaseTX, Ethernet-Standard 208

100BaseT, Ethernet-Standard ....... 207

10Base2, Ethernet-Standard .......... 204

10Base5, Ethernet-Standard ........... 205

10BaseT, Ethernet-Standard .......... 207

16-Bit-Anwendung

unter Win32 ..................................... 330

3D Now! (CPU-Befehlserweiterung)

123

3G (Mobilfunk) .................................... 223

4G (Mobilfunk) .................................... 223

8.3 (MS-DOS-Dateinamensschema)

320

A

Abakus ....................................................... 35

Abfrage, RDBMS

Änderungsabfrage ......................... 719

Auswahlabfrage ................... 707, 719

Einfügeabfrage ................................ 719

Löschabfrage .................................... 719

Abfrage, RDBMS, SQL ....................... 708

Abgeleitete Klasse ............................. 509

Absatz

HTML ................................................. 907

Absoluter Pfad ............................. 316, 319

Abstract Factory, Entwurfs-

muster ............................................... 687

accept(), Perl-Funktion ..................... 598

ACCEPT, iptables-Regel ................... 1125

Access Point (WLAN) ................ 212, 1133

Access, Datenbank .............................. 711

ACID (Transaktionen) ....................... 730

Action Mailer (Ruby on Rails) ..... 1016

Action Pack (Ruby on Rails) ......... 1016

Action Web Service (Ruby on Rails)

1016

ActionListener ..................................... 645

actionPerformed(), AWT-Me-

thode .................................................. 645

Active Directory ....................... 374, 1133

Active Record (Ruby on Rails) ..... 1016

Active Server Pages � ASP.NET

Active Support (Ruby on Rails) ... 1016

ActivePerl ............................................... 515

ActiveX ................................................... 1133

ActiveX-Objekt ................................... 939

Ada, Programmiersprache ................ 36

Adapter, Entwurfsmuster .............. 687

Addierer (Schaltung) ........................... 91

Addiermaschine .................................... 36

Addierwerk (Schaltung) ..................... 91

Addition, Operator ............................. 481

Administrator, Windows-Benutzer

361

Administratorendokumentation 672

Administratorrechte ......................... 1111

Adobe PostScript ...................... 169, 882

Adressbus .............................................. 119

Wortbreite .......................................... 121

Adressierung, Speicher ...................... 81

ADSL ........................................................ 220

anschließen ...................................... 222

ADSL2(+) ................................................. 221

Advanced Data Guarding (RAID) 152

AdWare .................................................. 1133

Adware ................................................... 1115

Aggregatfunktion, SQL ..................... 726

Agile Softwareentwicklung ............ 675

AGP ................................................. 140, 1133

AI � Künstliche Intelligenz

AIFF, Audio-Dateiformat ................. 891

AIX, Betriebssystem ......................... 293

Ajax ........................................................ 1081

Antwort verarbeiten .................. 1084

Aspekte ............................................. 1081

Bibliotheken für ........................... 1099

DOM-Einsatz für ......................... 1085

JSON ..................................... 1088, 1098

komplexes Beispiel ..................... 1089

mit jQuery ....................................... 1101

Objekt erzeugen .......................... 1082

onreadystatechange, Eigenschaft

1083

open(), Methode .......................... 1082

PHP-Skript (Serverantwort) .... 1086

readyState, Eigenschaft ............ 1083

responseText, Eigenschaft ....... 1085

responseXML, Eigenschaft ..... 1089,

1092

send(), Methode ........................... 1084

Serverantwort .............................. 1086

Ajax (Forts.)

XML ........................... 1088, 1090, 1092

XMLHttpRequest ......................... 1082

Akteur (UML) ....................................... 679

Aktivitätsdiagramm (UML) ............ 683

Akustikkoppler .................................... 178

Akzessoren (Ruby) .............................. 552

Al Chwarismi (arab. Mathe-

matiker) ............................................... 34

Algebra

Boolesche ..................................... 62, 95

Definition ........................................... 94

lineare .................................................. 95

relationale ....................................... 704

zur Algorithmendarstellung ....... 94

Algorithmus .................. 34, 94, 561, 1133

algebraische Darstellung ............. 94

anschaulich-sprachliche Dar-

stellung ........................................... 95

Berechenbarkeit ............................... 96

binäre Suche .................................... 570

BubbleSort ........................................ 564

Diagrammdarstellung .................. 95

entwickeln ......................................... 561

größter gemeinsamer Teiler

(GGT) ............................................. 562

Komplexität ...................................... 97

lineare Suche ............................ 97, 569

O-Notation der Komplexität ...... 98

Permutationen ................................. 98

Pseudocode-Darstellung .............. 95

QuickSort .......................................... 567

Sortier- ............................................... 564

Such- ................................................... 569

Alias (Mac-Verknüpfung) ................ 462

Alias (Unix-Shell) ................................. 421

Alias, Apache-Direktive .................... 775

alias, Unix-Befehl ................................ 421

Allen, Paul ............................................. 294

Allow, Apache-Direktive .................. 776

AllowOverride, Apache-Direktive 776

ALOHANet ............................................ 203

Alpha, Prozessor .......................... 121, 124

ALRM, Signal ....................................... 308

Altair 8800, früher Mikrocom-

puter ...................................................... 41

ALU ................................................. 118, 1133

FPU ....................................................... 118

Amazon Web Services .................... 1033

AMD ......................................................... 117

Amiga ........................................................ 44

1166

Page 127: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Amigos, drei ......................................... 677

Amplitude, Audio ................................ 56

Analog

Unterschied zu digital .................... 53

Analyse, Software-Engineering ... 666

Lastenheft ........................................ 667

objektorientierte Analyse .......... 667

Pflichtenheft ................................... 668

strukturierte Analyse ................... 667

Analytical Engine ................................. 36

Änderungsabfrage .............................. 719

Android (Smartphone-OS) ............... 46

AND-Schaltung ..................................... 88

Aufbau mit Transistoren .............. 88

mit einfachen Mitteln nachbauen

86

AND-Verknüpfung .............................. 63

Anführungszeichen

PHP .................................................... 968

verschiedene, Bedeutung in

Perl ................................................. 522

Angewandte Informatik .................... 26

Animation

Doble Buffering .............................. 638

Java, AWT ......................................... 638

ANSI ........................................................ 1133

C-Standard ....................................... 495

ANSI-C ..................................................... 473

ANSI-Zeichensatz ............................... 875

Antivirenprogramm ....................... 1109

Antville, Blog-Tool ........................... 1032

Anweisung

C ........................................................... 477

Anweisungsblock ............................... 485

Anwenderdokumentation ............. 672

Anwendung

DDN-Modell-Schicht .................... 186

OSI-Schicht ........................................ 183

Anwendungsfall ................................. 673

Anwendungsfalldiagramm (UML)

679

Anwendungsserver ........................... 199

verteilte Anwendung ................... 199

Apache

Installation, Windows .................. 772

Xalan ................................................... 851

Xerces ................................................. 856

Apache CouchDB ................................ 750

Apache HTTP Server ......................... 765

Alias, Direktive ................................ 775

Allow, Direktive .............................. 776

Apache HTTP Server (Forts.)

AllowOverride, Direktive ............. 776

apachectl, Hilfsprogramm ......... 772

AuthBasicProvider, Direktive .... 777

AuthDigestProvider, Direktive 777

Authentifizierung ......................... 786

AuthName, Direktive .................... 777

AuthType, Direktive ...................... 777

AuthUserFile, Direktive ............... 777

Deny, Direktive ............................... 778

Directory, Direktive ....................... 778

DirectoryIndex, Direktive ........... 779

Direktive ............................................ 775

DocumentRoot, Direktive ........... 779

Grundlagen ..................................... 766

htpasswd, Hilfsprogramm ......... 777

IfModule, Direktive ....................... 779

Installation ...................................... 770

Konfiguration ................................. 774

Konfigurationsbeispiele ............. 784

Listen, Direktive .............................. 779

LoadModule, Direktive ................ 779

Location, Direktive ....................... 780

mod_alias, Modul ........ 775, 781, 782

mod_auth_basic, Modul ............ 777

mod_auth_digest, Modul ........... 777

mod_authn_file, Modul .............. 777

mod_authz_host, Modul 776, 778,

781

mod_dir, Modul ............................. 779

mod_so, Modul ............................... 779

Modul dynamisch laden ............. 779

Module .............................................. 768

NameVirtualHost, Direktive .... 780

Neuerungen in 2.4 776, 778, 781, 782

Options, Direktive ......................... 780

Order, Direktive .............................. 781

Redirect, Apache-Direktive ........ 781

Require, Direktive ................. 776, 782

RequireAll, Direktive ..................... 782

RequireAny, Direktive .................. 782

RequireNone, Direktive ............... 782

Satisfy, Direktive ............................ 782

ScriptAlias, Direktive .................... 782

ServerAdmin, Direktive ............... 782

ServerName, Direktive ................. 783

ServerRoot, Direktive .................... 783

ServerSignature, Direktive ......... 783

ServerTokens, Direktive ............... 783

SSL-Konfiguration ......................... 787

Startseite festlegen ........................ 779

Apache HTTP Server (Forts.)

VirtualHost, Direktive ................. 783

virtueller Host ............... 780, 784, 785

apachectl, Apache-Hilfspro-

gramm ................................................ 772

API ........................................................... 1133

Apple

iPad ....................................................... 46

iPhone .................................................. 46

Mac OS X ........................................... 453

Macintosh ........................................ 295

QuickTime ........................................ 456

Apple II ............................................ 42, 294

Apple Macintosh .................................. 44

Apple-Menü

Mac OS X ........................................... 458

wichtige Befehle ............................. 458

Applet, Java ........................ 500, 632, 655

AppleTalk .................................... 282, 1133

Protokollstapel ............................... 283

Vergleich zu TCP/IP ...................... 284

Application Gateway Firewall ...... 1122

Application Server ................... 199, 1133

Java ..................................................... 621

apt, Linux-Paketmanager ................ 415

Aqua, Mac OS X-Oberfläche 293, 456

Arabische Zahlen .................................. 36

Arbeitsspeicher .................................... 116

des virtuellen Prozessors ............ 104

Arbeitsverzeichnis ............................. 316

anzeigen, Unix ............................... 400

wechseln, Unix .............................. 400

wechseln, Windows ...................... 346

Archivdatei ........................................... 893

bzip2 ................................................... 895

GNU zip ............................................. 895

tar ............................................... 415, 893

ZIP ........................................................ 893

ARCNet

Netzwerk ............................................ 215

A-Record (DNS) .................................. 802

ArgoUML, Tool .................................... 678

Arithmetic-Logical Unit � ALU

Arithmetischer Operator

C ........................................................... 481

SQL ...................................................... 726

Arithmetisch-logische Einheit � ALU

ARP .......................................................... 1133

TCP/IP-Netzzugang ...................... 225

ARPA ............................................... 176, 1133

1167

Page 128: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

ARPANET ................................................ 176

Anwendungen ................................. 177

MilNet ................................................. 178

technische Grundidee ................... 176

ursprüngliche Aufgabe ................ 176

Array .............................................. 493, 1134

Anzahl der Elemente, Perl .......... 565

aus String, Perl ................................ 519

C ........................................................... 493

Deklaration, C ................................. 493

mehrdimensionales, PHP .......... 970

Perl ....................................................... 518

PHP .................................................... 966

zur C-String-Darstellung ............ 494

zusammenfassen, Perl ................. 519

Arrays

Ruby ..................................................... 535

Artificial Intelligence � Künstliche

Intelligenz

AS, SQL-Klausel ................................... 726

ASCII ....................................................... 1134

Zeichensatz ......................................... 57

ASCII-Art ............................................... 908

ASCII-Code ............................................ 873

Erweiterungen ................................ 874

IBM-Erweiterung ........................... 874

Steuerzeichen .................................. 873

Tabelle ............................................... 873

ASCII-Modus ....................................... 1134

ASP.NET ..................................... 1029, 1134

Assembler ..................................... 47, 1134

Mnemonics ........................................ 47

Nicht-x86 ........................................... 127

praktische Anwendung ................. 48

x86-Beispiele ................................... 126

Asymmetrische Verschlüsselung

1129

AT&T ................................................ 50, 292

Unix System V ................................ 293

AT&T Bell Laboratories ...................... 50

Atari .................................................. 43, 294

Atari 800XL ................................... 43, 294

Atari ST ..................................................... 44

AT-Befehlssatz .................................... 1134

Athlon, Prozessor ........................ 117, 123

ATM (Asynchronous Transfer Mode)

214, 1134

Atom, Newsfeed-Format ............... 1032

Atomar, Information in RDBMS 708

Attachment (E-Mail) ......................... 273

attrib, Windows-Befehl .................... 347

Attribut

HTML ................................................. 901

statisches (PHP) ............................. 983

XML ........................................... 823, 828

Attribut (Windows-Datei) ............... 319

Audio, zeit- und wertdiskret ............ 56

Audio-CD ................................................ 155

über Soundkarte abspielen ........ 170

Audio-Dateiformat ............................ 891

AIFF ...................................................... 891

MP3 ...................................................... 891

MP4 .................................................... 892

OGG Vorbis ...................................... 892

WAV .................................................... 891

Audiodaten ............................................. 56

Sampling ............................................. 56

Sampling-Rate .................................. 56

Sampling-Tiefe .................................. 56

Tonkanal ............................................. 56

Auflicht-Scanner ................................. 161

Auflösung

Bild ......................................................... 55

Digitalkamera ................................. 163

Grafikkarte ....................................... 164

Aufzählung

HTML .................................................. 911

Aufzählungszeichen

HTML .................................................. 911

Ausbildung .............................................. 27

Fachinformatiker ............................. 28

Informatikkaufmann ..................... 29

IT-Systemelektroniker .................... 29

IT-Systemkaufmann ....................... 29

Prüfung ............................................... 30

Studienfächer .................................... 32

Ausdruck .............................................. 1134

Bedingung ....................................... 486

C ........................................................... 480

Perl ....................................................... 521

Ausdrücke

Ruby .................................................... 532

Ausgabe

in Datei, C ......................................... 497

Konsole, C ........................................ 496

Perl ....................................................... 516

Ausgabeeinheit .................................... 113

Ausgabegerät ............................... 145, 163

Drucker .............................................. 167

Grafikkarte ....................................... 163

Monitor .............................................. 165

Ausgabesteuerung

durch das Betriebssystem .......... 289

Ausgabeumleitung

in Unix-Shells .................................. 394

Windows ........................................... 345

Auslagerungsdatei .............................. 312

Ausnahme

auslösen ............................................. 513

FileNotFoundException, Java .... 513

IOException, Java ........................... 513

Java ............................................ 504, 513

Java, IOException ......................... 504

Aussage ......................................... 60, 1134

falsche ................................................. 60

mathematische ............................... 60

wahre .................................................. 60

Aussageformen ...................................... 61

Aussagenlogik ....................................... 59

Auswahlabfrage ......................... 707, 719

AuthBasicProvider, Apache-Direktive

777

AuthDigestProvider, Apache-Direk-

tive ....................................................... 777

Authentifizierung (Apache) ........... 786

Authentifizierung (MySQL) ........... 733

AuthName, Apache-Direktive ........ 777

AuthType, Apache-Direktive .......... 777

AuthUserFile, Apache-Direktive ... 777

AUTO_INCREMENT, SQL-Feldoption

724

Autoflush-Modus ............................... 597

Autoloader, PHP ................................ 989

Automatentheorie ....................... 26, 94

Registermaschine .......................... 103

Turing-Maschine .......................... 100

Automatisch starten

Programm unter Unix .................. 413

System V Init .................................... 413

Automatische Variable .................... 479

Autonomes System .......................... 1134

Autonomes System (AS), Routing

248

Average Case (Komplexität) ............ 97

AVI, Video-Dateiformat ................... 892

awk ................................................... 514, 576

AWT ........................................................ 1134

AWT, Java ............................................... 631

Ereignisbehandlung ..................... 631

1168

Page 129: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

B

Babbage, Charles .................................. 36

Back Orifice, Backdoor ..................... 1112

Backdoor ................................................ 1112

Backend .................................................. 199

background-attachment, CSS-An-

gabe .................................................... 952

background-color, CSS-Angabe .... 952

background-image, CSS-Angabe 952

background-repeat, CSS-Angabe 952

Backlog, Scrum .................................... 676

Backtick, Operator ............................. 586

Backup ................................................... 1110

Banana Ware ........................................ 693

Band, der Turing-Maschine .......... 100

Base, OpenOffice.org-Datenbank 711

bash

.bashrc, Konfigurationsdatei .... 385

/etc/profile, Unix-Konfigurations-

datei ............................................... 385

alias-Befehl ....................................... 421

bash (Bourne Again Shell) .............. 385

Basic Input/Output System � BIOS

Basic Service Set (WLAN) .................. 212

BASIC, Programmiersprache ..... 41, 49

Basis

bei Stellenwertsystemen ................ 75

Bastion-Host ....................................... 1122

Batch Processing � Stapelverarbei-

tung

Batch-Datei, Windows ...................... 347

Baum, Datenstruktur ....................... 574

Binärbaum ....................................... 574

Baum-Topologie, Netzwerk ............ 193

BCD � Binary Coded Decimal

BEA WebLogic-Server ....................... 621

Beck, Kent .............................................. 674

Bedingter Sprung ................................ 125

Befehl

Dateiverwaltung, Unix ............... 397

des virtuellen Prozessors ............ 105

Systemverwaltung, Unix ........... 405

Textmanipulation, Unix ............. 401

Unix .................................................... 397

Windows-Konsole ......................... 346

Befehlstabelle ....................................... 119

der CPU ............................................... 119

Befehlszeiger (CPU-Register) .......... 118

Behavioral Pattern � Verhaltens-

muster

Bell Laboratories ................................ 292

belongs_to, Rails- Datenbankbezie-

hung ................................................. 1020

Bemer, Robert ...................................... 873

Benutzer

Administrator, Windows ............ 361

an- und abmelden, Windows ... 340

entfernen, Linux ........................... 409

Gruppe hinzufügen, Unix ......... 409

hinzufügen, Linux ......................... 408

Home-Verzeichnis ................. 315, 319

Passwort ändern, Unix .............. 409

root (Unix) .............................. 309, 381

Verwaltung, Mac OS X ................ 465

Verwaltung, Windows ................. 361

Zugriffsrechte .................................. 317

Benutzermodus ....................... 300, 307

Benutzeroberfläche .......................... 290

grafische ........................ 290, 295, 306

Konsole ................................... 290, 305

Benutzerrechte, ändern, Unix ..... 400

Berechenbarkeit .......................... 26, 1134

von Algorithmen ............................. 96

Berechenbarkeit, Halteproblem .... 96

Berkeley Socket API ................. 593, 1134

Berkeley, Universität ...... 293, 424, 593

Unix-Version ................................... 293

Berners-Lee, Tim ................................. 178

Beschaffungsmanagement ........... 664

Beschreibbare DVD ............................ 159

Besitzer, wechseln (Datei, Unix) 401

Best Case (Komplexität) ..................... 97

Betriebssystem

Aufbau .............................................. 299

Aufgaben .......................................... 289

Ausgabesteuerung ....................... 289

Benutzermodus ............................ 300

Benutzeroberfläche ...................... 290

Bibliothek ......................................... 304

booten .............................................. 300

BSD-Unix .......................................... 293

CP/M .................................................. 294

Darwin ...................................... 293, 455

Dateiverwaltung ........................... 290

Dialogverarbeitung ...................... 291

Eingabesteuerung ......................... 289

FreeBSD ............................................. 293

Gerätetreiber .................................. 302

Geschichte ....................................... 290

herunterfahren, Unix .................... 411

HP UX ................................................ 293

Betriebssystem (Forts.)

IBM AIX ............................................. 293

iOS ....................................................... 455

ITS (Incompatible Timesharing

System) ......................................... 291

Kernel ................................................. 299

Kernelmodus .................................. 300

Konsole .............................................. 305

Linux ......................................... 293, 296

Mac OS X .................................. 293, 453

Minix .................................................. 296

MS-DOS ............................................. 294

MULTICS ........................................... 292

Multitasking .......................... 302, 306

Neustart (Unix) ............................... 411

OS/2 .................................................... 295

Prozessmanagement ................... 289

Shell .................................................... 305

Speichermanagement ................. 289

Stapelverarbeitung ....................... 291

Sun Solaris ........................................ 293

Systemaufruf ................. 127, 301, 304

Systemprogramm ......................... 303

Task Scheduler ................................ 301

Thread ...................................... 300, 310

Timesharing .................................... 291

Unicode-Unterstützung .............. 878

Unix ............................................. 50, 292

Unix System V ................................ 293

Verwaltungsbefehle, Unix ........ 405

Virtualisierung ............................... 320

VMS ..................................................... 296

Win32 API ......................................... 305

Windows ........................................... 327

Windows 2000 ...................... 296, 328

Windows 7 ............................... 296, 328

Windows 8 ........................................ 328

Windows 95 ............................ 296, 328

Windows 98 ............................ 296, 328

Windows Me ........................... 296, 328

Windows NT ........................... 295, 328

Windows Server ............................. 328

Windows Vista ....................... 296, 328

Windows XP ........................... 296, 328

Windows, Versionsübersicht ..... 328

Zeichensatzeinstellung ............... 878

Bewegungsdaten ............................... 700

Bezeichner ........................................... 1134

C ........................................................... 478

in PHP ................................................ 965

1169

Page 130: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

BGP ......................................................... 1134

Routing-Protokoll .......................... 251

Bibliothek des Betriebssystems 304

Big-Endian-Architektur .................. 1134

Big-Endian-Plattform ....................... 885

BIGINT, SQL-Datentyp ..................... 722

Bild in HTML einbetten ................... 919

Bilddateiformat ................................. 886

BMP .................................................... 890

GIF ....................................................... 888

JPEG ................................................... 889

Photoshop ........................................ 887

PICT .................................................... 890

PNG .................................................... 890

PSD ...................................................... 887

TIFF ..................................................... 888

Bilddaten

Auflösung ............................................ 55

digitale ................................................. 55

Farbkanal ........................................... 56

Farbtiefe ............................................... 55

Bilddatenbank ..................................... 701

Bildwiederholrate (Monitor) .......... 165

bin, Unix-Verzeichnis ....................... 315

Binärbaum, Datenstruktur ............ 574

C ........................................................... 574

Binärdaten ........................................ 53, 75

Binäre Suche .............................. 570, 1134

Java ..................................................... 570

Binärmodus ........................................ 1134

Binary Coded Decimal ............. 85, 1134

BINARY, SQL-Feldoption ................. 724

bind(), Perl-Funktion ........................ 598

BIND, DNS-Serversoftware ............. 262

BIND-Nameserver .............................. 797

A-Record .......................................... 802

CNAME-Record .............................. 802

Installation ...................................... 798

Konfiguration ................................. 798

MX-Record ...................................... 803

NS-Record ........................................ 803

PTR-Record ...................................... 802

Reverse-Lookup-Zone .................. 799

SOA-Record ...................................... 801

Zonendaten-Datei ........................ 800

Zonendefinition ............................. 799

Bio-Computer ........................................ 46

Bioinformatik ......................................... 33

BIOS ....................................... 116, 129, 1134

Aufgaben ........................................... 131

Betriebssystem starten ................. 131

BIOS (Forts.)

Bootreihenfolge .............................. 133

CMOS löschen ................................. 132

CMOS-RAM ....................................... 132

eingebaute Routinen ..................... 131

POST ..................................................... 131

POST beschleunigen ..................... 133

Power Management einstellen

133

Setup ................................................... 132

Update ................................................ 134

BIOS-Setup ............................................ 132

Einstellmöglichkeiten .................. 132

Einstellungen zurücksetzen ....... 133

BIOS-Update ......................................... 134

Anleitung .......................................... 134

Motivation ....................................... 134

Bit ................................................................ 81

Bit-Komplement, Operator ........... 482

Bitmap-Grafik ........................................ 55

Bit-Operator

Vergleich mit logischen Operatoren

64

Bit-Operatoren ................................... 482

Bitübertragung, OSI-Schicht .......... 182

Bit-Verschiebung

links .................................................... 482

rechts ................................................. 482

Bitweises exklusives Oder, Operator

482

Bitweises Oder, Operator ................ 482

Bitweises Und, Operator ................. 482

BLOB, SQL-Datentyp .......................... 723

Block, Anweisungen ......................... 485

block_given?, Ruby-Methode ........ 558

Blockgerät (Block Device) ............... 302

Blocksatz

in HTML ............................................ 907

Blog � Weblogs

Blue Book (Mixed-Mode-CD) 155, 1135

Bluetooth ............................................... 144

Blu-ray-Disc .......................................... 159

BMP, Bilddateiformat ..................... 890

body, HTML .......................................... 902

Booch, Grady ........................................ 677

Boole, George ......................................... 62

boolean, Java-Datentyp ................... 504

Boolesche Algebra ............... 62, 95, 1135

Java-Datentyp ................................ 504

Booten ................................................... 300

BSD-Startskript ............................... 414

Mac OS X-Startvolume ............... 464

System V Init .................................... 413

Bootreihenfolge, einstellen ............ 133

Bootsektor ............................................ 149

Bootsektorvirus ................................ 1107

border, CSS-Angabe ............................ 951

border-image (CSS3) .......................... 961

BorderLayout ...................................... 644

border-radius (CSS3) ........................ 960

Bourne Again Shell (bash) .............. 385

Bourne-Shell ........................................ 384

box-shadow (CSS3) ............................ 961

Boyce-Codd-Normalform, RDBMS

708

Branch Prediction � Sprungvorher-

sage (Prozessor)

break

C-Anweisung ................................... 487

break, Schleife abbrechen ............... 568

Bridge ............................................ 207, 1135

Bridge, Entwurfsmuster .................. 687

Broadcast, IP-Protokoll .................... 228

Brute-Force-Attacke ................ 383, 1135

BSD .......................................................... 1135

BSD-Startskript ................................... 414

BSD-Unix ............................................... 293

FreeBSD ............................................. 293

BubbleSort, Algorithmus ................ 564

Java ..................................................... 565

Buffer im Emacs-Editor ................... 434

BufferedReader

Java-Klasse ............................... 503, 513

BufferedReader, Java-Klasse, read-

Line(), Methode ............................. 504

Builder, Entwurfsmuster ................. 687

Bundestrojaner � Onlinedurchsu-

chung

Buntes Buch (CD-Standards) .......... 154

bunzip2, Unix-Befehl ........................ 895

BURN-Proof-Technologie ................ 156

Bus ............................................................ 135

Bluetooth .......................................... 144

Definition .......................................... 117

der CPU ............................................... 119

drahtloser ......................................... 144

EIDE ..................................................... 141

FireWire .............................................. 143

Funk-Schnittstelle ......................... 144

1170

Page 131: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Bus (Forts.)

Hot Plugging .................................... 143

Infrarot .............................................. 144

IrDA ..................................................... 144

Kartensteckplatz ........................... 140

Laufwerksanschluss ...................... 141

Light Peak .......................................... 143

paralleler .......................................... 144

PS/2 ...................................................... 143

RS-232 ................................................. 144

SCSI ...................................................... 142

serieller .............................................. 144

Thunderbolt ...................................... 143

USB ....................................................... 143

Bus Mastering ............................ 139, 1135

Bus-Topologie, Netzwerk ................. 193

Button, AWT-Klasse .......................... 642

Byron, Ada � Lovelace, Ada

Byte ............................................................. 81

byte, Java-Datentyp .......................... 504

bzip2, Komprimierung ..................... 415

bzip2, Unix-Befehl ............................. 895

C

C#, Programmiersprache ........ 52, 1135

C, Programmiersprache .... 50, 52, 292,

472, 1135

#define, Präprozessor-Direktive

499

#endif, Präprozessor-Direktive 499

#ifdef, Präprozessor-Direktive 499

#include, Präprozessor-Direktive

475, 498

&, Dereferenzierungs-Operator

492

-, Operator ........................................ 495

ANSI-C ................................................ 473

ANSI-Standard ................................ 495

Anweisung ............................... 475, 477

Anweisungsblock .......................... 485

arithmetischer Operator ............ 481

Array .................................................. 493

Ausdrücke ........................................ 480

Bezeichner ........................................ 478

Binärbaum ....................................... 574

Bit-Operatoren ............................... 482

break-Anweisung .......................... 487

char ..................................................... 479

Compiler ........................................... 473

C, Programmiersprache (Forts.)

Datentypen ..................................... 479

Datentypkonvertierung .............. 481

Datum und Uhrzeit ...................... 498

difftime()-Funktion ...................... 498

double ................................................ 479

else ...................................................... 486

Escape-Sequenz ............................. 476

exec()-Funktion .............................. 586

EXIT_SUCCESS, Konstante ........ 476

Exponentialschreibweise ........... 480

Fallunterscheidungen ................. 485

fgets()-Funktion ............................. 497

Fließkomma-Datentypen .......... 479

Fließkomma-Literal ..................... 480

float .................................................... 479

Flusskontrolle ................................. 482

fopen()-Funktion ........................... 496

for()-Schleife .................................... 489

fork()-Funktion .............................. 584

fprintf()-Funktion .......................... 497

fscanf()-Funktion .......................... 497

Funktionen ..................................... 490

Funktionsaufruf .................... 477, 491

Funktionsparameter .................. 490

Funktionsrückgabewert ............. 476

ganzzahlige Datentypen ........... 479

Geschichte ........................................ 473

getchar() ........................................... 496

gets()-Funktion ..................... 476, 496

globale Variable ............................ 480

Header-Datei .................................. 495

Hexadezimalzahl .......................... 480

int ........................................................ 479

int, Funktionsdatentyp ................ 475

Integer-Literal ................................ 480

Kommandozeilenparameter .... 491

Kommentar ..................................... 478

kompilieren ...................................... 474

Kontrollstrukturen ............... 477, 485

Liste ...................................................... 571

Literal ................................................ 480

localtime()-Funktion .................... 498

logische Operatoren ..................... 481

lokale Variable ............................... 479

long .................................................... 479

main()-Funktion ................... 475, 490

malloc()-Funktion .......................... 572

mem.h ................................................ 572

NULL .................................................. 498

Oktalzahl .......................................... 480

C, Programmiersprache (Forts.)

Operator ........................................... 481

Präprozessor .................................. 498

printf()-Funktion .................. 476, 496

puts()-Funktion .................... 476, 496

return-Anweisung ............... 476, 490

scanf()-Funktion .................. 487, 496

Schleife ............................................... 488

short ................................................... 479

Speicher reservieren ...................... 572

Standardbibliothek ............. 304, 495

static-Deklaration ........................ 480

statische Variable ........................ 480

stddef.h .............................................. 479

stdio.h ....................................... 475, 496

stdlib.h ............................................... 475

strcat(), Funktion ........................... 497

strcmp()-Funktion ......................... 497

strcpy()-Funktion ........................... 497

strftime()-Funktion ...................... 498

string.h .............................................. 497

String-Literal .................................. 480

struct .................................................. 494

Strukturen ........................................ 494

switch/case ...................................... 487

Syntax ................................................ 477

sys/types.h ....................................... 585

time()-Funktion ............................. 498

time.h ................................................ 498

time_t, Datentyp .......................... 498

Variable ............................................. 478

Variable, Gültigkeitsbereich ..... 479

Variablendeklaration 475, 477, 478

Vergleichsoperatoren .................. 482

void, Funktionsdatentyp ........... 490

Vorzeichen in Datentypen ......... 479

wchar_t ............................................. 479

Wertzuweisung .............................. 477

while()-Schleife ............................... 488

Whitespace, Umgang mit .......... 478

Zeichen-Literal ............................... 480

Zeiger .................................................. 491

C64 .................................................... 43, 294

Cache ........................................................ 119

bei Festplatten ................................. 153

Level 1 .................................................. 119

Level 2 ................................................. 119

Call by Reference ................................ 492

PHP ..................................................... 974

Call by Value ......................................... 492

Callback-Methode ..................... 591, 1135

1171

Page 132: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Canvas, AWT-Klasse .......................... 632

Capistrano, Rails-Deployment-Tool

1029

CAPTCHA ..................................... 1114, 1135

Carbon ................................................... 1135

Carbon, Mac OS X-API ...................... 456

Carry-in, Logikschaltung .................... 91

Carry-out, Logikschaltung ................. 91

Cäsar-Code ........................................... 1128

Cascading Style Sheets � CSS

case-Befehl

in Shell-Skripten ............................. 419

CASE-Tools ............................................ 678

cat, Unix-Befehl ................................. 402

catch(), Java .......................................... 504

CAV � Konstante Winkelgeschwin-

digkeit

CCD

bei der Digitalkamera .................. 163

beim Scanner ................................... 161

C-Compiler ............................................ 473

GCC ..................................................... 473

CD

beschreibbare ................................... 155

Brennsoftware ................................. 156

BURN-Proof-Technologie ............ 156

Datenformate .................................. 156

Disc-at-once ..................................... 156

Hybrid-CD ......................................... 157

ISO-9660-Format ........................... 157

Joliet-Format .................................... 157

Lead-in-Area ..................................... 156

Lead-out-Area .................................. 156

Multisession ..................................... 156

Track-at-once ................................... 156

cd, Unix-Befehl ................................... 400

cd, Windows-Befehl ........................... 346

CD-Brenn-Software ............................ 156

CDE, Window-Manager ................... 440

CDi ............................................................. 155

CD-R .......................................................... 155

CD-ROM .................................................. 154

Geschwindigkeit ............................. 155

CD-RW ..................................................... 155

CD-Standard .......................................... 154

Blue Book ........................................... 155

Green Book ....................................... 155

Orange Book .................................... 155

Red Book ............................................ 155

White Book ........................................ 155

Yellow Book ...................................... 155

CD-Text .................................................... 155

Central Processing Unit � Prozessor

Centronics-Anschluss ....................... 144

CGI ............................................... 1029, 1135

Sicherheitsprobleme .................... 1121

Chain (iptables) ................................. 1124

Chain of Responsibility, Entwurfs-

muster ............................................... 688

char, C-Datentyp ................................ 479

CHAR, SQL-Datentyp ......................... 723

Character Devices .............................. 302

charAt(), Java-Methode .................... 505

Chatbot Eliza ......................................... 99

chgrp, Unix-Befehl ............................ 401

Child-Prozess ............................. 308, 1135

Chip ............................................................ 38

Chipsatz ................................................... 117

chmod, Unix-Befehl ........................ 400

chomp, Perl-Funktion ....................... 516

Chomsky, Noam ................................... 53

chown, Unix-Befehl .......................... 401

chroot-Umgebung ............................ 1123

CHS (Festplattenadressierung) ..... 147

CIDR, IP-Adressierung ..................... 230

CIDR-Adressierung ........................... 1135

CIFS-Protokoll, Microsoft-Netzwerk

287

Circuit Switching ................................ 174

CISC-Prozessor ..................................... 123

Beispiele ............................................. 123

class, Java-Schlüsselwort ................ 503

class, Ruby-Methode ......................... 529

CLASSPATH, Umgebungsvariable

500

clear, CSS-Angabe ............................... 953

Clear-CMOS-Jumper .......................... 132

Client

bei Entwurfsmustern ................... 687

Netzwerk ........................................... 195

Clojure, Programmiersprache ......... 53

close, Perl-Anweisung ....................... 526

closedir, Perl-Anweisung ................. 527

Cloud Computing ................... 1032, 1135

für Privatanwender .................... 1034

Cluster (Dateisystem) ....................... 313

CLV � Konstante lineare Geschwin-

digkeit

Cmd.exe

WinNT-Shell .................................... 344

Cmdet, PowerShell ............................ 348

CMOS-RAM ............................................ 132

löschen ................................................ 132

CMS � Content Management

CMYK-Farbe ............................................ 56

cn, LDAP-Attribut .............................. 806

CNAME-Record (DNS) ...................... 802

Cobol, Programmiersprache ........... 49

Cocoa ...................................................... 1135

Cocoa, Mac OS X-API ......................... 456

Code-Review ......................................... 671

Color, AWT-Klasse .............................. 635

color, CSS-Angabe .............................. 952

column-count (CSS3) ........................ 961

column-width (CSS3) ........................ 961

COM, Microsoft-Komponenten-

modell ................................................ 622

Command, Entwurfsmuster ......... 688

COMMAND.COM, MS-DOS-Shell 344

Commit (Transaktionen) ................ 710

COMMIT, SQL-Anweisung ............... 731

Commodore .................................. 43, 294

Commodore Amiga ............................ 44

Common Gateway Interface � CGI

Compact Disc ........................................ 154

compareTo(), Java-Methode .......... 505

Compiler .......................................... 48, 127

Java ..................................................... 502

Composite, Entwurfsmuster ......... 687

Computer

Definition ........................................... 34

Computer Science � Informatik

Computersystem

schematischer Aufbau ................. 112

Computervirus � Virus

connect(), Perl-Funktion ................. 597

Connection, JDBC-Klasse ................ 747

console, interaktive Rails-Konsole

1021

Constant Angular Velocity � Kon-

stante Winkelgeschwindigkeit

Constant Linear Velocity � Konstan-

te lineare Geschwindigkeit

Content Management ................... 1030

Drupal .............................................. 1031

Joomla! ............................................ 1031

papaya CMS .................................. 1031

TYPO3 .............................................. 1030

ContentHandler, SAX-Interface 860

Controller

Ruby on Rails ................................ 1023

1172

Page 133: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Convention over Configuration

(Rails-Prinzip) ............................... 1016

Cookie .................................................... 1135

in PHP ............................................... 994

Coprozessor � Koprozessor

copy, Windows-Befehl ..................... 347

CORBA, Komponentenmodell ...... 622

CouchDB ................................................ 750

Futon, Administrationsoberfläche

750

count(), PHP-Funktion .................... 968

COUNT, SQL-Funktion ...................... 727

cp, Unix-Befehl .................................... 398

CP/M, Betriebssystem ...................... 294

C-Programmiersprache, char,

Datentyp ........................................... 475

CPU ........................................................... 116

alte Bedeutung ................................. 117

Dualcore ............................................ 116

CPU � Prozessor

CR, Mac-Zeilenumbruch ................... 871

crack (Passwort-Knack-

programm) ...................................... 382

Crackerangriff .................................... 1120

Crackertools ........................................ 1123

CREATE DATABASE, SQL-Befehl ... 720

CREATE TABLE, SQL-Befehl ............ 720

CREATE USER, MySQL-Anwei-

sung .................................................... 733

create, Rails-Methode ..................... 1021

create_table, Rails-Methode ........ 1019

CreateProcess(), Windows-System-

aufruf ................................................ 309

Creational Patterns � Erzeugungs-

muster

Creator ID, HFS ................................... 466

CRLF, Windows-Zeilenumbruch ... 871

Cronjob .................................................. 422

Crosslink-Ethernet-Kabel ............... 207

Cross-Site-Scripting ......................... 1120

CRT � Röhrenmonitor

csh (C-Shell) .......................................... 385

C-Shell ..................................................... 385

CSMA/CA .............................................. 1136

CSMA/CA, Netzzugangsver-

fahren ................................................. 212

CSMA/CD .............................................. 1136

CSMA/CD, Netzzugangsver-

fahren ................................................ 203

CSS ................................................. 944, 1136

<style>, HTML-Tag ....................... 946

Absatzformatierung .................... 950

Abstand vom linken Rand .......... 953

Abstand vom oberen Rand ........ 953

Anzeigeart ....................................... 950

Aufgabe ............................................ 944

Ausrichtung .................................... 950

Außenrand ....................................... 951

background-attachment ............ 952

background-color .......................... 952

background-image ........................ 952

background-repeat ....................... 952

Bild ....................................................... 952

border ................................................. 951

clear ..................................................... 953

color .................................................... 952

display ............................................... 950

Einzug ................................................ 950

Element (Tag) formatieren ........ 945

externe Datei .................................. 946

Farbangabe ..................................... 948

Farbe ................................................... 952

feste Werte ....................................... 947

fett ...................................................... 949

float ..................................................... 953

font-family ...................................... 949

font-size ............................................ 949

font-style .......................................... 949

font-weight ...................................... 949

Format dynamisch ändern, DOM

1076

Frameworks .................................... 959

für XML-Dokumente .................... 850

Hintergrund befestigen ............... 952

Hintergrund kacheln .................... 952

Hintergrundbild ............................. 952

Hintergrundfarbe .......................... 952

Innenabstand .................................. 951

Klasse ................................................. 945

kursiv ................................................. 949

Laufweite ......................................... 950

Layer ................................................... 952

Layer, Beispiele ............................... 953

left ........................................................ 953

letter-spacing ................................. 950

line-height ....................................... 950

Linie ..................................................... 951

margin ............................................... 951

numerische Werte ......................... 947

padding .............................................. 951

CSS (Forts.)

position ............................................. 953

Positionsart ..................................... 953

Pseudoformat ................................ 946

Rahmen .............................................. 951

Schriftart .......................................... 949

Schriftgröße .................................... 949

Selektor .............................................. 945

Stapelreihenfolge .......................... 953

Struktur ............................................. 945

style, HTML-Attribut .................... 947

text-align ......................................... 950

text-decoration ............................. 950

Textfarbe .......................................... 952

Textformatierung ........................ 949

text-indent ...................................... 950

top ....................................................... 953

unabhängiger Stil ......................... 945

unterstrichen ................................. 950

vertical-align .................................. 950

vertikale Ausrichtung ................. 950

Vorteile .............................................. 944

Webseiten-Layout mit ................. 955

Wertangaben .................................. 947

Zeilenhöhe ....................................... 950

z-index ............................................... 953

CSS3 ......................................................... 959

border-image .................................. 961

border-radius ................................. 960

box-shadow ..................................... 961

browserspezifische Eigenschaften

961

column-count ................................. 961

column-width ................................. 961

Neue Selektoren ............................. 961

opacity ............................................... 961

Web Fonts ........................................ 960

C-Standardbibliothek .... 304, 495, 1135

CUPS ....................................................... 1136

CUPS, Unix-Drucksystem ............... 449

Scheduler .......................................... 449

starten ............................................... 449

Cutler, David ........................................ 295

CygWin ................................................... 473

D

Daemon ...................................... 409, 1136

DARPA ..................................................... 176

Darstellung, OSI-Schicht .................. 183

1173

Page 134: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Darwin, Betriebssystem ......... 293, 455

Data Fork, HFS .................................... 466

Database Management System �

DMS

database.yml, Rails-Konfigurations-

datei .................................................. 1018

Datagramm ......................................... 1136

Datagramm-Socket ........................... 594

Date, JavaScript-Klasse ................... 1053

DATE, SQL-Datentyp ......................... 722

date, Unix-Befehl .............................. 407

Formatierung ................................. 407

Datei ....................................................... 290

Attribute ändern ............................ 347

Ausgabe in, C ................................... 497

bearbeiten, Perl .............................. 526

Besitzer wechseln, Unix .............. 401

Eingabe aus, C ................................ 497

Gruppe wechseln, Unix ............... 401

kopieren unter Windows .... 341, 347

kopieren, Mac OS X ....................... 462

kopieren, Unix ................................ 398

löschen unter Unix ....................... 399

löschen unter Windows .............. 347

öffnen, C ........................................... 496

schließen, C ...................................... 497

String lesen aus, C ......................... 497

umbenennen unter Windows ... 347

umbenennen, Mac OS X ............. 462

umbenennen, Unix ....................... 399

verarbeiten, Java ............................ 512

verschieben unter Win-

dows ....................................... 341, 347

verschieben, Mac OS X ................ 462

verschieben, Unix .......................... 399

Verwaltung ....................................... 313

Zugriffsrechte ändern ................. 400

Dateiattribut ......................................... 319

Windows, ändern .......................... 347

Dateierweiterung ............................... 320

Anzeige einschalten ..................... 320

Dateiformat ......................................... 869

AIFF ..................................................... 891

Audio .................................................. 891

AVI ....................................................... 892

Bild ..................................................... 886

binäres ............................................... 883

BMP .................................................... 890

GIF ....................................................... 888

JPEG ................................................... 889

Dateiformat (Forts.)

MP3 ...................................................... 891

MP4 .................................................... 892

MPEG ................................................. 892

OGG Vorbis ...................................... 892

PICT ................................................... 890

PNG ................................................... 890

PostScript ......................................... 882

QuickTime ........................................ 892

Text ..................................................... 869

textbasiertes ................................... 880

TIFF ..................................................... 888

Video .................................................. 892

WAV .................................................... 891

Dateihandle

Perl ....................................................... 526

Dateiname

Endung .............................................. 398

Endung sichtbar machen ........... 320

Erweiterung ............................ 320, 398

Groß- und Kleinschreibung ........ 316

MS-DOS ............................................. 320

Unix-Platzhalter ............................ 398

unter Unix ................................ 316, 397

unter Windows ............................... 319

Dateiserver ............................................ 196

Dateisystem .......................................... 313

Benutzerrechte ................................ 317

CD ......................................................... 156

erzeugen, Unix ............................... 407

ext3 .................................................... 406

FAT12 ................................................... 333

FAT16 .................................................. 333

FAT32 .................................................. 334

Fehlerprüfung (Unix) .................. 406

HFS ...................................................... 465

HFS+ ................................................... 465

inode ................................................... 316

Journaling-Funktion ................... 406

Laufwerksbuchstaben .................. 318

Link ...................................................... 317

Linux ................................................... 314

Mac OS X .......................................... 465

mounten ............................................ 317

mounten, Unix ............................... 405

NTFS .................................................... 334

Unix ..................................................... 314

Unix-Pfadangabe ........................... 315

Unix-Verzeichnisbaum ................ 315

virtuelles ............................................ 314

Dateisystem (Forts.)

Windows ................................... 318, 333

Windows-Pfadangabe .................. 318

Zuordnungseinheit ........................ 313

Dateiverwaltung ........................ 290, 313

unter Unix ........................................ 397

Dateivirus ............................................ 1108

Daten

Bewegungsdaten .......................... 700

Ordnungsdaten ............................. 700

Rechendaten ................................... 700

Stammdaten .................................. 699

Datenanalyse ...................................... 666

Datenbank ........................................... 699

1:1-Beziehung .................................. 704

1:n-Beziehung ................................. 704

Abfrage, objektorientierte .......... 714

Access .................................................. 711

atomare Information ................. 708

Auswahlabfrage ............................ 707

Bild- ..................................................... 701

Boyce-Codd-Normalform .......... 708

CouchDB ........................................... 750

Datenarten ...................................... 699

Datenfeld .......................................... 702

Datensatz ......................................... 702

dokumentenbasierte .................... 750

Einzeltabellen- ............................... 700

Einzeltabellen-, Definition ......... 702

Einzeltabellen-, Grenzen ............. 703

Entity .................................................. 702

erzeugen, SQL .................................. 720

FileMaker ........................................... 711

Filterung ............................................ 702

freier Server ....................................... 711

Fremdschlüssel .............................. 704

Funktionen ....................................... 702

Grenzen der RDBMS ...................... 711

IBM DB2 ............................................. 711

Index .................................................. 704

Join-Abhängigkeit ......................... 710

kommerzieller Server .................... 711

Konsistenz ........................................ 703

löschen, SQL ...................................... 721

m:n-Beziehung ............................... 705

Microsoft SQL Server ..................... 711

Multimedia- ..................................... 701

MySQL ................................................. 714

Normalform ................................... 708

Normalisierung ............................. 708

1174

Page 135: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Datenbank (Forts.)

NoSQL ....................................... 701, 750

objektorientierte ..................... 701, 711

ODBC .................................................. 746

ODL ...................................................... 712

OpenOffice.org Base ....................... 711

OQL ...................................................... 714

Oracle ................................................... 711

PostgreSQL ......................................... 711

Primärschlüssel ............................. 704

Programmierung .......................... 746

Relation ............................................ 704

relationale .............................. 700, 703

Schlüssel ........................................... 704

sortieren ............................................ 702

SQL ............................................. 708, 719

suchen in ........................................... 702

Tabelle erzeugen, SQL .................. 720

Tabelle löschen, SQL ...................... 721

Transaktion ............................ 710, 730

Typen ................................................. 700

Volltextdatenbank ........................ 701

XML ..................................................... 701

Datenbus ................................................ 119

Wortbreite ......................................... 121

Datenfeld ............................................... 702

Datenfernübertragung � DFÜ

Datenformat ....................................... 869

Text .................................................... 869

Datenkollision .................................... 204

Datenkomprimierung ..................... 885

Datenpaket ............................................ 174

Frame ................................................. 203

Datensatz .............................................. 702

Datensicherung ................................. 1110

Datenstruktur .............................. 561, 571

Baum .................................................. 574

Queue .................................................. 571

Stack .................................................... 571

Datenstrukturen .................................. 94

Datenträger

magnetischer .................................. 146

magneto-optischer ....................... 146

optischer ........................................... 146

Datenträgeraustausch ..................... 180

Datenträgerverwaltung, Win-

dows ................................................... 364

Datentyp

boolean, Java ................................. 504

ganzzahliger, C ............................... 479

in der PowerShell ........................... 354

Datentyp (Forts.)

in Java ................................................ 504

testen, PHP ....................................... 977

Umwandlung, C .............................. 481

Variable, C ....................................... 479

Datenübertragung

Geschwindigkeitsmessung ......... 137

Paketvermittlung .......................... 174

parallele ............................................. 135

Schaltkreisvermittlung ................ 174

serielle ................................................ 135

Datenverarbeitung

elektrische ........................................... 25

elektronische ..................................... 25

manuelle ............................................. 25

mechanische ...................................... 25

DATETIME, SQL-Datentyp ............... 722

Datum und Uhrzeit

C ........................................................... 498

date-Befehl, Unix .......................... 407

Differenz berechnen ..................... 498

EPOCH ............................................... 304

ermitteln, C ...................................... 498

formatieren (Unix) ....................... 407

formatieren, C ................................ 498

JavaScript ....................................... 1053

SQL ....................................................... 722

DB2, RDBMS ........................................... 711

DBMS (Database Management

System) ............................................. 699

dc-Knoten (LDAP) .............................. 804

DDN-Schichtenmodell ..................... 184

Anwendungsschicht ..................... 186

Host-zu-Host-Transportschicht

186

Internetschicht ................................ 185

Netzzugangsschicht ..................... 185

DDR-RAM ............................................... 128

de Icaza, Miguel ................................... 441

De Marco, Tom ................................... 667

Deadlock ..................................... 310, 1136

Debian GNU/Linux ............................ 378

DEC � Digital Equipment Corporati-

on (DEC)

DECIMAL, SQL-Datentyp ................. 722

DE-CIX .................................................... 249

Decorator, Entwurfsmuster .......... 688

Default Gateway ............................... 1136

DEFAULT, SQL-Feldoption .............. 724

default, switch/case-Vorgabewert

488

defined, Perl ......................................... 524

defined?, Ruby-Methode ................. 534

Defragmentierung ............................ 1136

Defragmentierung (Festplatten) 148

Deklaration .......................................... 1136

Deklarative Programmiersprache 53

del, Windows-Befehl ......................... 347

DELETE, SQL-Abfrage ........................ 729

Demilitarisierte Zone � DMZ

De-Morgan-Theorem ............... 66, 1136

Denial of Service ..................... 1120, 1136

Netzwerkangriff ............................. 370

Deny, Apache-Direktive .................. 778

Dependency Injection, Entwurfs-

muster ............................................ 1009

Deployment ........................................ 1136

Ruby on Rails ............................... 1029

Dereferenzierung

Perl ....................................................... 521

Design Pattern

Dependency Injection ............... 1009

Lazy Initialization ...................... 1009

Design Pattern � Entwurfsmuster

Desktop-PC ............................................ 114

dev, Unix-Verzeichnis ....................... 315

Dezimalsystem ...................................... 75

in dual umrechnen ......................... 78

in hexadezimal umrechnen ........ 79

DFÜ .......................................................... 216

Akustikkoppler ................................ 178

Mailbox .............................................. 178

Onlinedienst ..................................... 178

PPP-Protokoll .................................. 216

Praxis ................................................. 216

über ISDN ........................................ 220

DHCP ............................................. 252, 1136

DHCP-Server, Windows Server 2012

374

DHTML ...................................... 1069, 1136

DHTML-Layer manipulieren, DOM

1077

Diagrammtypen (UML) ................... 677

Dialer ....................................................... 1113

Dialogverarbeitung ........................... 291

Diascanner ............................................ 162

Dienst, Windows ................................ 364

diff, Unix-Befehl ................................ 405

Differential Engine .............................. 36

Differenzmenge ..................................... 72

difftime(), C-Funktion ..................... 498

1175

Page 136: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Digital Equipment Corporation (DEC)

40

Digital Versatile Disc � DVD

Digital, Unterschied zu analog ........ 53

Digitale Signatur ............................... 1129

Digitalisierung ....................................... 55

Digitalkamera ...................................... 162

Auflösung .......................................... 163

Dijkstra, Edsger W. ................... 250, 659

DIMM-Modul (RAM) .......................... 128

DIN .......................................................... 1136

dir, Windows-Befehl ......................... 346

DirectoryIndex, Apache-Direk-

tive ...................................................... 779

Disc-at-once ............................... 156, 1136

Disjunktion, logische .......................... 64

Diskettenlaufwerk .............................. 153

Diskrete Menge ...................................... 55

display, CSS-Angabe ......................... 950

Division, Operator ............................. 481

DMA-Kanal ................................. 139, 1136

DMA-Kanal, Direct Memory Access

139

DMZ ........................................................ 1122

dn, LDAP-Attribut ............................. 806

DNA-Computer ..................................... 46

DNS ......................................................... 1136

BIND, Serversoftware ................... 262

Master- und Slave-Nameserver 264

Subdomain ...................................... 262

Top-Level-Domain ........................ 262

Zone .................................................... 262

DNS (Domain Name System) ....... 260

DNS-Server, Windows Server 2012

374

do/while()-Schleife ........................... 489

DocBook ................................................ 822

Dock

Dock-Menü, Mac OS X ................ 460

Mac OS X .................................. 458, 459

DOCTYPE-Angabe, XML ................... 834

Document Object Model � DOM

Document Type Definition � DTD

document.forms, JavaScript ........ 1045

document.images, JavaScript ..... 1056

document.write(), JavaScript-Me-

thode ............................................... 1040

DocumentRoot, Apache-Direk-

tive ...................................................... 779

dojo, Ajax-Bibliothek ..................... 1099

Dokumentation .................................. 672

Administratorendokumentation

672

Anwenderdokumentation .......... 672

Entwicklerdokumentation ......... 672

Dokumentstruktur

HTML ................................................. 902

DOM .............................................. 866, 1137

Ajax-Einsatz von ......................... 1085

Baumstruktur anzeigen, Java-

Script-Anwendung ................. 1073

CSS-Format ändern .................... 1076

Document-Objekt ......................... 866

Dokumenthierarchie ändern 1079

DOMParser ...................................... 866

für XML ............................................. 866

getChildNodes(), Methode ......... 867

in JavaScript .................................. 1070

jQuery-Selektor ............................ 1099

Kindknoten ...................................... 867

Klasse importieren ....................... 866

Knoteneigenschaften ................. 1071

Knotentypen ................................... 867

Parser ................................................. 866

praktische Anwendung, JavaScript

1076

Textknoten ..................................... 1071

Domain Name System (DNS)

BIND-Nameserver .......................... 797

Round-Robin-Verfahren ............. 803

Domain Name System � DNS

Domainname

Schema ............................................... 261

DOMParser, Java-Klasse .................. 866

Don’t Repeat Yourself (Rails-Prinzip)

1016

Doppelte Anführungszeichen

Perl ....................................................... 522

DOS .......................................................... 294

DoS � Denial of Service

Double Buffering, Animationstechnik

638

double, C-Datentyp ........................... 479

DOUBLE, SQL-Datentyp ................... 722

DoubleWord (DWord) ...................... 1137

DoubleWord, 32 Bit .............................. 81

Download

HTML-Hyperlink ............................ 917

Drag & Drop ......................................... 303

Drahtlose Schnittstelle ..................... 144

Drahtloses Netzwerk ....................... 209

Arten ................................................... 210

Gründe für den Einsatz .............. 209

Wireless LAN .................................... 210

Drain, Stromausgang des Transistors

87

DRAM ....................................................... 128

drawLine(), AWT-Methode ............. 634

drawOval(), AWT-Methode ............. 634

drawPolygon(), AWT-Methode ..... 634

drawRect(), AWT-Methode ............. 634

drawString, AWT-Methode ............ 637

Drectory, Apache-Direktive ........... 778

Drei Amigos ......................................... 677

Dreisatz ..................................................... 73

Drei-Wege-Handshake, TCP ........... 256

DROP DATABASE, SQL-Befehl ........ 721

DROP TABLE, SQL-Befehl ................. 721

DROP USER, MySQL-Anweisung 737

DROP, iptables-Regel ....................... 1125

Drucker ................................................... 167

GDI-Drucker .................................... 169

im Netzwerk freigeben, Windows

373

Kugelkopfdrucker ........................... 167

Laserdrucker .................................... 168

LED-Drucker .................................... 168

Matrixdrucker ................................. 167

Nadeldrucker ................................... 167

Schriftarten ...................................... 169

Thermosublimationsdrucker .... 168

Thermotransferdrucker .............. 168

Tintenstrahldrucker ...................... 167

Treiber ................................................ 169

Typenraddrucker ............................ 167

Druckserver .......................................... 196

Drupal, CMS ........................................ 1031

DSL ................................................. 220, 1137

ADSL .................................................. 220

ADSL2(+) ............................................. 221

anschließen ...................................... 222

einrichten, Mac OS X ................... 468

SDSL ................................................... 220

über Fernsehkabel .......................... 221

über Satelitt ...................................... 221

DSSS, WLAN-Technik ......................... 211

DTD ................................................ 834, 1137

Alternativen angeben .................. 837

Attributdeklaration ...................... 841

Attributnotwendigkeit ................ 844

1176

Page 137: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

DTD (Forts.)

Attributtypen .................................. 842

definieren ......................................... 835

Elementdeklaration ..................... 837

Entity deklarieren .......................... 845

Entitys aus externen Dateien ... 845

externe Entity-Deklaration ....... 845

Häufigkeitsangabe ....................... 839

Klammern ........................................ 837

du, Unix-Befehl .................................. 406

Dualcore-Prozessor ............................ 116

Dualsystem ...................................... 54, 76

in dezimal umrechnen .................. 78

in hexadezimal umrechnen ........ 80

in oktal umrechnen ........................ 79

Dualzahle

mit Vorzeichen speichern ............ 83

Durchlicht-Scanner ............................ 161

DVD .......................................................... 157

beschreibbare .................................. 159

DVD+R ..................................................... 159

DVD+RW ................................................. 159

DVD-R ...................................................... 159

DVD-RAM ............................................... 159

DVD-ROM ............................................... 158

Dateiformat ...................................... 159

Geschwindigkeit ............................. 158

DVD-RW .................................................. 159

DVI, Dateiformat ................................ 882

dvips, Dienstprogramm .................. 882

DWord � DoubleWord, 32 Bit

Dynamic HTML � DHTML

Dynamic RAM � DRAM

E

each(), PHP-Funktion ....................... 969

echo, Unix-Befehl ............................. 402

Echte Obermenge ................................ 70

Echte Teilmenge ................................... 70

ECMA ...................................................... 1137

EDGE ....................................................... 222

EDO-RAM ............................................... 128

EDV � Elektronische Datenverarbei-

tung

EEPROM ................................................. 130

Effizienz der CPU ................................. 122

EIDE ................................................ 141, 1137

anschließen ....................................... 141

im Vergleich zu SCSI ...................... 141

Ein-/Ausgabe ....................................... 290

C ........................................................... 496

Datei, Java ........................................ 512

Datei, Perl ......................................... 526

Dialogverarbeitung ...................... 291

Fehler ................................................. 504

Java ..................................................... 503

Lochkarte ......................................... 290

Perl ....................................................... 516

Stapelverarbeitung ....................... 291

Terminal ............................................ 291

Timesharing ..................................... 291

Einfache Anführungszeichen

Perl ....................................................... 522

Einfügeabfrage .................................... 719

Eingabe

aus Datei, C ..................................... 497

Konsole, C ........................................ 496

Perl ....................................................... 516

String, C ............................................ 496

Zeichen, C ......................................... 496

Eingabeaufforderung ....................... 1137

Unix .................................................... 384

Windows ........................................... 346

Eingabeaufforderung � Konsole

Eingabeeinheit ..................................... 113

Eingabegerät ................................ 145, 160

Digitalkamera ................................. 162

Maus .................................................... 161

Scanner ............................................... 161

Tastatur ............................................ 160

Eingabesteuerung

durch das Betriebssystem .......... 289

Eingabeumleitung

in Unix-Shells .................................. 394

Windows ............................................ 345

Eingabevervollständigung

Unix .................................................... 388

Windows-Eingabeaufforderung

344

Einsteckkarte ....................................... 140

einbauen .......................................... 140

Einwegverschlüsselung ................. 1129

Einzeltabellendatenbank .............. 700

Definition ......................................... 702

Filterung ........................................... 702

Funktionen ...................................... 702

Grenzen ............................................. 703

sortieren ........................................... 702

suchen in .......................................... 702

EJB � Enterprise Java Beans

Elektrische Datenverarbeitung ....... 25

Elektrisches Gerät ................................. 37

Elektrizität ............................................... 37

Elektromechanik ................................... 37

Elektronenröhre ............................. 37, 38

Elektronik ................................................. 37

Elektronische Datenverarbeitung 25

Elektronisches Gerät ............................ 37

Element

einer Menge ....................................... 69

XML ..................................................... 825

Eliza, Chatbot ......................................... 99

else, C ..................................................... 486

elsif, Perl ................................................ 524

Elternklasse ......................................... 509

Emacs, Texteditor .............................. 433

Befehlseingabe ............................... 433

Befehlsschreibweise ...................... 433

Buffer .................................................. 434

erweiterte Funktionen ................. 435

Fenster wechseln ........................... 434

Modi ................................................... 434

Navigation ....................................... 435

speichern .......................................... 435

Suchfunktionen .............................. 435

Text ersetzen ................................... 435

Text löschen .................................... 435

Text markieren ............................... 435

E-Mail

Attachment ...................................... 273

Entwicklung ...................................... 177

Hoax .................................................. 1118

HTML-Hyperlink auf .................... 918

IMAP-Protokoll .............................. 276

Kettenmail ...................................... 1119

MIME-Format ................................. 272

Multipart-Nachricht ..................... 273

POP3-Protokoll ................................ 275

RFC-822-Nachricht ........................ 272

SMTP-Protokoll .............................. 270

Spam .................................................. 1117

Verschlüsselung ........................... 1130

E-Mail-Protokolle ............................... 270

E-Mail-Server ........................................ 197

Embedded System .............................. 116

Endlicher Automat ........................... 100

Endlosschleife ..................................... 568

Endung (Dateiname) ........................ 320

Endung (Dateiname, Unix) ............ 398

Engelbart, Douglas ............................ 295

ENIAC, Röhrenrechner ....................... 38

1177

Page 138: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Enterprise Java Beans .............. 621, 1137

Client-Interface .............................. 623

Deployment ..................................... 625

Deployment-Deskriptor .............. 625

Entity-Beans .................................... 622

Home-Interface .............................. 622

Implementierung ................. 622, 623

Message Driven Beans ................ 622

Session-Beans ................................. 622

Vorteile .............................................. 622

Enterprise-Anwendung ........ 620, 1137

Enterprise-Anwendung � Verteilte

Anwendung

Entity

Datenbank ....................................... 702

Entity-Referenz

HTML ................................................. 904

XML ............................................ 829, 845

Entwicklerdokumentation ............. 672

Entwicklungsprozess, Software .... 673

agiler Entwicklungsprozess ....... 675

Extreme Programming ............... 674

Scrum ................................................. 675

Unified Process ............................... 673

Entwurf, Software-Engineering ... 669

Schnittstelle .................................... 670

Standalone-System ...................... 669

verteiltes System ........................... 670

Entwurfsmuster ................................ 684

Absicht ............................................... 685

Abstract Factory ............................ 687

Adapter .............................................. 687

Alias .................................................... 685

Beispiel Singleton ......................... 690

Bestandteile ..................................... 685

Beteiligte .......................................... 686

Bridge ................................................. 687

Builder ............................................... 687

Chain of Responsibility .............. 688

Client .................................................. 687

Codebeispiele ................................. 686

Command ....................................... 688

Composite ........................................ 687

Decorator ........................................ 688

Einordnung ...................................... 685

Einsatzbeispiele ............................. 686

Erzeugungsmuster ........................ 685

Facade ............................................... 688

Factory Method ............................. 687

Flyweight ......................................... 688

Implementierung ......................... 686

Entwurfsmuster (Forts.)

Interpreter ....................................... 688

Iterator .............................................. 688

Katalog ............................................. 687

Konsequenzen ....................... 685, 686

Lösung ............................................... 685

Mediator ........................................... 689

Memento .......................................... 689

Motivation ...................................... 686

MVC ......................................... 685, 1016

Name ................................................. 685

Observer ........................................... 689

Problem ............................................ 685

Protoype ........................................... 687

Proxy .................................................. 688

Querverweis .................................... 686

Singleton .......................................... 687

Singleton (als Beispiel) ............... 690

State ................................................... 689

Strategy ............................................ 689

Struktur ............................................. 686

Strukturmuster .............................. 685

Template Method ......................... 689

Verhaltensmuster ......................... 685

Verwendungszweck ..................... 686

Visitor ................................................ 689

Zusammenspiel ............................. 686

ENUM, SQL-Datentyp ....................... 723

Environment � Umgebung

EPOCH .................................................... 304

EPROM .................................................... 130

EPS, Dateiformat ................................ 883

Unterschiede zu PostScript ....... 883

eq, Perl-Operator ................................ 522

equals(), Java-Methode .................... 505

Ereignis

AWT ..................................................... 631

Ereignisanzeige, Windows ............. 364

Ereignisbehandlung .......................... 631

Java, AWT ......................................... 644

Erlang, Programmiersprache ........... 53

eRuby (embedded Ruby) .............. 1023

Erweiterte Partition ........................... 150

Erweiterung (Dateiname) ............... 320

Erweiterung (Dateiname, Unix) 398

Erzeugungsmuster ............................ 685

Escape-Sequenz ........................ 404, 1137

C ........................................................... 476

in RegExp .......................................... 579

Escaping

PHP ..................................................... 979

etc, Unix-Verzeichnis ........................ 315

Ethernet ....................................... 202, 1137

1000BaseFL-Standard ................ 208

1000BaseTX-Standard ............... 208

100BaseT-Standard ...................... 207

10Base2-Standard ........................ 204

10Base5-Standard ......................... 205

10BaseT-Standard ......................... 207

Bridge ................................................. 207

Crosslink-Kabel .............................. 207

CSMA/CD-Verfahren .................... 203

Entwicklung ....................................... 42

Hardware ........................................ 204

Hardwareadresse ......................... 202

Hub .................................................... 206

Koaxialkabel .................................. 204

MAC-Adresse .................................. 202

Switch ................................................ 206

Thicknet Coaxial ............................ 205

Thinnet Coaxial ............................. 205

Twisted-Pair-Kabel ....................... 205

Vorläufer ALOHANet ................... 203

Ethernet-Kabeltypen ....................... 204

Ettrich, Matthias ................................. 441

Euklidische Geometrie ...................... 95

EVA-Prinzip ........................................... 112

Event Handler

jQuery ............................................... 1101

Event Handling ................................... 631

Exabyte .................................................... 82

Exception

auslösen ............................................. 513

IOException ...................................... 513

Java ...................................................... 513

Exception, Java ................................... 504

IOException .................................... 504

Exceptions

FileNotFoundException ............... 513

exec(), C-Funktion .............................. 586

executeQuery(), JDBC-Methode ... 748

exit, Unix-Befehl ............................... 390

EXIT-SUCCESS, C-Konstante .......... 476

Exklusiv-Oder ........................................ 66

explode(), PHP-Funktion ............... 969

Exploit ................................................... 1119

Explorer

Ordneransicht, Windows ............ 342

Explorer, Windows-Dateimana-

ger ......................................................... 341

Exponentialschreibweise ................. 85

C .......................................................... 480

1178

Page 139: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Exponentielle Komplexität ............. 99

Exposé, Mac OS X ............................... 462

ext3, Linux-Dateisystem ................ 406

Extended Service Set (WLAN) ......... 213

extends, Java-Vererbung ................ 509

extends, PHP-Schlüsselwort .......... 984

Extensible Markup Language � XML

Extreme Programming ................... 674

Eigenschaften ................................. 675

Programmieren in Paaren ......... 675

Test-first-Verfahren ............ 675, 696

F

Facade, Entwurfsmuster ................ 688

Fachinformatiker ................................. 28

Anwendungsentwicklung ............ 28

Projektarbeit .................................. 660

Prüfung ............................................... 30

Systemintegration .......................... 28

facsimileTelephoneNumber, LDAP-

Attribut ............................................ 806

Factory Method, Entwurfsmuster

687

Fakultät .................................................. 566

Fallunterscheidung

Bedingung ........................................ 486

C ........................................................... 485

durch logische Operatoren, Perl

523

in Shell-Skripten ............................. 418

switch/case, C ................................. 487

unless, Perl ....................................... 524

Fallunterscheidungs-Operator ..... 484

Falsche Aussage ................................... 60

false

Java .................................................... 504

Farbaddition .......................................... 56

Farbe

in HTML ............................................ 948

Farbkanal, Bild ....................................... 56

Farblaserdrucker ................................ 168

Farbsubtraktion .................................... 56

Farbtiefe

Grafikkarte ....................................... 164

Farbtiefe, Bild .......................................... 55

Fast Ethernet ........................................ 207

FAT .......................................................... 1137

FAT12, Dateisystem ........................... 333

FAT16, Dateisystem ............................ 333

FAT32, Dateisystem ........................... 334

FAT-Dateisystem

FAT12 ................................................... 333

FAT16 .................................................. 333

FAT32 .................................................. 334

FDDI ........................................................ 1137

FDDI, Netzwerk .................................... 215

Fedora, Linux-Distribution ............ 377

Feed � Newsfeed

Fenster

programmieren ............................. 642

Fensterbedienung

Mac OS X .......................................... 458

Windows ............................................ 337

Festkommazahl ..................................... 84

Festplatte ............................................... 147

alternative SSD ............................... 153

Anschlüsse ......................................... 141

belegten Platz ermitteln (Unix)

406

Cache .................................................. 153

CHS-Adressierung .......................... 147

Defragmentierung ........................ 148

EIDE ...................................................... 141

formatieren, Unix ......................... 407

Geschwindigkeit ............................. 152

konstante Winkelgeschwindigkeit

152

LBA-Adressierung .......................... 148

mittlere Zugriffszeit ...................... 152

Partitionierung ............................... 148

Partitionstabelle ............................ 149

RAID ..................................................... 151

SCSI ...................................................... 142

Festplattengröße .................................. 82

Festwertspeicher � ROM

fg, Unix-Befehl .................................... 386

fgets(), C-Funktion ............................. 497

FHSS, WLAN-Technik ......................... 211

FIFO ............................................... 1137, 1141

FIFO � First In, First Out

File Type ID, HFS ................................ 466

FileMaker, Datenbank ........................ 711

FileNotFoundException, Java ........ 513

Fileserver ............................................... 196

fillOval(), AWT-Methode ................. 634

fillRect(), AWT-Methode ................. 634

filter, iptables-Tabelle ...................... 1125

find, Rails-Methode ......................... 1021

Finder

Mac OS X ................................. 458, 460

Ordneransichten, Mac OS X ..... 460

finger, Unix-Dienstprogramm ..... 382

Firewall ........................................ 1110, 1122

iptables ................................... 1122, 1124

netfilter (Linux) ............................. 1124

FireWire ........................................ 143, 1137

First In, First Out .................................. 571

Flachbettscanner ................................ 162

Flag

des virtuellen Prozessors ............ 106

flash, Rails-Zwischenspeicher ..... 1028

Flash-EEPROM ..................................... 130

Fließkomma-Literal ......................... 480

Fließkommazahl ........................... 84, 85

Exponentialschreibweise ............. 85

Exponentialschreibweise, C ...... 480

Flip-Flop (Schaltung) ........................... 92

float, C-Datentyp ................................ 479

float, CSS-Angabe ............................... 953

FLOAT, SQL-Datentyp ....................... 722

Floating Point Number � Fließkom-

mazahl

Floating Point Unit � FPU

FLOPS (CPU-Geschwindigkeit) ....... 123

FLUSH PRIVILEGES, MySQL-Anwei-

sung .................................................... 738

FLUSH TABLES, MySQL-Anweisung

739

Flussdiagramm ..................................... 95

Flusskontrolle ...................................... 482

Flyweight, Entwurfsmuster .......... 688

FM-Synthese (MIDI) .......................... 170

font-family, CSS-Angabe ................ 949

font-size, CSS-Angabe ...................... 949

font-style, CSS-Angabe .................... 949

font-weight, CSS-Angabe ............... 949

fopen(), C-Funktion .......................... 496

for()-Schleife ........................................ 489

for-Befehl

in Shell-Skripten ............................. 419

foreach, Perl-Schleife ......................... 519

fork(), C-Funktion ............................... 584

fork(), Unix-Systemaufruf .............. 307

form_tag, Rails-Methode .............. 1028

Formale Logik ........................................ 59

Formatieren

Datenträger, Unix ........................ 407

Formular

in Ruby on Rails ........................... 1028

1179

Page 140: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Fortran, Programmiersprache ........ 49

FORWARD, iptables-Chain ............ 1125

Foto-Multiplier (Trommelscanner)

162

FP-RAM .................................................... 128

fprintf(), C-Funktion .......................... 497

FPU ............................................................ 118

Frame, AWT-Klasse ................... 632, 642

Frame, Datenpaket ............................ 203

Framework ........................................... 1137

FreeBSD .................................................. 293

Frege, Gottlob ........................................ 59

Freie Software ...................................... 297

Fremdschlüssel

in Ruby on Rails .......................... 1020

RDBMS .............................................. 704

Frequency Hopping ........................... 211

Frequenz, Audio ................................... 56

Front Side Bus ...................................... 122

Frontend ................................................ 199

FSB � Front Side Bus

fscanf(), C-Funktion ........................... 497

fsck, Unix-Befehl ............................... 406

FTP ................................................. 267, 1138

ASCII-/Binärmodus ...................... 269

Befehle ............................................... 269

Clients ................................................ 268

HTML-Hyperlink auf ..................... 917

FULLTEXT, SQL-Schlüsselwort ...... 724

function, JavaScript-Schlüsselwort

1047

function, PHP-Schlüsselwort ........ 972

Funk-Schnittstelle ............................. 144

Funktion ........................................ 50, 1138

Argument ........................................ 490

aufrufen ............................................ 491

C .......................................................... 490

Call by Reference ........................... 492

Call by Value ................................... 492

iterative ............................................. 567

Parameter ....................................... 490

rekursive ........................................... 566

Rückgabewert ................................ 490

Rückgabewert, C ............................ 476

SQL ...................................................... 726

Funktionale Programmiersprache 53

Funktionsaufruf

C ........................................................... 477

Fußgesteuerte Schleife ................... 489

Futon, CouchDB-Administration 750

fvwm2, Window-Manager ............. 440

G

Galaxy Tab .............................................. 46

Gamma, Erich ...................................... 684

GAN ........................................................ 1138

GAN, globales Netz ............................. 191

Gantt-Diagramm ............................... 665

Ganze Zahl .............................................. 70

Garret, Jesse James ........................... 1081

gate (Gatter) � Logikschaltung

Gate, Steuerungseingang des Transis-

tors ........................................................ 87

Gates, Bill ........................................ 41, 294

Gatter � Logikschaltung

GCC, C-Compiler ................................. 473

starten ............................................... 474

gcc-Befehl ............................................. 474

Unix-Besonderheiten ................... 474

ge, Perl-Operator ................................. 523

Geometrie

euklidische .......................................... 95

Gerät

elektrisches ......................................... 37

elektronisches ................................... 37

Gerätedatei .................................... 314, 315

Gerätetreiber ....................... 48, 289, 302

Blockgerät ........................................ 302

für Drucker ....................................... 169

installieren, Windows ................... 361

Netzwerk, Windows ...................... 367

Zeichengerät ................................... 302

GET, HTTP-Methode .......................... 279

zum HTML-Formularversand 930

Get-Alias, PowerShell-Cmdlet ...... 348

getchar(), C-Funktion ....................... 496

Get-ChildItem, PowerShell-Cmdlet

348

Get-Command, PowerShell-Cmdlet

348

getDate(), JavaScript-Methode ... 1054

getDay(), JavaScript-Methode ..... 1054

getElementById(), JavaScript-Me-

thode ................................................. 1071

getElementsByTagName(), JavaScript-

Methode .......................................... 1071

getFullYear(), JavaScript-Methode

1054

gethostbyname(), Systemaufruf 595

getHours(), JavaScript-Methode 1054

getMinutes(), JavaScript-Methode

1054

getprotobyname(), Systemaufruf 594

gets(), C-Funktion ..................... 476, 496

getSeconds(), JavaScript-Methode

1054

getservbyname(), Systemaufruf 596

getYear(), JavaScript-Methode .... 1054

GGT (größter gemeinsamer Teiler)

562

GhostScript ........................................... 882

GID (Group-ID)

von Prozessen ................................ 308

GID (Group-ID, Unix) ......................... 381

gidNumber, LDAP-Attribut ........... 806

GIF, Bilddateiformat ......................... 888

Gigabit-Ethernet ................................ 208

Gigabyte ................................................... 82

givenName, LDAP-Attribut ........... 806

Gleichheit ................................................ 67

Gleichheit, Operator ......................... 483

Gleichung ............................................... 60

lineare ............................................ 61, 73

Lösung .................................................. 61

quadratische ..................................... 74

Gleichungssytem .................................. 73

Gleitkommazahl � Fließkommazahl

Global Area Network ......................... 191

global, PHP-Variablenmodifikation

973

Globale Variable

C .......................................................... 480

GNOME

GtK+-Bibliothek ............................. 441

GNOME Terminal ............................... 383

GNOME, Desktop ........... 306, 440, 443

Desk Guide ....................................... 443

GNOME-Menü ................................ 444

Kontrollzentrum ............................ 445

Panel ................................................... 445

Verknüpfung erstellen ................. 444

GNU Emacs, Texteditor ................... 433

GNU General Public License .......... 298

GNU zip, Komprimierung ............... 415

GNU-Projekt ......................................... 297

Google

Android (Smartphone-OS) ........... 46

Gosling, James .................................... 499

GPL ........................................................... 298

GPRS ........................................................ 222

Grafikkarte ............................................ 163

AGP ...................................................... 165

Auflösung ......................................... 164

1180

Page 141: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Grafikkarte (Forts.)

Farbtiefe ............................................ 164

Geschwindigkeit ............................. 165

mit mehreren Monitoren ........... 164

PCI ........................................................ 165

RAMDAC ............................................ 165

Grafische Benutzeroberfläche .... 290,

295, 306, 1138

Aqua, Mac OS X ............................. 456

Drag & Drop .................................... 303

Ereignis ............................................... 631

Fensteranwendung ....................... 642

GNOME .......................... 306, 440, 443

GtK+, Programmierumgebung 443

JFC ......................................................... 631

KDE .................................. 306, 440, 441

Menü programmieren ................. 642

Nachricht ........................................... 631

Programmierung ......................... 630

Qt, Programmierumgebung ..... 442

Quartz, Grafikbibliothek ............ 455

Terminalfenster ............................. 383

Unix .......................................... 439, 440

Widget ................................................ 631

Window-Manager ........................ 306

Windows ........................................... 335

Windows 95 ..................................... 335

Windows 98 ..................................... 335

Windows XP .................................... 335

X Window ............................... 306, 439

GRANT, MySQL-Anweisung ............ 735

Graphics, AWT-Klasse ....................... 632

Graphics2D, Java2D-Klasse ............. 632

Green Book (CDi) ....................... 155, 1138

grep, Unix-Befehl .............................. 403

Muster ............................................... 404

GridLayout ............................................ 643

Groß- und Kleinschreibung

igonorieren in RegExp ................ 580

Unix-Dateiname ............................. 316

Größer als, Operator ......................... 483

größer als, Operator ............................ 67

Größer oder gleich, Operator ........ 483

Großrechner .......................................... 40

Größter gemeinsamer Teiler ......... 562

groupadd, Unix-Befehl ................... 409

Group-ID

von Prozessen ................................ 308

Group-ID (Unix) ................................... 381

Grüner Balken (Unit-Test) .............. 695

Gruppe

hinzufügen, Linux ........................ 409

wechseln (Datei, Unix) ................ 401

Gruppenrichtlinienobjekt, Windows

364

GSM-Mobilfunk ................................... 222

gsub, Ruby-Methode ......................... 583

gt, Perl-Operator ................................. 522

GtK+, Grafikbibliothek ............ 441, 443

GUI � Grafische Benutzeroberfläche

Gültigkeitsbereich

Variable, C ....................................... 479

Variable, Java ................................. 505

gunzip, Unix-Befehl .......................... 895

gzip, Dateikomprimierung ............. 415

gzip, Unix-Befehl ............................... 895

H

Halbaddierer (Schaltung) ................. 90

Halbleiter ................................................. 39

Halteproblem (Berechenbarkeit) 96

Handshake .......................................... 1138

Handshake, Modem-Kommunika-

tion ...................................................... 218

Hard Link ............................................... 317

Hardware

Ausgabegerät .......................... 145, 163

BIOS ...................................................... 116

Bus ................................................ 117, 135

Bus Mastering ................................. 139

Chipsatz .............................................. 117

Digitalkamera ................................. 162

DMA-Kanal ...................................... 139

Drucker .............................................. 167

Eingabegerät .......................... 145, 160

Grafikkarte ....................................... 163

I/O-Basisadresse ............................. 139

IRQ ....................................................... 138

konfigurieren, Windows ..... 361, 363

Massenspeicher .............................. 145

Maus .................................................... 161

Monitor .............................................. 165

Netzwerk ........................................... 201

Onboard-Peripherie ....................... 117

Peripherie .......................................... 145

Plug & Play ....................................... 139

Prozessor ............................................ 116

RAM ............................................. 116, 127

Ressourcen ........................................ 138

Hardware (Forts.)

ROM-Speicher .................................. 116

Scanner ............................................... 161

schematischer Aufbau ................. 112

Schnittstelle ...................................... 117

Soundkarte ...................................... 169

Steuerung durch Betriebssystem

289

Tastatur ............................................ 160

Zentraleinheit .................................. 116

Hardware-Interrupt .......................... 126

Harvard Mark I ...................................... 38

Harvard Mark II .................................... 38

has_and_belongs_to_many, Rails-

Datenbankbeziehung ............... 1020

has_many, Rails-Datenbankbezie-

hung ................................................ 1020

Hash

Perl-Variable .................................... 518

PHP ..................................................... 967

Schlüssel ............................................ 520

Hashes

Ruby ..................................................... 535

Hauptplatine � Mainboard

Hauptprogramm

main() als ............................................. 51

Hauptspeicher ...................................... 113

Hayes, Modem-Befehlssatz ............. 217

Hayes-Befehlssatz ............................. 1134

HD DVD ................................................... 159

head

HTML ................................................. 902

head, Unix-Befehl ............................. 402

Header (HTTP) ...................................... 761

Header-Datei

C ........................................................... 495

Heinemeier Hansson,

David ....................................... 528, 1016

Hello World .......................................... 475

Helm, Richard ..................................... 684

help, Windows-Befehl ...................... 305

Helper

Ruby on Rails ................................ 1025

Herunterfahren

Betriebssystem, Unix .................... 411

Windows .......................................... 340

Hewlett-Packard, HP UX, Betriebs-

system ............................................... 293

Hexadezimalsystem ............................ 77

in dezimal umrechnen .................. 79

in dual umrechnen ......................... 80

1181

Page 142: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Hexadezimalzahl

C .......................................................... 480

Hex-Editor ..................................... 47, 884

HFS+, Dateisystem ............................. 465

HFS, Dateisystem ............................... 465

Data Fork ......................................... 466

Resource Fork ................................. 466

HIER-Dokument

Perl ...................................................... 523

Variablensubstitution ................. 523

HIER-Dokument, in Unix-Shell .... 395

Hintergrund (Prozess) ...................... 385

History

Unix-Shell ......................................... 389

Windows-Eingabeaufforderung

344

Hoax ....................................................... 1118

Hollerith, Hermann ............................ 39

home, Unix-Verzeichnis .................. 315

Homecomputer ........................... 43, 294

homeDirectory, LDAP-Attribut ... 807

Home-Verzeichnis ...................... 315, 319

Host (Netzwerk) .................................. 186

Host-zu-Host-Transport, DDN-Mo-

dell-Schicht ...................................... 186

Hot Plugging ......................................... 143

Hot Spot ................................................. 922

HP UX, Betriebssystem .................... 293

HPGL (Druckersprache) ................... 169

HR/DSSS, WLAN-Technik ................. 211

HSPA (HSDPA/HSUPA) .................... 222

HTML

<a>-Tag .............................................. 915

<address>-Tag ................................ 910

<applet>-Tag .................................. 940

<area>-Tag ....................................... 922

<b>-Tag ............................................. 910

<body>-Tag ..................................... 902

<br>-Tag .......................................... 904

<caption>-Tag ................................ 924

<code>-Tag ...................................... 910

<col>-Tag .......................................... 928

<colgroup>-Tag ............................. 928

<dl>-Tag ............................................. 913

<dt>-Tag ........................................... 914

<em>-Tag ......................................... 910

<embed>-Tag .................................. 938

<form>-Tag ..................................... 930

<head>-Tag ..................................... 902

<html>-Tag ..................................... 902

<i>-Tag .............................................. 910

HTML (Forts.)

<img>-Tag ....................................... 920

<input>-Tag ..................................... 931

<li>-Tag .............................................. 911

<map>-Tag ...................................... 922

<meta>, Tag ..................................... 941

<meta>-Tag .................................... 904

<object>-Tag .................................. 940

<ol>-Tag ............................................ 912

<option>-Tag .................................. 933

<p>-Tag ............................................. 907

<pre>-Tag ........................................ 908

<script>-Tag .................................. 1038

<select>-Tag .................................... 933

<strike>-Tag .................................... 910

<strong>-Tag .................................. 910

<style>-Tag ...................................... 946

<sub>-Tag ........................................ 910

<sup>-Tag ........................................ 910

<table>-Tag ..................................... 923

<tbody>-Tag .................................... 927

<td>-Tag ........................................... 924

<textarea>-Tag .............................. 933

<tfoot>-Tag ...................................... 927

<th>-Tag ........................................... 924

<thead>-Tag .................................... 927

<title>-Tag ....................................... 902

<tr>-Tag ............................................ 923

<tt>-Tag ............................................ 910

<u>-Tag ............................................. 910

<ul>-Tag ............................................ 911

Absatz ................................................ 907

Absatzausrichtung ....................... 907

Absendeknopf ................................ 932

ActiveX-Objekt ............................... 939

Adressangabe ................................. 910

Anker .................................................. 918

Attribut ............................................. 901

Aufzählung ....................................... 911

Aufzählungszeichen wählen ..... 911

Auswahlmenü ................................ 933

Beschreibung für Suchmaschinen

942

Bild als Hyperlink ........................... 921

Bild einbetten .................................. 919

Blocksatz .......................................... 907

Body ................................................... 902

Button ............................................... 932

Checkbox .......................................... 932

clientseitige Image Map ............ 922

CSS ...................................................... 944

HTML (Forts.)

Datei-Formularfeld ....................... 932

Definitionsliste ............................... 913

Dokumentkopf .............................. 902

Dokumentkörper .......................... 902

Dokumentstruktur ....................... 902

Dokumenttitel ............................... 902

Download-Hyperlink .................... 917

E-Mail-Hyperlink ........................... 918

Entity-Referenz .............................. 904

Farben ............................................... 948

Festbreitenschrift .......................... 910

fett ....................................................... 910

Formular .......................................... 930

Formular, Auswahlmenü ........... 933

Formular, Button ........................... 932

Formular, Checkbox ..................... 932

Formular, Datei-Upload-Feld ... 932

Formular, Hidden-Feld ................ 932

Formular, Löschknopf ................. 932

Formular, Passwortfeld .............. 932

Formular, Radiobutton ............... 931

Formular, Reset-Button .............. 932

Formular, Schaltfläche ................ 932

Formular, Submit-Button .......... 932

Formular, Textbereich ................. 933

Formular, Textfeld ........................ 932

Formular, Versandmethode ..... 930

Formulardaten-Codierung ........ 931

Formulare, Absendeknopf ......... 932

Formularelemente ........................ 931

Formular-URL ................................ 930

FTP-Hyperlink .................................. 917

geeignete Titel ............................... 903

geschütztes Leerzeichen ............ 906

GET, Formularversandmetho-

de ................................................... 930

Glossarliste ...................................... 913

h1 bis h6, Tags ................................ 908

Head .................................................. 902

Hidden-Formularfeld ................... 932

hochgestellter Text ....................... 910

Hyperlink .......................................... 914

Hyperlink ins Web ......................... 916

Image Map, clientseitige ............ 922

Image Map, serverseitige ........... 921

input-Tag .......................................... 931

Java-Applet einbetten ................. 940

Kommentar ..................................... 923

kursiv .................................................. 910

Layer ................................................... 952

1182

Page 143: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

HTML (Forts.)

Layout-Tags .................................... 909

Link ..................................................... 914

Liste ...................................................... 911

Löschknopf ....................................... 932

Meta-Tag .......................................... 941

MIME-Types ..................................... 938

Multimedia einbetten .................. 938

neue Strukturelemente in HTML5

909

nicht nummerierte Liste .............. 911

nummerierte Liste ......................... 912

Nummerierungsart wählen ...... 912

Passwortfeld .................................... 932

Pfadangaben in Links ................... 915

Plug-in-Formate einbetten ........ 938

POST, Formularversandmethode

930

Quellcode darstellen .................... 910

Radiobutton ..................................... 931

Refresh ............................................... 941

Reset-Button .................................... 932

robots.txt-Datei ............................. 943

Schaltfläche ..................................... 932

Schlüsselwörter für Suchmaschinen

942

Seite neu laden ............................... 941

seiteninterner Link ........................ 918

Server-Side Image Map ............... 921

Sonderzeichen ............................... 904

Struktur-Tags ................................. 909

Style Sheets ...................................... 944

style-Attribut ................................... 947

Submit-Button ................................ 932

Suchmaschinen-Informationen

942

Tabelle ............................................... 923

Tabelle ausrichten ......................... 925

Tabelle, Gitternetzlinien steuern

927

Tabelle, Rahmenlinien steuern 927

Tabellen-Attribute ........................ 925

Tabellenbereiche ............................ 927

Tabellenbeschriftung ................... 924

Tabellenbreite ................................. 925

Tabellenhöhe .................................. 925

Tabellenrahmen ............................ 926

Tabellen-Spaltenbreite ................ 928

Tabellenzeile ................................... 923

Tabellen-Zellabstand ................... 926

Tabellenzelle .................................... 924

HTML (Forts.)

Tabellenzellen verbinden ........... 926

Tabellenzellen-Attribute ............ 926

Tabellenzellen-Ausrichtung ...... 926

Tag ...................................................... 901

Tag-Verschachtelung .................. 910

Text betonen ................................... 910

Text durchstreichen ..................... 910

Text stark betonen ....................... 910

Textbereich ...................................... 933

Textfeld ............................................. 932

Textformatierung ........................ 904

Textmarke ........................................ 918

tiefgestellter Text .......................... 910

Überschrift ....................................... 907

unterstrichen .................................. 910

verschachtelte Liste ...................... 912

vorformatierter Text .................. 908

Web-Palette ..................................... 948

XHTML ............................................. 900

XHTML-Besonderheiten ............. 903

Zeichenformatierung ................. 909

Zeichensatz angeben .................. 904

Zeilenumbruch .............................. 904

HTML5 ................................................... 900

<article>-Tag ................................. 909

<aside>-Tag .................................... 909

<audio>-Tag ................................... 939

<figcaption>-Tag ......................... 909

<figure>-Tag .................................. 909

<footer>-Tag .................................. 909

<header>-Tag ................................ 909

<hgroup>-Tag ............................... 909

<nav>-Tag ....................................... 909

<section>-Tag ................................ 909

<video>-Tag .................................... 939

Audio ................................................. 939

neue Formular-Eingabetypen 936

Strukturelemente ......................... 909

Video .................................................. 939

HTML-Formular ................................. 930

per JavaScript modifizeren ..... 1045

überprüfen per JavaScript ....... 1048

URL ..................................................... 930

htmlspecialchars(), PHP-Funk-

tion ..................................................... 979

htpasswd, Apache-Hilfspro-

gramm ............................................... 777

HTTP ..................................... 278, 753, 1138

Anfrage .............................................. 755

Antwort .............................................. 756

HTTP (Forts.)

Cookie (PHP) ................................... 994

Header ...................................... 280, 761

Kommunikationsablauf ............. 754

Methoden ......................................... 754

Session-Tracking (PHP) ............... 993

Sitzung ............................................... 279

Statuscodes ............................. 280, 758

HTTP-Befehle ....................................... 279

HTTP-Server ......................................... 198

Hub ......................................................... 206

HUP, Signal .......................................... 308

Hybrid-CD .................................... 157, 1138

Hyperlink

HTML .................................................. 914

Hypertext ..................................... 179, 1138

Hypertext Transfer Protocol � HTTP

I

I/O � Ein-/Ausgabe

I/O-Basisadresse ....................... 139, 1138

I/O-Kanäle ............................................. 394

IaaS (Infrastructure as a Service) 1033

IANA .............................................. 229, 1138

IBM .................................................... 43, 294

AIX, Betriebssystem ...................... 293

DB2 ....................................................... 711

OS/2, Betriebssystem ................... 295

IBM PC .................................................... 294

IBM WebSphere-Server .................... 621

IBM-PC ...................................................... 43

IC ................................................................. 38

ICMP ....................................................... 1138

ICMP-Protokoll .................................... 255

IEEE ......................................................... 1138

IEEE 1394 ............................................... 1137

IEEE 1394 � FireWire

IEEE 802.11 � Wireless LAN

IEEE, Netzzugangsverfahren 802.x

201

if()

C ........................................................... 485

Fallunterscheidung, nachgestellte,

Perl ................................................. 524

if, Ruby-Anweisung ........................... 542

if-Befehl

in Shell-Skripten ............................. 418

ifconfig, Unix-Befehl ........................ 445

IfModule, Apache-Direktive .......... 779

1183

Page 144: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Image Map

clientseitige, in HTML .................. 922

serverseitige, in HTML ................. 921

Image, AWT-Klasse ............................ 638

Bilddatei laden ............................... 639

Image, JavaScript-Klasse ............... 1058

Imaginäre Zahl ....................................... 71

IMAP .............................................. 276, 1138

Imperative Programmiersprache 50

Implementierung, Software-Engi-

neering ............................................. 670

implode(), PHP-Funktion ............... 970

import, Java-Anweisung .................. 502

include(), PHP-Funktion ................. 988

include_once(), PHP-Funktion .... 988

Index

im RDBMS ....................................... 704

INDEX, SQL-Schlüsselwort ............. 724

indexOf(), Java-Methode ................ 506

inet_aton, Netzwerkprogrammie-

rung .................................................... 595

inetOrgPerson, LDAP-Objektklasse

805

Informatik ............................................... 26

angewandte ....................................... 26

Bioinformatik .................................... 33

Medieninformatik ............................ 33

medizinische ...................................... 33

praktische ........................................... 26

Studium ................................................ 32

technische .......................................... 26

theoretische ....................................... 26

Wirtschaftsinformatik .................... 33

Informatikkaufmann ......................... 29

Information

analoge ................................................ 53

digitale ................................................. 53

Informationstechnischer Assis-

tent ........................................................ 30

Infrarot-Anschluss ............................. 144

Infrastructure as a Service ............ 1033

init-Prozess ........................................... 307

Inner Join, SQL ...................................... 727

durch WHERE ausdrücken ......... 728

INNER JOIN, SQL-Klausel .................. 727

InnoDB, MySQL-Tabellentyp ......... 730

InnoDB-Tabelle (MySQL) ................. 710

inode ........................................................ 316

INPUT, iptables-Chain ..................... 1125

Input/Output � Ein-/Ausgabe

InputStreamReader, Java-Klasse 503

INSERT, SQL-Abfrage ......................... 728

Instanz .................................................... 501

erzeugen, Java ................................ 505

Instruction Table � Befehlstabelle

int

C-Datentyp ...................................... 479

Funktionsdatentyp, C ................... 475

INT, Signal ............................................. 410

INT, SQL-Datentyp ............................. 722

Integer ................................................... 1138

Java-Klasse ...................................... 564

Integer-Literal ..................................... 480

Integrationsmanagement ............. 663

Integrierter Schaltkreis ...................... 38

Intel ..................................................... 41, 117

Intel-Assembler ................................... 126

Interactive Ruby ................................. 528

Interface

Java ....................................................... 511

Runnable, Java ................................ 512

Serializable, Java ............................ 512

Internet

Anwendungsprotokolle ............... 265

Dateiübertragung ......................... 267

Denial-of-Service-Angriff ........... 370

Dokumentation ............................... 177

Geschichte ......................................... 175

Offizielle Einführung .................... 178

RFC ........................................................ 177

Standards ........................................... 177

Transportprotokolle ..................... 254

Vorläufer ARPANET ...................... 176

Zugang per Modem ...................... 217

Zugang über DSL ........................... 220

Zugang über ISDN ......................... 218

Internet Explorer

ActiveX .............................................. 939

Internet, DDN-Modell-Schicht ...... 185

Internet-Schichtenmodell .............. 184

Anwendungsschicht ..................... 186

Host-zu-Host-Transportschicht

186

Internetschicht ................................ 185

Netzzugangsschicht ..................... 185

Interpreter ................................ 41, 49, 514

Interpreter, Entwurfsmuster ........ 688

Inter-Prozess-Kommunikation ... 309

System V IPC ................................... 309

über Pipes ......................................... 309

über Signale .................................... 309

Interrupt Request � IRQ

Interrupt, Hardware- ........................ 126

Intrusion Detection System ......... 1122

Intrusion Detection Systems

Network-IDS ................................... 1123

Snort .................................................. 1123

IO::Socket .......................... 597, 599, 600

IOException, Java ...................... 504, 513

iOS, Mobilbetriebssystem .............. 455

iPad ............................................................ 46

IP-Adresse

für Sockets ........................................ 595

zuweisen, Linux ............................. 446

zuweisen, Mac OS X ...................... 467

zuweisen, Windows ...................... 368

IP-Adressen

Broadcast-Adresse ........................ 228

CIDR-Adressierung ........................ 230

CIDR-Berechnungen ..................... 232

IPv6 .................................................... 240

Klassen .............................................. 227

Konzept ............................................. 226

link local ............................................ 230

Loopback .......................................... 230

Netzwerkadresse ............................ 228

private ............................................... 229

spezielle ............................................. 229

Subnet Mask ..................................... 231

Subnetting ........................................ 232

Supernetting .................................... 232

Teilnetzmaske .................................. 231

VLSM .................................................. 236

IPC � Inter-Prozess-Kommunikation

iPhone ...................................................... 46

IP-Masquerading ................................ 253

IP-Protokoll

Adressverteilung ............................ 229

Datagramme .................................. 237

Default Gateway ........................... 244

Header ............................................... 237

IPv6 .................................................... 240

Maximum Transmission Unit

(MTU) ............................................ 239

Multicasting .................................... 228

Network Address Translation (NAT)

253

Paketfragmentierung .................. 239

Router ................................................ 244

Routing .............................................. 244

Routing-Protokolle ....................... 248

spezielle Adressen ......................... 229

TTL ....................................................... 248

1184

Page 145: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

IP-Routing

Beispiele ............................................ 245

Routing-Tabelle ............................. 247

iptables ........................................ 1122, 1124

Beispiele ........................................... 1127

Chain ................................................. 1124

Kommandozeilenoptionen ...... 1126

Regeln ............................................... 1125

Tabelle .............................................. 1125

IPv4-Adressverteilung ..................... 229

IPv6 ......................................................... 240

Adressaufbau ................................... 241

Datagramm-Header .................... 242

Migration (Umstieg) .................... 243

Motivation ...................................... 240

Tunnelung ........................................ 244

IPX/SPX, Netzwerkprotokoll ......... 285

irb ............................................................. 528

console, Rails-Variante ............. 1021

IrDA ............................................... 144, 1138

IRQ .................................................. 138, 1138

reservierter ........................................ 138

IS A-Beziehung, OOP ......................... 681

is_array(), PHP-Funktion ................ 977

is_float(), PHP-Funktion .................. 977

is_int(), PHP-Funktion ..................... 977

is_null(), PHP-Funktion ................... 977

is_numeric(), PHP-Funktion .......... 977

is_string(), PHP-Funktion ............... 977

ISA .................................................. 140, 1138

ISDN ................................................ 218, 1138

anschließen ...................................... 219

Kanalbündelung ............................ 219

Kanäle ................................................ 219

ISO ........................................................... 1139

ISO 9660 (CD-ROM-Format) ........... 157

ISO-8859-Zeichensätze ..................... 875

isset(), PHP-Funktion ........................ 977

Itanium, Prozessor ............................. 121

IT-Ausbildung ......................................... 27

Fachinformatiker ............................ 28

Informatikkaufmann .................... 29

IT-Systemelektroniker ................... 29

IT-Systemkaufmann ...................... 29

Projektarbeit .................................. 660

Prüfung ............................................... 30

Studienfächer ..................................... 32

IT-Berufe

Ausbildungsgänge ........................... 27

Iteration ................................................. 567

Iterator, Entwurfsmuster ............... 688

Iteratoren

Ruby ............................................ 545, 557

ITS, Betriebssystem ............................ 291

IT-Sicherheit ....................................... 1105

IT-Systemelektroniker ........................ 29

IT-Systemkaufmann ............................ 29

J

Jacobson, Ivar ....................................... 677

Java Application-Server .................... 621

Java EE ........................................... 500, 621

Enterprise Java Beans .................. 621

Java Enterprise Edition ..................... 621

Java Foundation Classes .................. 631

Java ME ................................................. 500

Java SDK ............................................... 500

Enterprise Edition ........................ 500

Micro Edition (Java ME) ............ 500

Standard Edition .......................... 500

Java Servlet ............................................ 627

Beispiel ............................................... 627

Java Virtual Machine (JVM) ........... 499

java, Programm .................................. 502

Java, Programmiersprache ..... 52, 499,

592, 1139

ActionListener ................................ 645

Animation, AWT ............................ 638

Applet .............................. 500, 632, 655

Ausnahme ........................................ 504

Ausnahme auslösen ..................... 513

Ausnahmen ...................................... 513

AWT ..................................................... 631

Biddatei laden ................................ 639

binäre Suche ................................... 570

boolean-Datentyp ........................ 504

BorderLayout ................................. 644

BubbleSort ........................................ 565

BufferedReader ...................... 503, 513

Button ............................................... 642

byte-Datentyp ................................ 504

Callback-Methode ......................... 591

Canvas ............................................... 632

catch() ................................................ 504

charAt()-Methode ......................... 505

class-Deklaration .......................... 503

CLASSPATH .................................... 500

Color .................................................... 635

compareTo()-Methode ................ 505

Connection, JDBC-Klasse ............ 747

Java, Programmiersprache (Forts.)

Datei verarbeiten ........................... 512

Datenbankverbindung herstellen

747

Datentypen ..................................... 504

drawLine()-Methode .................... 634

drawOval()-Methode ................... 634

drawPolygon()-Methode ............ 634

drawRect()-Methode .................... 634

drawString()-Methode ................. 637

Eigenschaften ................................. 501

Ein- und Ausgabe .......................... 503

Einsatzgebiete ............................... 500

Enterprise Edition .......................... 621

equals()-Methode .......................... 505

Ereignisbehandlung ..................... 644

Exception ......................................... 504

Exceptions ......................................... 513

executeQuery()-Methode ........... 748

extends ............................................. 509

false .................................................... 504

fehlender Zeiger ............................ 506

FileNotFoundException ............... 513

fillOval()-Methode ......................... 634

fillRect()-Methode ......................... 634

Frame ........................................ 632, 642

Graphics2D, Klasse ....................... 632

Graphics-Klasse ............................. 632

GridLayout ....................................... 643

Gültigkeitsbereich für Variablen

505

Image-Klasse ................................... 638

import-Anweisung ........................ 502

indexOf()-Methode ...................... 506

init(), Applets ................................... 655

InputStreamReader ...................... 503

Installation ..................................... 500

Instanz ............................................... 501

Instanz erzeugen ........................... 505

Integer-Klasse ................................. 564

Interface ............................................. 511

IOException ............................ 504, 513

java.awt.* .......................................... 631

java.awt.event.* ............................. 631

java.lang.* ....................................... 506

java.sql.* ............................................ 747

java.util.* ........................................... 513

Java2D ................................................ 632

javax.swing.* ................................... 631

javax.swing.event.* ....................... 631

javax.swing.table.* ....................... 631

1185

Page 146: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Java, Programmiersprache (Forts.)

JDBC-Datenbankschnittstelle ... 746

JDBC-ODBC-Bridge ........................ 746

JDBC-Treiber laden ........................ 747

JFC ......................................................... 631

JFrame ................................................ 632

Kapselung ........................................ 501

Klasse ................................................. 501

Kommentar .................................... 506

kompilieren ..................................... 502

Konstruktor ..................................... 507

Label ................................................... 642

lastIndexOf()-Methode ............... 506

LayoutManager ............................. 643

length()-Methode ......................... 506

lineare Suche ................................... 569

Liste ...................................................... 573

Listener .............................................. 644

main()-Methode .................... 503, 632

Math-Klasse .................................... 506

Menu .................................................. 642

MenuBar ........................................... 642

MenuItem ......................................... 642

Methode ............................................ 501

MouseListener ................................ 645

MouseMotionListener ................. 645

new ...................................................... 505

Object-Klasse ................................. 506

Objekt ................................................. 501

Objektorientierung .............. 501, 506

org.xml.sax.* ................................... 858

Package java.io.* ........................... 503

paint()-Methode ............................. 632

Panel .......................................... 632, 642

parseInt()-Methode ....................... 564

print() ................................................ 504

println() ............................................. 503

private (Kapselung) ...................... 507

Programm starten ........................ 502

protected ......................................... 509

public (Kapselung) .............. 503, 508

readLine()-Methode ..................... 504

repaint()-Methode ......................... 641

ResultSet, JDBC-Klasse ................. 748

RMI (Remote Method Invocation)

622

run()-Methode ................................ 589

Runnable-Interface ............... 512, 589

SAX ...................................................... 858

SDK ..................................................... 500

Java, Programmiersprache (Forts.)

SDK, Enterprise Edition ............. 500

SDK, Micro Edition (Java ME) 500

SDK, Standard Edition ............... 500

Serializable-Interface ................... 512

Servlet ................................................. 627

setColor()-Methode ....................... 635

setLayout() ....................................... 643

setVisible()-Methode .................... 632

start()-Methode ............................. 589

Statement, JDBC-Klasse .............. 748

static .................................................. 503

String ................................................. 503

String-Methoden ........................... 505

Strings vergleichen ....................... 505

String-Verkettung ................ 504, 505

substring()-Methode .................... 506

super ................................................... 510

Swing .................................................. 631

TextArea ........................................... 642

TextField ........................................... 642

this ...................................................... 507

Thread ....................................... 512, 589

Thread, Klasse ................................ 589

throws-Klausel ................................ 513

true ..................................................... 504

try ........................................................ 504

try/catch-Block .............................. 504

Überladung ..................................... 508

Umwandlung von SQL-Datentypen

749

Unterschiede zu C ......................... 504

Unterstützung durch Mac OS X

456

update()-Methode .......................... 641

Variablendeklaration .................. 505

Vererbung ........................................ 509

virtuelle Maschine ........................ 499

WindowListener ............................ 645

java.applet.*, Package ....................... 632

java.awt.*, Package .............................. 631

java.awt.event.*, Package ................. 631

java.awt.Graphics, Klasse ................ 632

java.io.*, Package ................................ 503

java.lang.*, Package ........................... 506

java.sql.*, Package ............................... 747

java.util.*, Package .............................. 513

Java2D-API ............................................ 632

Java-Applet ................................... 632, 655

in HTML einbetten ....................... 940

init()-Methode ................................. 655

JavaScript .................................. 1038, 1139

+, Operator ..................................... 1041

Ajax ................................................... 1081

angepasstes Browserfenster öffnen

1066

Ausgabe ins Dokument ............ 1039

automatisierter Hyperlink ...... 1065

Bilder austauschen ..................... 1056

Bilder vorausladen ...................... 1058

Bildschirmgröße ......................... 1068

Browserweiche ............................ 1063

charAt(), String-Methode ........ 1048

CSS-Format ändern, DOM ........ 1076

Date, Klasse ................................... 1053

document.forms, Formulare 1045

document.images ....................... 1056

document.write(), Methode .... 1040

Dokumenthierarchie ändern, DOM

1079

DOM, Objektmodell ................... 1070

DOM-Baumstruktur anzeigen 1073

DOM-Knoteneigenschaften .... 1071

DOM-Textknoten ........................ 1071

Event Handler .............................. 1044

externe Datei einbinden .......... 1039

Fenstereigenschaften ................ 1066

Fenster-Methoden ...................... 1069

Formular überprüfen ................ 1048

Formular, Fokus setzen ............ 1050

Formularzugriff ........................... 1045

function, Schlüsselwort ............. 1047

Funktion .......................................... 1047

Geschichte ...................................... 1038

getDate(), Methode ..................... 1054

getDay(), Methode ...................... 1054

getElementById(), DOM-Methode

1071

getElementsByTagName(), DOM-

Methode ..................................... 1071

getFullYear(), Methode .............. 1054

getHours(), Methode .................. 1054

getMinutes(), Methode .............. 1054

getSeconds(), Methode .............. 1054

getYear(), Methode ..................... 1054

history-Objekt ............................... 1065

Image, Klasse ................................ 1058

in der Browser-History blättern

1065

in HTML einbetten ...................... 1038

indexOf(), String-Methode ...... 1049

jQuery ............................................. 1099

1186

Page 147: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

JavaScript (Forts.)

JSON ...................................... 1088, 1098

lastIndexOf(), String-Methode

1049

length, String-Eigenschaft ...... 1048

location-Objekt ............................ 1065

navigator-Objekt ........................ 1064

onreadystatechange, Ajax-Eigen-

schaft ........................................... 1083

open(), Ajax-Methode ................ 1082

open(), window-Methode ........ 1066

parseFloat(), Methode ............... 1042

parseInt(), Methode .................... 1042

prompt()-Methode ..................... 1040

readyState, Ajax-Eigenschaft 1083

regulärer Ausdruck .................... 1050

responseText, Ajax-Eigenschaft

1085

responseXML, Ajax-Eigenschaft

1089, 1092

Rollover-Effekt .............................. 1057

Rollover-Effekt, praxistaugliche

Lösung ........................................ 1059

screen-Objekt ............................... 1068

send(), Ajax-Methode ................ 1084

setTimeout(), Methode .............. 1055

String, Klasse ................................ 1048

String-Vergleich ........................... 1043

String-Verkettung ....................... 1041

substring, String-Methode ...... 1048

Timeout ........................................... 1055

JavaServer Pages � JSP

javax.ejb.*, Java-Package .................. 622

javax.swing.*, Package ....................... 631

javax.swing.event.*, Package .......... 631

javax.swing.table.*, Package ........... 631

Jaz-Laufwerk .......................................... 153

JBoss, Java Application-Server ...... 621

JDBC ........................................................ 1139

JDBC, Java-Datenbankschnittstelle

746

JDBC-ODBC-Bridge ............................ 746

JDK .......................................................... 500

JFC ............................................................ 1139

JFC (Java Foundation Classes) ......... 631

JFrame, Swing-Klasse ........................ 632

Jobs, Steve ............................. 42, 294, 295

Johnson, Ralph .................................... 684

join, Perl-Anweisung ......................... 519

Join, SQL .................................................. 727

Join-Abhängigkeit, RDBMS ............ 710

Joliet ....................................................... 1139

Joliet (CD-Format) ............................... 157

Unterstützung auf dem Mac ...... 157

Joomla!, CMS ...................................... 1031

Journaling-Dateisystem ................. 406

Joy, Bill .......................................... 424, 499

JPEG, Bilddateiformat ...................... 889

jQuery .................................................. 1099

Ajax-Anfrage ................................. 1101

Event Handler ............................... 1101

Funktion ......................................... 1100

Selektor ........................................... 1099

JSON, Ajax-Datenaustauschformat

1088, 1098

json_encode, PHP-Funktion ....... 1098

JSP ............................................................ 628

JUnit ........................................................ 693

Beispiele ............................................ 693

grafische Oberfläche .................... 695

K

Kabelanschluss als Internetzugang

221

Kapselung ....................................... 52, 501

Kartensteckplatz

AGP ..................................................... 140

ISA ....................................................... 140

PCI ....................................................... 140

PCMCIA ............................................. 140

KDE ......................................................... 1139

Konsole (Terminalfenster) .......... 383

Qt-Bibliothek ................................... 441

KDE, Desktop .................... 306, 440, 441

Kontrollzentrum ........................... 443

Panel .................................................. 442

Verknüpfung erstellen ................ 443

Kernel ..................................................... 299

mach-Mikrokernel ............... 300, 455

Mikrokernel ..................................... 299

monolithischer .............................. 299

selbst kompilieren, Linux ............ 416

Systemaufruf ......................... 301, 304

Task Scheduler ................................ 301

Kernelmodus ............................ 300, 307

Kernighan, Brian ................. 50, 292, 473

Kettenmail ........................................... 1119

keys, Perl ............................................... 520

KI � Künstliche Intelligenz

Kildall, Gary ......................................... 294

kill(), Unix-Systemaufruf ............... 308

KILL, Signal ................................. 308, 410

kill, Unix-Befehl .................................. 410

Kilobyte .................................................... 82

Kindklasse ............................................ 509

Klammer

Operatoren-Rangfolge verändern

485

Klammern

in RegExp ......................................... 580

Klasse ................................................ 52, 501

abgeleitete ...................................... 509

Instanz erzeugen, Java ................ 505

Klassen

Elternklasse ..................................... 509

Klassendiagramm (UML) ............... 680

Klassenmethode

PHP ..................................................... 983

Klassentest � Unit-Test

Klassenvariable

PHP ..................................................... 983

Kleinbildscanner ................................ 162

Kleincomputer ...................................... 40

Kleiner als, Operator ......................... 483

kleiner als, Operator ........................... 67

Kleiner oder gleich, Operator ........ 483

Knuth, Donald E. ................................ 881

Koaxialkabel ....................................... 1139

KOffice, KDE-Office-Paket ............... 441

Kommandozeile ................................ 1139

Kommandozeile � Konsole

Kommandozeilenparameter

C ........................................................... 491

Kommentar

C ........................................................... 478

in HTML ............................................. 923

Java .................................................... 506

Perl ....................................................... 521

PHP ...................................................... 971

Kommentare

in XML ................................................. 831

Kommunikation

zwischen Prozessen ..................... 309

Kommunikationsmanagement 663

Kommunikationssteuerung, OSI-

Schicht ................................................ 183

Kompakt-Desktoprechner .............. 114

Komplexe Zahl ....................................... 71

Komplexität ........................................ 1139

exponentielle .................................... 99

logarithmische ................................. 98

1187

Page 148: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Komplexität (Forts.)

O-Notation ......................................... 98

polynomielle ..................................... 99

quadratische ..................................... 99

von Algorithmen ............................. 97

Komplexitätsklasse ............................. 97

Komponentenmodell ...................... 622

Komprimierung ................................. 885

bzip2 .................................................... 415

gzip ...................................................... 415

verlustbehaftete ............................ 886

verlustfreie ....................................... 885

Konfigurationsdatei

.bashrc (Unix) .................................. 385

/etc/profile (Unix) ......................... 385

Konjunktion, logische ........................ 63

Konqueror, KDE-Browser ............... 441

Konsole ........................................ 290, 305

Ausgabe, C ....................................... 496

Ausgabeumleitung (Unix) ......... 394

Befehl, Windows ............................ 346

Eingabe, C ........................................ 496

Eingabeaufforderung, Unix ...... 384

Eingabeaufforderung, Windows

346

Eingabeumleitung (Unix) .......... 394

Eingabevervollständigung ........ 388

Pipe ..................................................... 395

praktische Verwendung (Unix) 379

starten unter Windows ............... 346

Windows ........................................... 344

Konsole (KDE-Terminalfenster) ... 383

Konstante

symbolische .......................... 499, 1143

Konstante lineare Geschwindigkeit

155

Konstante Winkelgeschwindigkeit

152

Konstruktor

Java ..................................................... 507

überladen, Java ............................. 508

Kontextmenü

Mac OS X ........................................... 462

Kontrollstruktur ................................. 485

Fallunterscheidung ....................... 485

foreach, Perl ...................................... 519

in C ...................................................... 477

in der PowerShell ........................... 353

Ruby .................................................... 542

Schleife .............................................. 488

unless, Perl ....................................... 524

Kooperatives Multitasking ............ 302

Kopfgesteuerte Schleife .................. 489

Kopieren

Datei, Mac OS X ............................. 462

Datei, Unix ....................................... 398

Datei, unter Windows .................. 341

Datei, Windows-Konsole ............. 347

Koprozessor ........................................... 118

Korn Shell (ksh) ................................... 385

Kosinuskurve

zeichnen, AWT ................................ 636

Kostenmanagement ........................ 663

Kritischer Pfad, Netzplan ................ 665

Kryptoanalyse .................................... 1129

Kryptografie ....................................... 1128

asymmetrische Verschlüsselung

1129

Cäsar-Code ..................................... 1128

digitale Signatur .......................... 1129

Einwegverschlüsselung ............. 1129

Grundbegriffe ................................ 1128

Message-Digest ............................ 1130

ROT13 ................................................ 1128

SSH ..................................................... 1130

SSL/TLS ............................................. 1130

symmetrische Verschlüsselung

1129

ksh (Korn Shell) ................................... 385

Kugelkopfdrucker .............................. 167

Künstliche Intelligenz ....................... 46

L

l, LDAP-Attribut ................................. 806

Label, AWT-Klasse .............................. 642

Lamarr, Hedy ......................................... 211

LAMP-System ............................ 964, 1139

LAN ................................................. 191, 1139

Technische Lösungen ................... 192

Wireless ............................................. 209

Laptop ...................................................... 114

Laserdrucker ......................................... 168

Farbe ................................................... 168

Last In, First Out ................................... 571

Lastenheft ............................................. 667

lastIndexOf(), Java-Methode ......... 506

Lasttest .................................................... 671

LaTeX ..................................................... 1139

LaTeX, Satzsprache ............................. 881

Beispieldokument .......................... 881

Laufwerk

Anschlüsse ......................................... 141

magnetisches .................................. 146

magneto-optisches ....................... 146

optisches ........................................... 146

Laufwerksbuchstabe .......................... 318

Laufzeit ..................................................... 49

Laufzeitbibliothek, C ......................... 495

Lauschender Socket .......................... 598

LayoutManager, AWT ....................... 643

BorderLayout ................................. 644

GridLayout ....................................... 643

Lazy Initialization, Entwurfsmuster

1009

LBA (Festplattenadressierung) ..... 148

LCD .......................................................... 1139

LCD-Monitor ........................................ 166

Funktionsprinzip ........................... 166

Nachteile ............................................ 167

TFT ....................................................... 166

Vorteile .............................................. 166

LDAP ............................................. 804, 1139

Active Directory ............................ 804

Benutzerkonten abbilden in .... 805

cn, Attribut ...................................... 806

dc-Knoten ........................................ 804

dn, Attribut ..................................... 806

facsimileTelephoneNumber, Attri-

but ................................................. 806

gidNumber, Attribut ................... 806

givenName, Attribut ................... 806

Grundlagen ..................................... 804

homeDirectory, Attribut ............ 807

inetOrgPerson, Objektklasse .... 805

l, Attribut ......................................... 806

loginShell, Attribut ...................... 807

mail, Attribut ................................. 806

o, Attribut ........................................ 806

objectClass ...................................... 805

objectClass, Attribut .................... 806

OpenLDAP ....................................... 804

Organisationseinheit .................. 804

ou-Knoten ....................................... 804

people, Organisationseinheit 805

person, Objektklasse ................... 805

posixAccount, Objektklasse ..... 805

Schema ............................................. 804

sn, Attribut ...................................... 806

telephoneNumber, Attribut ...... 806

uid, Attribut .................................... 806

uidNumber, Attribut ................... 806

1188

Page 149: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

LDAP (Forts.)

userPasssword, Attribut ............ 806

verschiedene Server für .............. 804

Wurzel ............................................... 804

le, Perl-Operator ................................. 523

Lead-in-Area (CD) ................................ 156

Lead-out-Area (CD) ............................. 156

LED-Drucker ............................... 168, 1139

Leere Menge ............................................ 72

left, CSS-Angabe .................................. 953

Leibniz, Gottfried Wilhelm .............. 36

Leichtgewichtiger Entwicklungspro-

zess ...................................................... 675

length(), Java-Methode ................... 506

Lerdorf, Rasmus .................................. 963

less, Unix-Befehl ................................ 403

letter-spacing, CSS-Angabe ........... 950

Level-1-Cache ........................................ 119

Level-2-Cache ........................................ 119

LF, Unix-Zeilenumbruch .................. 871

Lichtfarben, RGB ................................... 56

Lichtwellenleiter .................................. 46

LIFO ......................................................... 1139

LIFO � Last In, First Out

Light Peak ............................................... 143

Lightweight Directory Access Proto-

col � LDAP

LIKE, SQL-Klausel ................................ 725

Lineare Algebra ..................................... 95

Lineare Geschwindigkeit, konstante

155

Lineare Gleichung ................................. 61

Lineare Komplexität ........................... 97

Lineare Suche .............................. 97, 1139

Java ..................................................... 569

line-height, CSS-Angabe ................. 950

Linux .............................................. 293, 296

$0, Systemvariable ....................... 384

.bashrc, Konfigurationsdatei .... 385

/etc/passwd-Datei ......................... 381

/etc/profile, Konfigurationsdatei

385

/etc/shadow, Datei ....................... 383

alias-Befehl ....................................... 421

als Server einrichten ..................... 447

apt, Paketmanager ........................ 415

Arbeitsverzeichnis anzeigen .... 400

auf NFS-Freigaben zugreifen .... 449

auf Windows-Server zugreifen

451

bash .................................................... 385

Linux (Forts.)

Befehle regelmäßig ausführen 422

Benutzerrechte ................................ 317

Bourne-Shell .................................... 384

bunzip2-Befehl ............................... 895

bzip2-Befehl ..................................... 895

bzip2-Komprimierung ................. 415

cat-Befehl ......................................... 402

cd-Befehl .......................................... 400

chgrp-Befehl .................................... 401

Child-Prozess .................................. 308

chmod-Befehl ................................ 400

chown-Befehl .................................. 401

cp-Befehl ........................................... 398

Cronjob .............................................. 422

C-Shell ................................................. 385

CUPS, Drucksystem ...................... 449

Daemon ........................................... 409

date-Befehl ...................................... 407

Datei kopieren ............................... 398

Datei löschen .................................. 399

Datei umbenennen ...................... 399

Datei verschieben ......................... 399

Dateibefehle ..................................... 397

Dateibesitzer wechseln ............... 401

Dateiendung ................................... 398

Dateigruppe wechseln ................ 401

Dateiname ............................... 316, 397

Dateinamen-Platzhalter ............ 398

Dateisysteme ................................... 314

Datum und Uhrzeit ändern ...... 407

Datum und Uhrzeit formatieren

407

Debian-Distribution ..................... 378

diff-Befehl ......................................... 405

Distributionen ................................ 298

du-Befehl ......................................... 406

echo-Befehl ...................................... 402

Emacs, Texteditor .......................... 433

Escape-Sequenz ............................. 404

exit-Befehl ........................................ 390

fg-Befehl ........................................... 386

finger, Dienstprogramm ............. 382

fork(), Systemaufruf ..................... 307

fsck-Befehl ....................................... 406

Gerätedatei .............................. 314, 315

GNOME .......................... 306, 440, 443

GNU-Projekt ..................................... 297

grafische Benutzeroberfläche 439

grep-Befehl ...................................... 403

groupadd-Befehl .......................... 409

Linux (Forts.)

Group-ID .................................. 308, 381

gunzip-Befehl .................................. 895

gzip-Befehl ....................................... 895

gzip-Komprimierung .................... 415

Hard Link ........................................... 317

Hardwareplattformen ................. 297

head-Befehl ..................................... 402

HIER-Dokument ............................. 395

Home-Verzeichnis .......................... 315

ifconfig-Befehl ................................ 445

init-Prozess ...................................... 307

inode ................................................... 316

Installation von Software ........... 415

IP-Adresse zuweisen ..................... 446

KDE .................................. 306, 440, 441

Kernel kompilieren ....................... 416

Kernel-Modul laden ...................... 416

kill(), Systemaufruf ...................... 308

kill-Befehl .......................................... 410

Korn Shell ......................................... 385

less-Befehl ........................................ 403

Link (Dateisystem) ......................... 317

logger-Befehl .................................... 412

Login ................................................... 379

ls-Befehl ............................................. 399

mail-Befehl ....................................... 423

make-Befehl ...................................... 415

man-Befehl ....................................... 305

Mandriva-Distribution ............... 378

mkdir-Befehl ................................... 400

mkfs-Befehl ..................................... 407

modprobe-Befehl ........................... 416

more-Befehl .................................... 403

mount-Befehl ................................. 405

mv-Befehl ......................................... 399

MySQL-Installation ....................... 715

netfilter, Kernel-Firewall ............ 1124

Netzwerkkonfiguration .............. 445

Neustart ............................................. 411

NFS ...................................................... 448

openSUSE-Distribution ................ 377

Pager ................................................. 403

Paketmanager ................................. 415

Parent-Prozess ............................... 308

passwd-Befehl ................................ 409

Passwort ändern ........................... 409

patch-Befehl ................................... 405

PATH, Umgebungsvariable ....... 387

pause(), Systemaufruf ................. 308

Pfadangabe ...................................... 315

1189

Page 150: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Linux (Forts.)

Pipe ..................................................... 395

Programm automatisch starten

413

Prozessmodell ................................. 307

Prozessverwaltung ...................... 409

ps-Befehl ................................ 309, 409

pstree-Befehl ................................... 409

pwd-Befehl ...................................... 400

Red-Hat-Distribution .................... 377

regulären Ausdruck suchen ..... 403

rm-Befehl .......................................... 399

rmdir-Befehl ................................... 400

root, Benutzer ........................ 309, 381

route-Befehl ..................................... 446

rpm, Paketmanager ...................... 415

Runlevel .............................................. 413

Samba-Server ................................. 450

SaX, openSUSE-X-Konfigurations-

programm .................................. 440

Shell ........................................... 305, 379

Shell-Ausgabeumleitung ............ 394

Shell-Eingabeumleitung ............. 394

Shell-Eingabevervollständigung

388

Shell-History .................................... 389

Shell-Skript ........................................ 417

shutdown-Befehl ............................ 411

Software installieren ..................... 415

Stand-alone Shell .......................... 385

Standardrouter einrichten ........ 446

startx-Befehl ................................... 440

su-Befehl .......................................... 390

Swap-Partition ................................ 312

Symbolic Link ................................... 317

Syslog ........................................ 409, 411

System herunterfahren ................ 411

System V Init .................................... 413

Systemprogramme .............. 297, 397

tail-Befehl ........................................ 403

tar-Befehl .................................. 415, 893

tar-Datei ............................................ 415

Textbefehle ...................................... 401

Textdatei anzeigen ...................... 402

Textdateien vergleichen ............ 405

Texteditoren .................................... 423

top-Befehl ......................................... 410

Ubuntu-Distribution .................... 378

Umgebung ....................................... 385

Umgebungsvariable setzen ....... 388

Linux (Forts.)

umount-Befehl .............................. 406

unalias-Befehl ................................. 422

unzip-Befehl .................................... 896

useradd-Befehl ............................... 408

userdel-Befehl ................................ 409

User-ID ..................................... 308, 381

Verwaltungsbefehle ..................... 405

Verzeichnis anlegen .................... 400

Verzeichnis löschen ..................... 400

Verzeichnis wechseln ................. 400

Verzeichnisbaum ........................... 315

Verzeichnisbefehle ........................ 397

Verzeichnisinhalt anzeigen ...... 399

vi, Editor ........................................... 424

virtuelles Terminal ........................ 383

wc-Befehl .......................................... 405

Window-Manager ........................ 306

Wörter zählen ................................. 405

X Window ............................... 306, 439

Xconfigurator, X-Konfigurations-

programm .................................. 440

zip-Befehl ......................................... 896

Zugriffsrechte .................................. 317

LISP, Programmiersprache ...... 53, 439

Liste

C ............................................................. 571

HTML .................................................. 911

Java ...................................................... 573

Perl ....................................................... 518

Listen

qw//, Perl ........................................... 522

listen(), Perl-Funktion ...................... 598

Listen, Apache-Direktive ................. 779

Listener, AWT-Ereignisbehandlung

644

Literal .......................................... 480, 1139

Fließkommazahlen ...................... 480

Integer ............................................... 480

Perl ....................................................... 521

String ................................................. 480

Zeichen .............................................. 480

Literale

Ruby .................................................... 532

Little-Endian-Architektur .............. 1139

Little-Endian-Plattform ................... 885

LOAD DATA INFILE, MySQL-Anwei-

sung ..................................................... 741

LoadModule, Apache-Direktive .... 779

Local Area Network ............................ 191

LocalTalk ................................................ 283

localtime(), C-Funktion ................... 498

Location, Apache-Direktive .......... 780

Lochkarte ....................................... 39, 290

Logarithmische Komplexität .......... 98

Log-Datei

MySQL ................................................ 742

logger, Unix-Befehl ............................ 412

Logical Link Control (LLC) ................ 182

Logik

AND ....................................................... 63

Aussage .............................................. 60

Aussageformen ................................. 61

Aussagenlogik .................................. 59

Definition ........................................... 59

Disjunktion ........................................ 64

formale ................................................ 59

Gleichung .......................................... 60

Konjunktion ...................................... 63

lügende Kreter .................................. 97

mathematische Aussage ............. 60

Operator, C ....................................... 481

OR .......................................................... 63

Prädikatenlogik ......................... 53, 59

Schlussfolgerung ............................. 62

Term .................................................... 60

Umkehrschluss ................................. 62

Ungleichung ..................................... 60

Verknüpfung ...................................... 61

wahre und falsche Aussagen ..... 60

Widerspruch ...................................... 96

XOR ....................................................... 66

Logikschaltkreis � Logikschaltung

Logikschaltung ...................................... 85

Addierwerk .......................................... 91

AND/OR-Aufbau durch Transisto-

ren ..................................................... 88

Carry-in ................................................ 91

Carry-out ............................................. 91

Flip-Flop .............................................. 92

Gattersymbole .................................. 89

Halbaddierer .................................... 90

mit einfachen Mitteln nachbauen

86

Multiplexer ........................................ 89

NAND-Schaltung ............................. 87

NOR-Schaltung ................................. 87

NOT-Schaltung ................................. 87

RS-Flip-Flop ........................................ 92

Speicherzelle ...................................... 92

1190

Page 151: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Logikschaltung (Forts.)

Übertrag ............................................... 91

Volladdierer ........................................ 91

XOR-Schaltung ................................. 89

Login ...................................................... 1139

Login (Unix-Anmeldung) ............... 379

loginShell, LDAP-Attribut .............. 807

Logische Partition .............................. 150

Logische Programmiersprache ....... 52

Logische Schlussfolgerung ............... 62

Logische Verknüpfung ........................ 61

Logische Verknüpfungen

in Programmiersprachen ............. 68

Logischer Operator

C ........................................................... 481

Short-Circuit-Logik ....................... 524

Vergleich mit Bit-Operatoren ..... 64

Logisches Laufwerk � Logische Parti-

tionen

Logisches Nicht, Operator .............. 482

Logisches Oder, Operator ............... 481

Logisches Und, Operator ................. 481

Logo, Programmiersprache .............. 53

Logos ......................................................... 59

Lokale Variable

in C ...................................................... 479

Lokales Netz

Entwicklung ....................................... 42

Lokalisierung

Mac OS X .......................................... 465

long, C-Datentyp ................................ 479

LONGBLOB, SQL-Datentyp ............. 723

LONGTEXT, SQL-Datentyp ............. 723

Loopback, IP-Protokoll ..................... 230

Löschabfrage ......................................... 719

Löschen

Datei, Windows-Konsole ............ 347

Dateien, Unix .................................. 399

Verzeichnis, Windows .................. 347

Lösung

einer Gleichung oder Ungleichung

61

Lösungsmenge ....................................... 61

Lovelace, Ada ......................................... 36

ls, Unix-Befehl ..................................... 399

LS-120-Laufwerk ................................... 153

lt, Perl-Operator .................................. 522

LTE ............................................................ 223

LVALUE .................................................. 483

Liste als ............................................... 518

M

m//, Perl-Operator ..................... 577, 581

m:n-Beziehung, RDBMS ................. 705

Mac ............................................................. 44

Mac OS X ....................................... 293, 453

Alias ................................................... 462

als Server einrichten .................... 469

Anwendungsmenü ....................... 459

APIs ..................................................... 456

Apple-Menü ..................................... 458

Aqua .......................................... 293, 456

Aqua, praktische Anwendung 457

Aqua-Fenster .................................. 458

Architektur ....................................... 455

Benutzerverwaltung .................... 465

Carbon ............................................... 456

Classic-Umgebung ....................... 456

Cocoa ................................................. 456

Darwin ............................................... 455

Data Fork ......................................... 466

Datei kopieren ............................... 462

Datei umbenennen ...................... 462

Datei verschieben ......................... 462

Dateisysteme .................................. 465

Desktop ............................................. 458

Dock .......................................... 458, 459

DSL einrichten ................................ 468

Exposé ............................................... 462

File Sharing ..................................... 469

Finder ....................................... 458, 460

Geschichte ........................................ 453

HFS+-Dateisystem ........................ 465

HFS-Dateisystem ........................... 465

IP-Adresse zuweisen .................... 467

Java ..................................................... 456

Konfiguration ................................ 464

Kontextmenü ................................. 462

Landeseinstellungen .................... 465

Menüleiste ........................................ 457

Monitor, Systemeinstellungen

465

Netzwerkkonfiguration .............. 467

OpenGL, 3D-Grafikbibliothek .... 455

Ordneransichten .......................... 460

Papierkorb ...................................... 460

Quartz, Grafikbibliothek ............. 455

QuickTime ....................................... 456

Resource Fork ................................. 466

Server nutzen .................................. 469

Mac OS X (Forts.)

Spotlight ........................................... 459

Startvolume einstellen ................ 464

Systemeinstellungen .................... 464

Terminal starten ............................ 456

Unix-Komponenten ..................... 456

Windows File Sharing ................. 469

MAC-Adresse ............................ 202, 1139

Mach-Mikrokernel ............................ 300

Macintosh ...................................... 44, 295

Leonardo, ISDN-Leonardo, Mac-

ISDN-DFÜ .................................... 220

Mac OS X ........................................... 453

Serversysteme ................................ 468

Magische Methode (PHP) ..... 978, 988

Magnetband .......................................... 147

Magnetbandspeicher .......................... 41

Magnetischer Datenträger ............. 146

Magnetband ..................................... 147

Magnetscheibe ............................... 146

Magneto-optischer Datenträger 146

Magnetscheibe .................................... 146

mail, LDAP-Attribut ......................... 806

mail, Unix-Befehl ............................... 423

Mailserver .............................................. 197

mailto, HTML-Hyperlink ................. 918

main(), AWT-Methode ...................... 632

main(), C-Funktion ............. 51, 475, 490

Kommandozeilenparameter .... 491

main(), Java-Methode ....................... 503

Mainboard ............................................. 116

Chipsatz ............................................. 117

Kartensteckplatz ........................... 140

Onboard-Peripherie ....................... 117

Mainframe .............................................. 40

make, Unix-Befehl .............................. 415

Makefile ................................................. 416

Makrovirus ......................................... 1108

malloc(), C-Funktion .......................... 572

MAN ....................................................... 1139

MAN, Stadtnetz .................................... 191

man, Unix-Befehl ............................... 305

Mandriva, Linux-Distribution ...... 378

mangle, iptables-Tabelle ................ 1125

Man-in-the-Middle-Angriff ............ 1121

Manuelle Datenverarbeitung .......... 25

Marconi, Guglielmo ......................... 209

margin, CSS-Angabe ........................... 951

Mark I, Röhrenrechner ....................... 38

Mark II, Röhrenrechner ..................... 38

1191

Page 152: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Maschinenbefehl ............................... 126

Maschinensprache .............................. 47

Massenspeicher ................................... 145

CD-ROM ............................................. 154

Diskettenlaufwerk .......................... 153

DVD ...................................................... 157

Festplatte ........................................... 147

Jaz-Laufwerk .................................... 153

LS-120 .................................................. 153

magnetischer .................................. 146

magneto-optischer ....................... 146

optischer ........................................... 146

Übersicht .......................................... 146

Wechseldatenträger ...................... 153

ZIP-Laufwerk .................................... 153

Master Boot Record ........................... 149

Master-Nameserver .......................... 264

Matching, Reguläre Ausdrücke ..... 581

Math, Java-Klasse .............................. 506

Math, Ruby-Modul ............................. 537

Mathematische Aussage .................. 60

Mathematische Funktion, Undefi-

niertheitsstelle ................................. 96

Mathematische Variable .................... 61

Mathematischer Term ...................... 60

Matrixdrucker ...................................... 167

Matsumoto, Yukihiro ....................... 528

Maus ......................................................... 161

MAX, SQL-Funktion ........................... 727

Maximum Transmission Unit (MTU)

239

MBR � Master Boot Record

md � mkdir, Windows-Befehl

MDI, Windows-Anwendungen ..... 338

Mechanische Datenverarbeitung ... 25

Media Access Control (MAC) .......... 182

Median, QuickSort ............................. 567

Mediator, Entwurfsmuster ........... 689

MediaWiki, Wikipedia-Soft-

ware .................................................. 1032

Medieninformatik ................................ 33

MEDIUMBLOB, SQL-Datentyp ...... 723

MEDIUMINT, SQL-Datentyp .......... 722

MEDIUMTEXT, SQL-Datentyp ....... 723

Medizinische Informatik ................... 33

Megabyte ................................................. 82

Megapixel (Digitalkamera) ............. 163

Mehrfachvererbung ........................... 511

Mehrspaltenlayout (CSS3) .............. 961

mem.h, C-Bibliothek .......................... 572

Memento, Entwurfsmuster .......... 689

Memory Management Unit � MMU

Mena, Federico .................................... 441

Menge

diskrete ................................................ 55

leere ....................................................... 72

Mengenoperation ............................... 69

Differenzmenge ................................ 72

echte Obermenge ............................ 70

echte Teilmenge .............................. 70

Element ............................................... 69

leere Menge ........................................ 72

Obermenge ........................................ 70

Schnittmenge .................................... 72

Teilmenge .......................................... 69

Vereinigungsmenge ........................ 72

Verknüpfung ...................................... 72

Menu, AWT-Klasse ............................ 642

MenuBar, AWT-Klasse ..................... 642

MenuItem, AWT-Klasse .................. 642

Message-Digest ................................. 1130

Message-Passing ................................. 631

METAFONT, TeX-Zeichensätze ...... 881

Methode ................................................. 501

Callback ............................................. 591

statische (PHP) ............................... 983

überladen ......................................... 508

Metro, Windows-8-Benutzerober-

fläche .................................................. 332

Metropolitan Area Network ........... 191

Microsoft ........................................ 41, 294

ASP.NET .......................................... 1029

BizTalk Server .................................. 375

Exchange Server ............................. 375

Management Console (MMC) 364

MS-DOS ............................................. 294

SQL Server .................................. 375, 711

Systems Management Server ... 375

Windows ................................... 295, 327

Windows 2000 .............................. 296

Windows 95 ..................................... 296

Windows 98 ..................................... 296

Windows Me ................................... 296

Windows NT ..................................... 295

Windows Phone ............................... 46

Windows XP .................................... 296

Windows, Versionsübersicht ..... 328

Microsoft Azure ............................... 1033

Microsoft Virtual PC .......................... 322

MIDI ............................................... 170, 1139

FM-Synthese .................................... 170

Wavetable-Synthese ..................... 170

Migration

Ruby on Rails ................................ 1019

Mikrokernel .......................................... 299

mach ......................................... 300, 455

Mikroprozessor .................................... 116

Mikroprozessor � Prozessor

MilNet ...................................................... 178

MIME ..................................................... 1140

E-Mail-Nachricht ........................... 272

MIME-Multipart-Nachricht ............ 273

MIME-Nachrichtenheader .............. 272

MIME-Type

HTML-Plug-in-Formate ............... 938

XML-Dokument ............................. 823

MIME-Types ......................................... 272

im HTTP-Header ........................... 280

MIN, SQL-Funktion ............................ 727

Minicomputer ........................................ 41

Minix, Lehrbetriebssystem ............ 296

MIPS (CPU-Geschwindigkeit) ......... 122

MIPS, Prozessor ................................... 124

Mirroring (RAID) ................................. 151

MITS ............................................................ 41

Mixed-Mode-CD .................................. 155

mkdir, Unix-Befehl ........................... 400

mkdir, Windows-Befehl ................... 347

mkfs, Unix-Befehl ............................. 407

MMC (Microsoft Management Con-

sole) ..................................................... 364

MMU ..................................... 120, 311, 1140

Seitentabelle ..................................... 312

MMX (CPU-Befehlserweiterung) 123

Mnemonic .................................. 104, 1134

Mnemonics ............................................ 47

Mobile Datenübertragung

3G und 4G ......................................... 223

EDGE ................................................... 222

GPRS ................................................... 222

HSPA (HSDPA/HSUPA) ............... 222

LTE ....................................................... 223

Tethering .......................................... 223

UMTS .................................................. 222

Mobilfunk

Internetzugang über .................... 222

Mock-Objekt (Unit-Tests) .............. 1012

mod_alias, Apache-Modul ..... 775, 781

mod_alias, Apache-Module ........... 782

mod_auth_basic, Apache-Modul 777

mod_auth_digest, Apache-Modul

777

mod_authn_file, Apache-Modul 777

1192

Page 153: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

mod_authz_host, Apache-Modul

776, 778, 781

mod_dir, Apache-Modul ................. 779

mod_so, Apache-Modul .................. 779

Model

Ruby on Rails ................................ 1019

Model, View, Controller � MVC-Ent-

wurfsmuster

Modem .................................................... 217

anschließen ....................................... 217

AT-Befehlssatz ................................. 217

Handshake ........................................ 218

Hayes-Befehlssatz .......................... 217

Pulswahl ............................................ 218

Tonwahl ............................................. 218

modprobe, Linux-Befehl ................. 416

Modularisierung

Programme ..................................... 490

Modularisierung, Programme ........ 50

Modularität, von Unix ..................... 292

Modulo, Operator .............................. 481

Molenaar, Bram .................................. 424

Mongrel, Ruby-Webserver ........... 1022

Mongrel, Webserver ....................... 1029

Monitor ................................................... 165

Bildwiederholrate ........................... 165

Konfiguration, Mac OS X ........... 465

LCD ...................................................... 166

mehrere verwenden ...................... 164

Röhrenmonitor ............................... 165

Zeilenfrequenz ................................. 165

Monolithischer Kernel ..................... 299

Moore, Gordon ................................... 120

Mooresches Gesetz ........................... 120

more, Unix-Befehl ............................ 403

MosTek ..................................................... 43

MosTek 6502, Prozessor ................... 121

Motherboard � Mainboard

Motorola 68000, Prozessorfami-

lie .......................................................... 121

mount, Unix-Befehl ......................... 405

Mounten .............................................. 1140

Dateisystem ...................................... 317

Dateisystem, Unix ........................ 405

NFS-Freigabe ................................... 449

MouseListener .................................... 645

MouseMotionListener ..................... 645

MovableType, Blog-Tool ............... 1032

MOV-Befehl

beim virtuellen Prozessor .......... 105

x86-Assembler ................................ 126

move, Windows-Befehl .................... 347

MP3, Audio-Dateiformat ...... 891, 1140

MP4, Audio-Dateiformat ................ 892

MPEG ..................................................... 1140

Video-Dateiformat ....................... 892

MS Access, Datenbank ....................... 711

MS-DOS .................................................. 294

Kommandozeile ............................ 344

MS-DOS-Anwendung

unter Win32 ..................................... 330

MTU .............................................. 239, 1140

Multi Document Interface � MDI,

Windows-Anwendungen

Multicasting, IP-Protokoll ............... 228

MULTICS ................................................ 292

Multimedia-Datenbank ................... 701

Multipart-E-Mail ................................. 273

Multiplexer (Schaltung) .................... 89

Multiplikation, Operator ................. 481

Multiplikator

bei Rambus-RAM ........................... 129

der Taktfrequenz ............................ 122

Multisession-CD ................................. 156

Multitasking .............................. 302, 306

kooperatives ................................... 302

präemptives .................................... 302

Unterstützung durch CPU ........... 118

mv, Unix-Befehl ................................. 399

MVC-Entwurfsmuster .......... 685, 1016

MX-Record, BIND-Nameserver .... 803

my, Perl-Variablendeklaration ....... 517

my.cnf, MySQL-Konfigurationsdatei

741

MyISAM, MySQL-Tabellentyp ...... 730

MyISAM-Tabelle (MySQL) ............... 710

MySQL ..................................................... 714

Authentifizierung .......................... 733

Backup ............................................... 738

Backups automatisieren ............ 740

Benutzerrechte ................................ 735

Benutzerverwaltung ..................... 732

CREATE USER, Anweisung .......... 733

Datentypen ...................................... 721

DROP USER, Anweisung .............. 737

Export ................................................. 738

Export in Textdateien .................. 741

FLUSH PRIVILEGES, Anweisung

738

FLUSH TABLES, Anweisung ........ 739

GRANT, Anweisung ....................... 735

Import ................................................ 738

MySQL (Forts.)

Import aus Textdateien ............... 741

InnoDB-Tabelle .............................. 710

Installation, Unix ........................... 715

Installation, Windows .................. 716

JDBC-Anbindung ........................... 747

Konfiguration, Windows ............. 717

Konfigurationsdateien ................. 741

LOAD DATA INFILE, Anweisung

741

Log-Datei lesen ............................... 743

Log-Dateien ..................................... 742

my.cnf ................................................. 741

MyISAM-Tabelle ............................ 710

MySQL Administrator .................. 716

MySQL Query Browser ................. 716

mysqladmin, Hilfsprogramm 732

mysqlbinlog, Hilfsprogramm ... 743

mysqldump, Hilfsprogramm .... 738

mysqli, PHP-Schnittstelle ........ 1002

mysql-Kommandozeilen-Client

718

PHP-Zugriff auf .............................. 995

Replikation ....................................... 744

REVOKE, Anweisung ..................... 737

SET PASSWORD, Anweisung ...... 735

Sicherheitshinweise, Unix ........... 716

Sicherheitshinweise, Windows .

718

Tabellentypen ................................. 730

Testdatenbank ............................... 996

Transaktion ............................ 710, 730

MySQL Connector/J, JDBC-Schnitt-

stelle ................................................... 747

MySQL Grant Table ............................ 715

mysqladmin, Hilfsprogramm ....... 732

mysqlbinlog, Hilfsprogramm ....... 743

mysql-Client

nicht-interaktiver Betrieb ......... 740

mysqldump, Hilfsprogramm ........ 738

mysqli::real_escape_string(), PHP-

Methode ......................................... 1009

mysqli-Schnittstelle ....................... 1002

N

Nachrichtenübermittlung .............. 631

Nadeldrucker ........................................ 167

Namensraum

XML .................................................... 846

1193

Page 154: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Nameserver

BIND ................................................... 797

Master ................................................ 264

Slave ................................................... 264

Namespace, PHP ................................ 989

NameVirtualHost, Apache-Direktive

780

Nassi-Shneiderman-Struktogramm

95

NAT ........................................................ 1140

NAT, IP-Protokoll ............................... 253

IP-Masquerading ........................... 253

nat, iptables-Tabelle ......................... 1125

Natürliche Zahl ..................................... 70

navigator, JavaScript-Objekt ....... 1064

ne, Perl-Operator ................................ 522

Nebenläufigkeit .................................. 584

Nessus .................................................... 1123

NET ......................................................... 1140

NET Framework ..................................... 52

NetBEUI ................................................ 1140

NetBEUI, Netzwerkprotokoll ......... 286

NetBIOS, Windows-Netzwerk ........ 286

Netbook .................................................. 114

netfilter, Linux-Kernel-Firewall 1124

Netscape-Palette ................................ 948

netstat, TCP/IP-Dienstprogramm

Routing-Tabellen anzeigen ....... 247

netstat, TCP/IP-Dienstprogramm 371

Network Address Translation (NAT)

253

Network File System � NFS

Netzplan ............................................... 664

kritischer Pfad ................................ 665

Netzwerk ................................................ 173

Anwendungsgebiete ..................... 174

ARCNet ............................................... 215

ATM ..................................................... 214

Client-Server .................................... 194

drahtloses ........................................ 209

Drucker freigeben, Windows ..... 373

Ethernet ............................................. 202

FDDI ..................................................... 215

Funktionsebene ............................... 181

GAN (Global Area Network) ....... 191

Geschichte ......................................... 175

Hardware ................................. 174, 201

IEEE-802-Standard ........................ 201

Klassifizierung ................................. 191

Konfiguration, Linux ................... 445

Konfiguration, Mac OS X ........... 467

Netzwerk (Forts.)

Konfiguration, Windows ............ 367

LAN (Local Area Network) .......... 191

Logical Link Control ..................... 182

lokales, Entwicklung ....................... 42

MAN (Metropolitan Area Network)

191

Media Access Control ................... 182

Netzwerkprogrammierung ........ 593

OSI-Referenzmodell ....................... 181

OSI-Schicht ....................................... 183

Peer-to-Peer ...................................... 194

Protokoll ................................... 174, 224

Reichweite ......................................... 191

TCP/IP-Protokoll ............................ 224

Token Ring ....................................... 208

Topologie .......................................... 193

Verkabelung ..................................... 174

WAN (Wide Area Network) ......... 191

Zentralisierungsgrad .................... 194

Zugang per Modem ...................... 217

Zugang über DSL ........................... 220

Zugang über ISDN ......................... 218

Netzwerkclient

Definition .......................................... 195

Netzwerke

Denial-of-Service-Angriff ........... 370

Schichtenmodell .............................. 181

Netzwerkhardware ............................. 201

Ethernet ............................................ 204

ISDN-Adapter .................................. 219

Modem ............................................... 217

Netzwerkprogrammierung ............ 593

Berkeley Socket API ....................... 593

IO::Socket ......................................... 599

sockaddr_in ..................................... 595

Socket ................................................. 593

Netzwerkprotokoll ............................. 174

AppleTalk ......................................... 282

IPX/SPX .............................................. 285

NetBEUI ............................................ 286

Netzwerkserver

Definition .......................................... 195

Netzwerktopologie ............................ 193

Baum .................................................. 193

Bus ....................................................... 193

logische .............................................. 193

physikalische ................................... 193

Ring ..................................................... 193

Stern .................................................... 193

Netzzugang, DDN-Modell-Schicht

185

Netzzugangsverfahren

CSMA/CA ........................................... 212

CSMA/CD .......................................... 203

IEEE-802-Standard ........................ 201

Token Passing ................................ 208

Neumann, John von ..................... 38, 113

Neuronales Netz ................................... 46

Neustart

Betriebssystem, Unix .................... 411

Windows .......................................... 340

new, Java-Operator ............................ 505

Newsfeed ............................................. 1032

Newsgroup ............................................ 276

Hierarchie ......................................... 277

NNTP-Protokoll .............................. 276

NeXT ........................................................ 453

NFS ................................................ 448, 1140

/etc/exports, Konfigurations-

datei ............................................... 448

auf andere Server zugreifen ..... 449

starten ............................................... 448

Verzeichnis freigeben .................. 448

NNTP ............................................ 276, 1140

Header ............................................... 277

Normalform, RDBMS ....................... 708

Normalisierung ................................ 1140

Normalisierung, RDBMS ................ 708

NOR-Schaltung ...................................... 87

NoSQL-Datenbank .................... 701, 750

NoSQL-Datenbanken ...................... 1140

Notebook ................................................ 114

NOT-Schaltung ...................................... 87

Novell NetWare ................................... 180

NSFNet ..................................................... 178

nslookup, TCP/IP-Dienstprogramm

371

NS-Record (DNS) ................................ 803

NTBA (ISDN-Endgerät) ..................... 219

NTFS, Dateisystem ............................. 334

Nucleus, Blog-Tool und CMS ....... 1032

Null

im Stellenwertsystem .................... 36

NULL, leerer C-Zeiger ....................... 498

NULL, SQL-Feldoption ...................... 724

Null-terminierter String ................. 494

Nyquist-Theorem ................... 1140, 1142

1194

Page 155: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

O

o, LDAP-Attribut ................................ 806

Obermenge ............................................. 70

echte ..................................................... 70

Object Database Management Group

� ODMG

Object Definition Language � ODL

Object Management Group (OMG)

677

Object Query Language � OQL

Object, Java-Klasse ............................ 506

objectClass (LDAP) ............................ 805

objectClass, LDAP-Attribut ............ 806

Objective-C, Programmier-

sprache .............................................. 456

Objekt ............................................... 52, 501

Objektorientierte Analyse .............. 667

Objektorientierte Datenbank 701, 711

Abfrage ............................................... 714

ODL ...................................................... 712

OQL ...................................................... 714

Objektorientiertes Datenbankverwal-

tungssystem � OODBMS

Objektorientierung .......... 52, 501, 1140

Eigenschaften ................................. 501

Elternklasse ..................................... 509

Ereignis ............................................... 631

im Software-Engineering .......... 660

Instanz ............................................... 501

Instanz erzeugen, Java ................ 505

Interface, Java ................................... 511

IS A-Beziehung ............................... 681

Java .................................................... 506

Kapselung .................................. 52, 501

Kindklasse ....................................... 509

Klasse ................................................. 501

Klassen ................................................. 52

Konstruktor ..................................... 507

Methode ............................................ 501

Nachricht ........................................... 631

Objekt ................................................. 501

Perl ...................................................... 599

PHP ..................................................... 977

Ruby .................................................... 546

Überladung ..................................... 508

Vererbung ................................. 52, 509

Observer, Entwurfsmuster ............ 689

ODBC ..................................................... 1140

ODBC, Microsoft-Datenbank-

schnittstelle .................................... 746

Oder-Schaltung � OR-Schaltung

Oder-Verknüpfung � OR-Verknüp-

fung

ODL ........................................................... 712

ODMG ..................................................... 712

OFDM, WLAN-Technik ....................... 211

OGG Vorbis, Audio-Dateiformat 892

Oktalsystem ............................................ 76

in dual umrechnen .......................... 79

Oktalzahl

C ........................................................... 480

OMG � Object Management Group

Onboard-Hardware ............................. 117

Onlinedienst ......................................... 178

Onlinedurchsuchung ....................... 1113

O-Notation .......................................... 1140

O-Notation (Komplexität) ............... 98

onreadystatechange, Ajax-Eigen-

schaft ............................................... 1083

OODBMS ................................................ 712

OOP � Objektorientierung

opacity (CSS3) ....................................... 961

Open Database Connectivity �

ODBC, Microsoft-Datenbanksc

open(), Ajax-Methode .................... 1082

open, Perl-Anweisung ...................... 526

opendir, Perl-Anweisung ................. 527

OpenGL, 3D-Grafikbibliothek ........ 455

OpenOffice.org Base, Datenbank 711

OpenSSH ............................................... 266

openSUSE, Linux-Distribution ...... 377

Operator ....................................... 482, 483

-- ........................................................... 484

! ............................................................ 482

!= .......................................................... 483

!~ ........................................................... 581

$, RegExp .......................................... 580

& .......................................................... 492

&&, C ................................................... 481

&&, Perl .............................................. 524

&, C ..................................................... 482

*, RegExp ............................................ 578

++ ........................................................ 484

+, Java-String-Verkettung 504, 505

+, RegExp ........................................... 578

-, C ....................................................... 495

., Perl .................................................... 523

= ........................................................... 483

Operator (Forts.)

== ......................................................... 483

=~ .......................................................... 581

=~, Perl ................................................ 527

? ............................................................ 484

?, RegExp ........................................... 578

^, C ....................................................... 482

^, RegExp ................................. 578, 580

`` ........................................................... 586

| ............................................................. 482

|, RegExp ........................................... 580

|| ............................................................ 481

~ ............................................................ 482

arithmetischer ................................ 481

Backticks ........................................... 586

Bit-Komplement ............................ 482

Bit-Verschiebung, links ............... 482

Bit-Verschiebung, rechts ............. 482

bitweise ............................................. 482

bitweises exklusives Oder .......... 482

eq, Perl ............................................... 522

Fallunterscheidungs- ................... 484

ge, Perl ............................................... 523

Gleichheit ......................................... 483

größer oder gleich ......................... 483

gt, Perl ................................................ 522

in C ...................................................... 481

in der PowerShell ........................... 349

kleiner als ......................................... 483

kleiner oder gleich ......................... 483

le, Perl ................................................. 523

logischer ............................................ 481

logisches Oder ................................ 481

logisches Und .................................. 481

lt, Perl ................................................. 522

m// ....................................................... 581

Menge .................................................. 69

ne, Perl ............................................... 522

Perl ....................................................... 521

PHP .................................................... 966

Post-Dekrement ............................. 484

Post-Inkrement .............................. 484

Prä-Dekrement ............................... 484

Prä-Inkrement ................................ 484

Rangfolge ......................................... 484

Rangfolge durch Klammern

ändern ......................................... 485

s/// ...................................................... 582

s///, Perl ............................................. 527

String-Vergleiche, Perl ................. 522

1195

Page 156: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

String-Verkettung, Java .... 504, 505

tr/// ..................................................... 583

Ungleichheit .................................... 483

Vergleichs- ................................. 67, 482

Wertzuweisung .............................. 483

Operatoren

- ............................................................. 481

% ........................................................... 481

* ............................................................ 481

+ ............................................................ 481

/ ............................................................ 481

Addition ............................................ 481

bitweises Oder ................................ 482

bitweises Und .................................. 482

Division ............................................. 481

größer als .......................................... 483

logisches Nicht ............................... 482

Modulo .............................................. 481

Multiplikation ................................ 481

Subtraktion ...................................... 481

opt, Unix-Verzeichnis ....................... 315

Option

bei Systemprogrammen ............. 386

Options, Apache-Direktive ............ 780

Optischer Datenträger ..................... 146

OQL ........................................................... 714

Oracle, Datenbank .............................. 711

Orange Book ...................................... 1140

Orange Book (CD-R, CD-RW) ........... 155

ORDER BY, SQL-Klausel .................... 727

Order, Apache-Direktive .................. 781

Ordnungsdaten ................................. 700

org.w3c.dom.*, Java-Package ......... 866

org.xml.sax.*, Java-Package ............ 858

Organisationseinheit (LDAP) ....... 804

OR-Schaltung ......................................... 88

Aufbau mit Transistoren .............. 88

mit einfachen Mitteln

nachbauen .................................... 86

OR-Verknüpfung .................................. 63

OS/2, Betriebssystem ....................... 295

OSI-Referenzmodell ................ 181, 1140

Anwendungsschicht ...................... 183

Bitübertragungsschicht ............... 182

Darstellungsschicht ....................... 183

Kommunikationssteuerungs-

schicht ............................................ 183

Netzwerkschicht ............................. 183

Präsentationsschicht .................... 183

Sicherungsschicht .......................... 182

Sitzungsschicht ............................... 183

OSI-Referenzmodell (Forts.)

Transportschicht ............................ 183

Vergleich mit der Praxis .............. 184

Vergleich zum Internet-Schichten-

modell ............................................ 184

OSPF ....................................................... 1140

OSPF, Routing-Protokoll ................. 250

ou-Knoten (LDAP) ............................. 804

OUTPUT, iptables-Chain ................. 1125

Outsourcing (Computertech-

nik) ...................................................... 180

Overclocking � Übertakten

P

Paar, Extreme Programming ......... 675

PaaS (Platform as a Service) ......... 1033

Packet Switching ................................. 174

padding, CSS-Angabe ........................ 951

Page Fault (Speicher) ......................... 312

Page File (Auslagerungsdatei) ....... 312

Pager (seitenweise anzeigen, Unix)

403

Paging (Speicher) ........................ 120, 311

paint(), AWT-Methode ..................... 632

Paketfilter

iptables ............................................ 1124

netfilter ............................................ 1124

Paketmanager

Linux ................................................... 415

Paketvermittlung ............................... 174

Panel, AWT-Klasse .................... 632, 642

papaya CMS ........................................ 1031

Papierkorb

Mac OS X ......................................... 460

Parallele Datenübertragung ........... 135

Parallelport ........................................... 144

Parallels Desktop ................................ 322

Parameter

bei Systemprogrammen ............. 386

von Perl-Subroutinen ................... 525

PARC, XEROX-Forschungszentrum

295

parent, PHP-Schlüsselwort ............ 987

Parent-Prozess ......................... 308, 1140

Parity-Bit � Prüfbit

parseFloat(), JavaScript-Methode

1042

parseInt(), Java-Methode ................ 564

parseInt(), JavaScript-Methode 1042

Partition

erweiterte ......................................... 150

logische ............................................. 150

primäre .............................................. 149

Partitionierung ................................. 1140

praktische Durchführung ........... 151

Partitionierung (Festplatte) ........... 148

Partitionstabelle ................................. 149

Partitionstypen ................................... 150

Pascal, Blaise .......................................... 36

Pascal, Programmiersprache ........... 50

passwd, Unix-Befehl ........................ 409

Passwort ............................................... 1124

Brute-Force-Attacke ..................... 383

crack (Knackprogramm) ............ 382

Erzeugungstipps ............................ 382

Passwort, ändern, Unix .................. 409

Patch

Sicherheit ......................................... 1110

patch, Unix-Befehl ............................ 405

path, Umgebungsvariable

Windows ........................................... 346

PATH, Umgebungsvariable (Unix)

387

pause(), Unix-Systemaufruf .......... 308

PC ................................................................ 43

Aufbau ................................................ 114

Desktop .............................................. 114

Geschichte ........................................ 294

Kompaktrechner ............................. 114

Laptop ................................................. 114

Netbook .............................................. 114

Notebook ........................................... 114

Varianten .......................................... 113

Zentraleinheit .................................. 116

PC-Card � PCMCIA-Anschluss

PCDATA, Text in XML ...................... 830

PCI ................................................. 140, 1140

PCMCIA-Anschluss ............................ 140

PC-Netzwerk

Entwicklung ..................................... 180

PDA (Personal Digital Assistent) .... 46

PDF .......................................................... 1141

PDP, Kleincomputerserie von DEC

292

PDP, Kleinrechnerserie von DEC 40,

50

Pentium, Prozessorfamilie ...... 117, 123

people, LDAP-Organisationseinheit

805

1196

Page 157: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Peripherie

Ausgabegerät ................................... 163

Digitalkamera ................................ 162

Drucker ............................................... 167

Eingabegerät ................................... 160

Einsteckkarte ................................... 140

Grafikkarte ........................................ 163

Maus .................................................... 161

Monitor .............................................. 165

Scanner ............................................... 161

Tastatur ............................................ 160

Übersicht ........................................... 145

Perl, Programmiersprache .... 514, 1141

!~-Operator ....................................... 581

$ .................................................... 516, 518

$/-Variable ....................................... 872

$_ .......................................................... 519

$-Operator, RegExp ..................... 580

% ............................................................ 518

&&-Operator ................................... 524

*-Operator, RegExp ....................... 578

+-Operator, RegExp ...................... 578

.-Operator ......................................... 523

//-Operator ....................................... 581

=~ .......................................................... 527

=~-Operator ...................................... 581

?-Operator ........................................ 578

@ ........................................................... 518

@_ ........................................................ 525

^-Operator, RegExp ............. 578, 580

|| zur Fallunterscheidung ........... 523

||-Operator ....................................... 523

|-Operator, RegExp ...................... 580

accept()-Funktion .......................... 598

ActivePerl-Distribution ................ 515

alternative Zeichen in RegExp 578

Anführungszeichen ...................... 522

Array ................................................... 518

Array-Elementanzahl .................. 565

Arrays zusammenfassen ............. 519

Ausdruck ............................................ 521

Ausgabe ............................................. 516

Autoflush-Modus .......................... 597

Backticks ........................................... 586

bind()-Funktion .............................. 598

chomp-Funktion ............................. 516

close .................................................... 526

closedir ............................................... 527

connect()-Funktion ....................... 597

Datei bearbeiten ............................ 526

Dateihandle ..................................... 526

Perl, Programmiersprache (Forts.)

defined ............................................... 524

Dereferenzierung ........................... 521

die, Programmabbruch ............... 524

Eingabe .............................................. 516

elsif ...................................................... 524

eq-Operator ...................................... 522

ersetzen durch RegExp ................ 582

foreach-Schleife .............................. 519

ge-Operator ...................................... 523

gethostbyname()-Funktion ........ 595

getprotobyname()-Funktion .... 594

getservbyname()-Funktion ....... 596

gt-Operator ...................................... 522

Hash .................................................... 518

HIER-Dokumente ........................... 523

if, nachgestelltes ............................. 524

IO ................................................ 597, 599

join ....................................................... 519

keys ..................................................... 520

Kommentar ...................................... 521

le-Operator ....................................... 523

Liste ..................................................... 518

listen()-Funktion ............................ 598

Listenfunktionen ............................ 518

Literal ................................................. 521

lt-Operator ....................................... 522

m//-Operator .................................. 577

my ......................................................... 517

ne-Operator ..................................... 522

Objektorientierung ...................... 599

open .................................................... 526

opendir ............................................... 527

Operator ............................................ 521

Operatoren ....................................... 516

Parameter von Subroutinen ...... 525

Pipe verwenden .............................. 587

pipe() .................................................. 588

pop ....................................................... 518

print-Anweisung ............................ 516

Programm starten .......................... 515

Programmabbruch ....................... 524

push ..................................................... 518

q// ........................................................ 522

qq// ...................................................... 522

Queue .................................................. 571

qw// ..................................................... 522

readdir ................................................ 527

Referenz ............................................ 520

regulärer Ausdruck .............. 527, 576

s///-Operator .................. 527, 577, 582

Perl, Programmiersprache (Forts.)

Shebang ............................................. 515

shift ...................................................... 518

Skalar ......................................... 516, 518

Socket-Modul .................................. 594

split ...................................................... 519

Stack .................................................... 571

strenge Wertüberprüfung ........... 517

strict ..................................................... 517

String zerlegen ................................. 519

String-Vergleich ............................. 522

String-Verkettung ......................... 523

sub ........................................................ 525

Subroutine ........................................ 525

tr///-Operator ................................. 583

unless ................................................. 524

unshift ................................................. 518

use-Direktive .................................... 517

Variable .............................................. 517

Variablenexistenz prüfen ........... 524

Variablensubstitution .................. 516

Verzeichnis verarbeiten ............... 527

-w, Modifikator ............................... 515

Warnungen aktivieren ................. 515

Zeichengruppe in RegExp .......... 578

Zeilenumbruch ............................... 872

Zeilenumbrüche entfernen ......... 516

Perl-Anweisung .................................. 524

Permutation

Algorithmus ...................................... 98

person, LDAP-Objektklasse ........... 805

Personal Computer � PC

Personal Digital Assistant (PDA) .... 46

Petabyte ................................................... 82

Pfad

absoluter ................................... 316, 319

in HTML-Hyperlink ........................ 915

relativer ..................................... 316, 319

unter Unix ......................................... 315

unter Windows ................................ 318

PGP ............................................... 1130, 1141

Phishing ....................................... 1116, 1141

PHP ................................................ 963, 1141

$, Variablenbeginn ........................ 965

__call(), magische Methode ..... 988

__get(), magische Methode ...... 988

__isset(), magische Methode ... 988

__set(), magische Methode ...... 988

__toString(), magische Methode

978

Ajax-Antwort durch .................. 1086

1197

Page 158: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

PHP (Forts.)

Anführungszeichen ..................... 968

Array .................................................. 966

Array als Hash ................................ 967

Array, mehrdimensionales ....... 970

Attribut, statisches ....................... 983

Autoloader ...................................... 989

Bezeichner ........................................ 965

Call by Reference ........................... 974

Cookie ............................................... 994

count()-Funktion .......................... 968

Datei-Upload .................................. 991

Datenbank-Escaping ................ 1009

Datenbankzugriff .......................... 995

Datentyp testen ............................. 977

Docblock-Kommentar ................. 972

Dokumentaufbau ........................ 964

each()-Funktion ............................. 969

Elternklasse ansprechen ............. 987

Escaping der Ausgabe ................. 979

explode()-Funktion ...................... 969

extends, Schlüsselwort ............... 984

function, Schlüsselwort ............... 972

Funktion ............................................ 972

Funktionsparameter .................... 973

Funktionswertrückgabe ............. 975

global ................................................. 973

globale Variable ............................. 973

htmlspecialchars(), Funktion 979

implode()-Funktion ..................... 970

include()-Funktion ....................... 988

include_once()-Funktion ........... 988

Include-Datei ................................. 988

Installation ...................................... 789

is_array()-Funktion ...................... 977

is_float()-Funktion ........................ 977

is_int()-Funktion ............................ 977

is_null()-Funktion ......................... 977

is_numeric()-Funktion ................ 977

is_string()-Funktion ..................... 977

isset()-Funktion .............................. 977

json_encode(), Funktion .......... 1098

Kommentar ...................................... 971

Konstruktor .................................... 980

magische Methode ............. 978, 988

mehrdimensionales Array ........ 970

Mock-Objekt für Unit-Tests ..... 1012

mysqli-Schnittstelle ................... 1002

Namespace ..................................... 989

Objektorientierung ....................... 977

Operator .......................................... 966

PHP (Forts.)

parent, Schlüsselwort .................. 987

php.ini, Konfigurationsdatei ..... 793

preg_match()-Funktion .............. 970

preg_replace()-Funktion ............. 971

Referenz ............................................ 974

regulärer Ausdruck ...................... 970

require_once()-Funktion ............ 988

return-Anweisung ......................... 975

Session ............................................... 993

sizeof()-Funktion ........................... 968

Sprachgrundlagen ........................ 965

static, Schlüsselwort .................... 983

statische Methode ........................ 983

str_replace(), Funktion .............. 990

String zerlegen ............................... 969

strip_tags(), Funktion ................. 979

Type Hint .......................................... 983

Unit-Test ........................................ 1009

unset()-Funktion ............................ 977

Variable ............................................ 965

Vererbung ........................................ 984

webspezifische Funktionen ...... 990

php.ini, Konfigurationsdatei ......... 793

PHPDocumentor ................................ 972

phpdox ................................................... 972

PHPUnit ................................................ 1141

Mock-Objekt .................................. 1012

PHPUnit, Test-Framework .......... 1009

PICT, Bilddateiformat ..................... 890

PID (Prozess-ID) .................................. 307

ping, TCP/IP-Dienstprogramm .... 369

Ergebnisse auswerten ................. 370

Pipe .......................................................... 1141

Anwendung ...................................... 587

in Programmiersprachen .......... 584

in Unix-Shell .................................... 395

Perl ....................................................... 587

Windows ............................................ 345

zur Inter-Prozess-Kommunikation

309

pipe(), Perl-Funktion ........................ 588

Pipeline (CPU-Warteschlange) ...... 123

Pixelgrafik ............................................... 55

PKZIP-Dateien � ZIP-Datei

Plankalkül, Programmiersprache 37

Planung, Software-Engineering 662

Platform as a Service ...................... 1033

Platzhalter

in Unix-Dateinamen .................... 398

Windows-Dateiname ................... 345

Plug & Play ................................... 139, 1141

Pluralisierung

Ruby on Rails ................................ 1019

PNG, Bilddateiformat ...................... 890

Point ....................................................... 1141

Polymorpher Virus .......................... 1108

Polynomielle Komplexität ............... 99

pop, Perl-Anweisung ......................... 518

POP3 ............................................... 275, 1141

Befehle ............................................... 276

Sitzung ............................................... 275

Port

TCP ...................................................... 257

Port, UDP ............................................... 259

position, CSS-Angabe ....................... 953

POSIX ..................................................... 1141

posixAccount, LDAP-Objektklas-

se ......................................................... 805

POSIX-Standard .................................. 293

POST ......................................................... 131

POST (BIOS-Selbsttest) ...................... 131

POST, HTTP-Befehl ........................... 280

POST, HTTP-Methode

zum HTML-Formular-

versand ........................................ 930

Post-Dekrement ................................. 484

PostgreSQL ............................................ 711

Post-Inkrement ................................... 484

POSTROUTING, iptables-chain .... 1125

PostScript ........................... 169, 882, 1141

EPS ....................................................... 883

PPD ...................................................... 883

Power Management ........................... 133

Power-on Self Test � POST

PowerPC, Prozessor ............................ 121

PowerShell ............................................ 347

Benutzereingabe ............................ 353

Cmdlets ............................................. 348

Datentypen ...................................... 354

Fallentscheidung ........................... 353

Get-Alias, Cmdlet ........................... 348

Get-ChildItem, Cmdlet ................. 348

Get-Command, Cmdlet ............... 348

Kontrollstruktur ............................ 353

Operator ........................................... 349

Read-Host, Cmdlet ........................ 353

Schleife ................................................ 355

Skriptdatei ........................................ 356

Variable ............................................. 352

Write-Host, Cmdlet ....................... 352

1198

Page 159: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

PPD, Druckerbeschreibungs-

datei .................................................... 883

PPP .......................................................... 1141

PPP-Protokoll, DFÜ ............................ 216

Prä-Dekrement ................................... 484

Prädikatenlogik ..................... 53, 59, 1141

Präemptives Multitasking .............. 302

Prä-Inkrement ..................................... 484

Praktische Informatik ........................ 26

Präprozessor, C ................................... 498

#define ............................................. 499

#endif ................................................ 499

#ifdef ................................................. 499

#include ................................... 475, 498

Präsentation, OSI-Schicht ................ 183

preg_match(), PHP-Funktion ....... 970

preg_replace(), PHP-Funktion ....... 971

PREROUTING, iptables-Chain ...... 1124

Primäre Partition ............................... 149

Primärschlüssel ........................ 704, 1141

einrichten, SQL ............................... 724

PRIMARY KEY, SQL-Feldoption .... 724

print(), Java-Methode ...................... 504

print, Perl-Anweisung ....................... 516

printf(), C-Funktion ................. 476, 496

Formatangabe ................................ 476

println(), Java-Methode ................... 503

Printserver ............................................ 196

private, Java-Kapselung ................... 507

Problemorientierte Programmier-

sprache ................................................ 48

Programmablaufplan ......................... 95

Programmgesteuerter Rechenauto-

mat ........................................................ 34

Programmiersprach

PHP ..................................................... 963

Programmiersprache ......................... 46

Ada ........................................................ 36

Algorithmus ..................................... 561

Anweisungsblock .......................... 485

Assembler ........................................... 47

BASIC .................................................... 49

Baum, Datenstruktur ................... 574

binäre Suche .................................... 570

C ........................................... 50, 292, 472

C# ........................................................... 52

C++ ......................................................... 52

Clojure .................................................. 53

Cobol .................................................... 49

Compiler ..................................... 48, 127

Datenstruktur .................................. 561

Programmiersprache (Forts.)

Datenstrukturen ............................. 571

deklarative ......................................... 53

Erlang ................................................... 53

Fortran ................................................ 49

Funktion ............................................. 50

funktionale ......................................... 53

GUI-Programmierung ................. 630

imperative ......................................... 50

Interpreter ................................. 49, 514

Iteration ............................................ 567

Java ............................................... 52, 499

Kontrollstrukturen, C .................. 485

lineare Suche .................................. 569

LISP ............................................... 53, 439

logische ................................................ 52

Logo ...................................................... 53

Maschinensprache .......................... 47

mit Datenbanken arbeiten ....... 746

Modularisierung ................... 50, 490

Objective-C ...................................... 456

objektorientierte .............................. 52

Objektorientierung ....................... 501

Pascal .................................................. 50

Perl ....................................................... 514

Pipe ..................................................... 584

Plankalkül ........................................... 37

problemorientierte .......................... 48

Prolog ................................................... 53

prozedurale ....................................... 50

Rekursion ......................................... 566

Scala ...................................................... 53

Skriptsprachen ......................... 49, 514

Smalltalk ............................................. 52

Sortier-Algorithmus ..................... 564

Strukturierung ....................... 50, 490

Such-Algorithmus ......................... 569

Systemaufruf .......................... 127, 584

Thread ............................................... 589

Turing-Vollständigkeit ................ 103

Unicode-Unterstützung ............. 878

Programmiersprachen

Prozedur ............................................. 50

Programmstrukturierung ................ 50

Projektmanagement ........................ 662

Netzplan ........................................... 664

Prolog, Programmiersprache .......... 53

PROM ...................................................... 130

Prompt ................................................... 1141

Unix .................................................... 384

prompt(), JavaScript-Methode 1040

protected, Java-Kapselung ............. 509

Prototype, Ajax-Bibliothek ......... 1099

Prototype, Entwurfsmuster ........... 687

Proxy, Entwurfsmuster .................. 688

Prozedur .................................................. 50

Prozedurale Programmiersprache 50

Prozess

als Baum anzeigen, Unix .......... 409

Benutzermodus .............................. 307

Child-Prozess .................................. 308

Definition ......................................... 307

duplizierter ...................................... 584

im Benutzermodus ...................... 300

in den Hintergrund stellen ........ 385

init ....................................................... 307

Kernelmodus ................................... 307

Kommunikation ........................... 309

Management durch

Betriebssystem ......................... 289

Multitasking ................................... 306

Parent-Prozess ............................... 308

Prozess-ID (PID) ............................. 307

Race Condition ............................... 310

Signalverarbeitung ...................... 308

Threads als Alternative ............... 310

unter Unix ........................................ 307

Unterstützung durch CPU 118, 125

Verwaltung durch Betriebssystem

306

Verwaltung, Unix ......................... 409

Windows .......................................... 309

Prozessanalyse .................................... 667

Prozesse ................................................ 1141

Deadlock ........................................... 310

im Kernelmodus ........................... 300

Prozess-ID ............................................. 307

Prozessmanagement ........................ 289

Prozessor ......................................... 38, 116

3D Now! .............................................. 123

Adressbus-Wortbreite ................... 121

Alpha ........................................... 121, 124

als Bauteil .......................................... 117

ALU ...................................................... 118

AMD ..................................................... 117

Arbeitsweise ..................................... 124

Architektur ........................................ 123

Athlon ......................................... 117, 123

Aufbau ................................................ 117

bedingter Sprung ............................ 125

Befehlstabelle ................................... 119

Befehlszeiger .................................... 118

1199

Page 160: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Prozessor (Forts.)

Bestandteile ...................................... 118

Bus ........................................................ 119

Cache ................................................... 119

CISC ...................................................... 123

Datenbus-Wortbreite .................... 121

der Grafikkarte ................................ 163

Effizienz .............................................. 122

FLOPS .................................................. 123

Intel ...................................................... 117

Itanium .............................................. 121

Maschinenbefehle ......................... 126

MIPS ..................................................... 124

MIPS (Geschwindigkeitsangabe)

122

MMX .................................................... 123

Mooresches Gesetz ....................... 120

MosTek 6502 .................................... 121

Motorola-68000-Familie ............ 121

Pentium-Familie ..................... 117, 123

Pipeline ............................................... 123

PowerPC ............................................. 121

Prozesse .............................................. 125

Register ............................................... 118

Registerwortbreite ......................... 121

RISC ...................................................... 123

Sprungbefehl .................................... 125

Stack .................................................... 125

Steuerbus-Wortbreite ................... 121

Steuerwerk ........................................ 118

Sun SPARC ......................................... 124

Taktfrequenz .................................... 122

übertakten ........................................ 122

unbedingter Sprung ...................... 125

Unterprogramm-Aufruf .............. 125

virtueller ........................................... 103

Wortbreite ........................................ 120

Wortbreiten-Vergleich .................. 121

Z80 ....................................................... 121

Prozessorarchitektur ......................... 123

Prozessverwaltung ........................... 306

Prüfbit ...................................................... 136

Prüfung

IT-Berufe ............................................. 30

ps, Unix-Befehl ......................... 309, 409

PS/2-Anschluss ..................................... 143

PSD, Bilddateiformat ........................ 887

Pseudocode, zur Algorithmendarstel-

lung ....................................................... 95

pstree, Unix-Befehl ........................... 409

PTR-Record (DNS) ............................. 802

public, Java-Kapselung ........... 503, 508

Public-Key-Verschlüsselung ........ 1129

Pulswahlverfahren ............................. 218

Punkt ...................................................... 1141

push, Perl-Anweisung ....................... 518

push, Ruby-Methode ......................... 535

puts(), C-Funktion .................... 476, 496

pwd, Unix-Befehl .............................. 400

Q

q//, Perl-Quoting ................................ 522

QBit ........................................................... 46

qq//, Perl-Quoting .............................. 522

Qt, Grafikbibliothek .................. 441, 442

Quadratische Gleichung .................... 74

Quadratische Komplexität .............. 99

Qualitätsmanagement .................... 663

Quantencomputer .............................. 46

Quantifizierer (RegExp) ................... 578

Quartz, Grafikbibliothek .................. 455

Queue ..................................................... 1141

Queue, Datenstruktur ....................... 571

Perl ........................................................ 571

QUEUE, iptables-Regel ..................... 1125

QuickEdit-Modus, Windows-Eingabe-

aufforderung ................................... 345

QuickSort .............................................. 1141

QuickSort, Algorithmus ................... 567

Funktionsprinzip ............................ 567

Median ............................................... 567

QuickTime, Multimedia-Technologie

456

QuickTime, Video-Dateiformat ... 892

Quoting-Operatoren, Ruby ............ 533

qw//, Perl-Quoting ............................. 522

R

Race Condition .......................... 310, 1141

Rackspace Cloud Services ............. 1033

radio_button, Rails-Methode ..... 1028

RAID ................................................ 151, 1141

Advanced Data Guarding .......... 152

Levels ................................................... 151

Mirroring ............................................ 151

Stripe Set ............................................ 151

Stripe Set mit Parity ....................... 151

RAID 0 ...................................................... 151

RAID 01 .................................................... 152

RAID 1 ....................................................... 151

RAID 10 .................................................... 152

RAID 5 ...................................................... 151

RAID 6 ...................................................... 152

Rails ........................................................ 1141

Rails � Ruby on Rails

rails, Generator ................................. 1017

RAILS_ENV, Umgebungsvariable

1018

rake, Ruby-Automatisierung ....... 1021

RAM .................................................. 116, 127

als Bauteil .......................................... 127

Auslagerungsdatei ......................... 312

Bedeutung in der Speicher-

hierarchie ..................................... 120

CMOS ................................................... 132

DDR-RAM .......................................... 128

der Grafikkarte ............................... 163

DIMM-Module ................................. 128

dynamic ............................................. 128

EDO ...................................................... 128

einbauen ............................................ 128

empfohlene Menge ....................... 129

FP .......................................................... 128

Paging ................................................. 311

Rambus ............................................. 129

RD-RAM ............................................. 129

RIMM-Modul ................................... 129

SD-RAM ............................................. 129

Segmentierung ................................ 311

Seitenfehler ....................................... 312

SIMM-Module .................................. 128

static .................................................... 128

Verwaltung durch das Betriebs-

system ............................................ 311

virtuelle Adressierung .................. 311

Rambus-RAM ....................................... 129

RAMDAC (Grafikkarte) ...................... 165

Random Access Memory � RAM

Rangfolge

durch Klammern ändern ............ 485

Operatoren ...................................... 484

Rational Unified Process ................. 673

Rationale Zahl ......................................... 71

Raumfolgearithmetik ......................... 83

rd � rmdir, Windows-Befehl

RDBMS ................................................... 1141

RDBMS � Relationale Datenbank

RD-RAM ................................................. 129

readdir, Perl-Anweisung ................. 527

1200

Page 161: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Read-Host, PowerShell-Cmdlet .... 353

readLine(), Java-Methode ............... 504

Read-only Memory � ROM

readyState, Ajax-Eigenschaft ....... 1083

REAL, SQL-Datentyp .......................... 722

Rechenautomat .................................... 34

Rechenbefehl

des virtuellen Prozessors ............ 105

Rechendaten ....................................... 700

Rechenmaschine

mechanische ..................................... 36

Rechentafel .............................................. 35

Rechenwerk ........................................... 113

Record � Datensatz

Red Book (Audio-CD) ......................... 155

Red, Green, Refactor (TDD) ............ 696

Redirect, Apache-Direktive ............. 781

redirect_to, Rails-Methode .......... 1024

Reelle Zahl ................................................ 71

Referenz

auflösen, Perl ................................... 521

Perl ...................................................... 520

regedit, Windows-Dienstprogramm

365

RegExp � Regulärer Ausdruck

Regionale Einstellungen

Mac OS X .......................................... 465

Register ................................................. 1141

der CPU ............................................... 118

des virtuellen Prozessors ............ 104

Wortbreite ......................................... 121

Register (Schaltung) ............................ 93

Registermaschine ..................... 103, 1141

Registrierdatenbank � Registry, Win-

dows

Registry, Windows ............................. 365

Regulärer Ausdruck ................. 576, 1141

!~, Operator ...................................... 581

=~, Perl-Operator ............................ 581

Alternative Textteile ................... 580

alternative Zeichen ....................... 578

beliebig viele Zeichen ................... 578

ein oder mehr Zeichen ................. 578

ersetzen ............................................. 582

Escape-Sequenz .............................. 579

grep .................................................... 403

Groß- und Kleinschreibung igno-

rieren ............................................ 580

in PHP ............................................... 970

JavaScript ...................................... 1050

Klammern ....................................... 580

Regulärer Ausdruck (Forts.)

Leerzeichen ....................................... 579

m//, Operator .................................. 581

m//-Operator .................................. 577

Matching ........................................... 581

mehrere Treffer finden ................ 580

Modifikator ..................................... 580

Muster ................................................ 577

optionale Zeichen .......................... 578

Perl .............................................. 527, 576

Quantifizierer .................................. 578

s///-Operator .......................... 577, 582

Sonderzeichen ................................. 579

Teilausdruck ................................... 580

Whitespace ....................................... 579

Wortgrenze ....................................... 579

Wortzeichen ..................................... 579

Zeichen ausschließen ................... 578

Zeichenanzahl ................................. 579

Zeichengruppe ................................ 578

Zeilenanfang ................................... 580

Zeilenende ........................................ 580

Ziffer .................................................... 579

Regulärer Ausdrucke

in Ruby ............................................... 583

REJECT, iptables-Regel ..................... 1125

Rekursion ................................... 566, 1142

Relais ......................................................... 37

Relation

im RDBMS ........................................ 704

Relationale Algebra ........................... 704

Relationale Datenbank 700, 703, 1142

1:1-Beziehung .................................. 704

1:n-Beziehung ................................. 704

Access .................................................. 711

Änderungsabfrage ........................ 719

Arten .................................................... 711

atomare Information .................. 708

Auswahlabfrage .................... 707, 719

Boyce-Codd-Normalform .......... 708

Desktopdatenbank ......................... 711

Einfügeabfrage ............................... 719

FileMaker ........................................... 711

freier Server ....................................... 711

Fremdschlüssel .............................. 704

Grenzen ............................................... 711

Index .................................................. 704

Java-Programmierung ............... 746

JDBC ................................................... 746

kommerzieller Server .................... 711

Konsistenz ....................................... 703

Relationale Datenbank (Forts.)

Löschabfrage .................................... 719

m:n-Beziehung ............................... 705

MySQL ................................................. 714

Normalform ................................... 708

Normalisierung ............................. 708

ODBC .................................................. 746

OpenOffice.org Base ...................... 711

PostgreSQL ........................................ 711

Primärschlüssel ............................. 704

Primärschlüssel einrichten,

SQL ................................................. 724

Programmierung .......................... 746

Relation ............................................ 704

Schlüssel ........................................... 704

SQL ............................................. 708, 719

Tabelle erzeugen, SQL .................. 720

Tabelle löschen, SQL ...................... 721

Relationale Datenbank, Join-Abhän-

gigkeit ................................................ 710

Relativer Pfad .............................. 316, 319

Remote Method Invocation � RMI,

Java

rename, Windows-Befehl ............... 347

repaint(), AWT-Methode ................. 641

Replikation ............................................ 176

MySQL ................................................ 744

Request For Comments � RFC

Require, Apache-Direktive .... 776, 782

require_once(), PHP-Funktion ..... 988

RequireAll, Apache-Direktive ........ 782

RequireAny, Apache-Direktive ..... 782

RequireNone, Apache-Direktive 782

Resource Fork, HFS ........................... 466

Creator ID ........................................ 466

File Type ID ..................................... 466

responseText, Ajax-Eigenschaft

1085

responseXML, Ajax-Eigenschaft

1089, 1092

Ressource

Hardware- ......................................... 138

Plug & Play ...................................... 139

Zuweisung ........................................ 139

Ressourcenmanagement ................ 663

REST ........................................................ 1142

ResultSet, JDBC-Klasse ..................... 748

return, C-Anweisung .............. 476, 490

RETURN, iptables-Regel .................. 1125

REVOKE, MySQL-Anweisung .......... 737

1201

Page 162: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

RFC .................................................. 177, 1142

1034 und 1035, DNS ....................... 261

1300 ..................................................... 177

1723, RIP-2 ......................................... 250

1738, URL ........................................... 279

1918, private IP-Adressen ............ 230

2045 bis 2049, MIME .................... 272

2060, IMAP ...................................... 276

2131 und 2123, DHCP ..................... 252

2178, OSPF ......................................... 250

2324, HTCPCP ................................... 177

2460, IPv6 ........................................ 240

2616, HTTP ........................................ 278

2821, SMTP (Neufassung) ............ 270

2822, Textnachricht ...................... 272

3330, Spezial-IP-Adressen .......... 230

768, UDP ............................................. 255

791, IP-Protokoll ............................. 226

793, TCP ............................................. 254

821, SMTP .......................................... 270

822, Textnachricht ........................ 272

854, Telnet ........................................ 266

959, FTP ............................................. 267

977, NNTP ......................................... 276

RGB-Farbe ............................................... 56

Rhapsody (Mac OS X) ........................ 453

RIMM-Modul (RAM) .......................... 129

Ring-Topologie, Netzwerk ............... 193

RIP ........................................................... 1142

RIP, Routing-Protokoll ..................... 249

RISC ......................................................... 1142

RISC-Prozessor ..................................... 123

Beispiele ............................................. 124

Risikomanagement .......................... 664

Ritchie, Dennis .................... 50, 292, 473

rm, Unix-Befehl .................................. 399

rmdir, Unix-Befehl ........................... 400

rmdir, Windows-Befehl ................... 347

RMI (Remote Method Invocati-

on) ...................................................... 1142

RMI, Java ................................................ 622

robots.txt, Suchmaschinen-

Info ...................................................... 943

Röhrenmonitor ................................... 165

Röhrenrechner ....................................... 37

Rollback (Transaktionen) ................ 710

ROLLBACK, SQL-Anweisung ........... 731

Rollover-Effekt

JavaScript ....................................... 1057

praktische JavaScript-

Lösung ........................................ 1059

ROM ................................................. 116, 130

Bauarten ........................................... 130

Bedeutung ........................................ 116

bei 8-Bit-Homecomputern ......... 116

BIOS ..................................................... 130

Römische Zahl ....................................... 75

root, Benutzer ..................................... 309

Home-Verzeichnis ......................... 315

temporär arbeiten als ................. 390

root, Unix-Benutzer .......................... 381

root, Unix-Verzeichnis ..................... 315

Rootkit .................................................. 1120

ROT13 ..................................................... 1128

Roter Balken (Unit-Test) ................. 695

Round-Robin-DNS ............................. 803

route, Unix-Befehl ............................. 446

Router ................................................... 1142

Router, IP-Protokoll .......................... 244

Routing

autonomes System ....................... 248

DE-CIX ............................................... 249

IP-Protokoll ..................................... 244

Routing-Protokoll ............................. 248

BGP ...................................................... 251

OSPF ................................................... 250

RIP ....................................................... 249

Routing-Tabelle ................................... 247

anzeigen ............................................ 247

rpm, Linux-Paketmanager .............. 415

RS-232 ...................................................... 144

RS-Flip-Flop ............................................. 92

RSS, Newsfeed-Format ................... 1032

Ruby ............................................... 528, 1142

abs, Methode ................................... 537

Akzessoren ........................................ 552

Array-Methoden und -Operatoren

539

Arrays ................................................. 535

attr_accessor ................................... 552

attr_reader ....................................... 552

Audrücke ........................................... 532

block_given?, Methode ................ 558

case-when, Anweisung ................ 542

ceil, Methode ................................... 537

chomp, Methode ............................ 547

class, Methode ................................ 529

class, Schlüsselwort ........................ 551

defined?, Methode ......................... 534

Dir, Klasse ........................................ 548

downcase, Methode ...................... 538

downto, Iterator ............................ 546

Ruby (Forts.)

each, Iterator ................................... 546

each_key, Iterator ......................... 546

each_pair, Iterator ........................ 546

each_value, Iterator ..................... 546

Erstes Beispielprogramm ........... 529

File, Klasse ........................................ 547

floor. Methode ................................. 537

gets, Methode ................................. 547

Globale Variablen ......................... 534

gsub, Methode ................................ 583

Hashes ................................................ 535

if, Anweisung .................................. 542

initialize, Methode ......................... 552

Interactive Ruby ............................ 528

IO, Basisklasse ................................ 546

Iteratoren ................................. 545, 557

join. Methode .................................. 542

Klassen implementieren .............. 551

Konstruktor ...................................... 552

Kontrollstrukturen ....................... 542

length, Methode ............................. 538

Literale ............................................... 532

logische Operatoren ..................... 536

Math, Modul ..................................... 537

Methoden .......................................... 537

Objektorientierung ....................... 546

pop, Methode ................................. 540

print, Methode ................................ 547

printf, Methode .............................. 547

push, Methode ....................... 535, 540

puts, Methode ................................. 547

Quoting-Operatoren .................... 533

rake, Automatisierungstool .... 1021

read, Methode ................................. 547

regulärer Ausdruck ....................... 583

reverse, Methode ........................... 538

reverse, Methode (Array) ............. 541

round. Methode ..................... 537, 541

Schleifen ............................................ 543

shift, Methode ................................ 540

Singleton, Modul ........................... 692

sort, Methode ................................. 540

split, Methode ................................. 542

step, Iterator .................................... 546

String-Methoden ........................... 538

sub, Methode ................................... 583

swapcase, Methode ...................... 538

Symbole ............................................. 532

Syntax ................................................. 531

Time, Klasse ..................................... 549

1202

Page 163: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Ruby (Forts.)

times, Iterator ................................. 545

to_i. Methode ................................... 541

to_s, Methode .................................. 541

Typecasting ...................................... 541

uniq. Methode ................................. 541

unless, Anweisung ........................ 542

unshift, Methode .......................... 540

until, Anweisung ............................ 543

upcase, Methode ............................ 538

upto, Iterator .................................. 546

Value- vs. Referenzmethoden ... 538

Variablen .......................................... 532

Vererbung ........................................ 556

while, Anweisung .......................... 543

yield, Schlüsselwort ....................... 557

Ruby on Rails ......... 528, 1015, 1141, 1142

Action Mailer ................................ 1016

Action Pack .................................... 1016

Action Web Service ..................... 1016

Active Record ................................ 1016

Active Support .............................. 1016

Anwendung erzeugen ................. 1017

Anwendung testen ...................... 1022

belongs_to, Datenbankbeziehung

1020

Capistrano, Deployment-Tool 1029

console ............................................. 1021

Controller ....................................... 1023

Convention over Configuration

1016

create, Methode ........................... 1021

create_table, Methode .............. 1019

database.yml,

Konfigurationsdatei ............. 1018

Datenbankbeziehungen .......... 1020

Datensätze ändern ..................... 1022

Deployment .................................. 1029

Designprinzipien ......................... 1016

Don’t Repeat Yourself ................ 1016

eRuby ............................................... 1023

find, Methode ................................ 1021

flash, Zwischenspeicher ............ 1028

form_tag, Methode .................... 1028

Formular ......................................... 1028

Fremdschlüssel ............................ 1020

Generator ........................................ 1017

has_and_belongs_to_many,

Datenbankbeziehung .......... 1020

has_many, Datenbank-

beziehung ................................. 1020

Ruby on Rails (Forts.)

Helper .............................................. 1025

Installation ..................................... 1017

interaktive Konsole ..................... 1021

Komponenten ............................... 1016

Migration ........................................ 1019

Model erzeugen ............................ 1019

Mongrel, Webserver ........ 1022, 1029

Pluralisierung ................................ 1019

Praxisbeispiel ................................ 1017

radio_button, Methode ............ 1028

rails, Generator ............................. 1017

RAILS_ENV, Umgebungs-

variable ....................................... 1018

rake db:migrate ............................ 1021

redirect_to, Methode ................. 1024

Scaffolding .................................... 1022

Startseite ........................................ 1024

submit_tag, Methode ............... 1028

Verzeichnisstruktur .................... 1017

View .................................................. 1023

Rumbaugh, James .............................. 677

run(), Java-Methode .......................... 589

Runlevel (Unix) ................................... 413

Runnable, Interface .......................... 589

Runnable, Java-Interface ................. 512

S

s///, Perl-Operator ............. 527, 577, 582

SaaS (Software as a Service) ......... 1033

Samba ........................................... 450, 1142

als Client für Windows-Server ... 451

Drucker freigeben .......................... 451

globale Parameter ......................... 451

Konfiguration ................................ 450

smb.conf, Konfigurations-

datei .............................................. 450

starten ............................................... 450

Verzeichnis freigeben ................... 451

Windows-Freigabeart .................. 451

Sampling .............................................. 1142

Sampling, Audio ................................... 56

Sampling-Rate ....................................... 56

Sampling-Tiefe, Audio ........................ 56

Samsung

Galaxy Tab ........................................ 46

SAS (Serial Attached SCSI) ............... 143

sash (Stand-alone Shell) ................... 385

Satellit, DSL-Verbindung ................. 221

Satisfy, Apache-Direktive ................ 782

SAX .......................................................... 1142

Beispielprogramm ........................ 865

ContentHandler, Interface ........ 859

ContentHandler-Callback ......... 860

ContentHandler-Methode ........ 860

Dokument parsen ......................... 858

DTDHandler, Interface ................ 859

EntityResolver, Interface ............ 859

ErrorHandler, Interface ............... 859

Event Handler ................................. 859

InputSource, Klasse ...................... 859

Parser-Instanz erzeugen ............. 858

XMLReader-Interface ................... 858

SAX (Simple API for XML) ............... 858

SaX (X-Server-Konfigurationspro-

gramm) ............................................. 440

sbin, Unix-Verzeichnis ..................... 315

Scaffolding

Ruby on Rails ................................ 1022

Scala, Programmiersprache .............. 53

scanf(), C-Funktion .................. 487, 496

Scanner ................................................... 161

Auflichtscanner ............................... 161

Diascanner ....................................... 162

Durchlichtscanner ......................... 161

Flachbettscanner ........................... 162

Kleinbildscanner ............................ 162

Trommelscanner ........................... 162

Schaltalgebra .................................. 26, 86

Schaltkreisvermittlung ..................... 174

Schaltung, Register .............................. 93

Schema (LDAP) ................................... 804

Schichtenmodell ....................... 181, 1142

Alltagsbeispiel ................................. 187

Mail-Beispiel .................................... 189

OSI-Referenzmodell ....................... 181

Praxis .................................................. 187

TCP/IP ................................................ 184

Schleife

C ........................................................... 488

do/while() ........................................ 489

Endlosschleife ................................. 568

for() .................................................... 489

foreach, Perl ...................................... 519

fußgesteuerte ................................. 489

in der PowerShell ............................ 355

in Shell-Skripten ............................. 419

kopfgesteuerte ............................... 489

mit break abbrechen .................... 568

1203

Page 164: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Schleifen

Ruby .................................................... 543

Schleifenrumpf ................................... 488

Schleifenzähler, Variable ............... 489

Schlüssel

eines Hashes .................................... 520

im RDBMS ....................................... 704

Schlussfolgerung

logische ............................................... 62

Umkehrschluss ................................. 62

Schnittmenge ......................................... 72

Schnittstelle

Hardware .......................................... 117

Softwareentwurf ........................... 670

Schreib-Lese-Kopf, der Turing-

Maschine ......................................... 100

Schriftart

im Drucker ....................................... 169

screen, JavaScript-Objekt ............. 1068

script.aculo.us, Ajax-Biblio-

thek .................................................. 1099

ScriptAlias, Apache-Direktive ....... 782

Scrum ...................................................... 675

Backlog .............................................. 676

Rollen ................................................. 676

Sprint .................................................. 676

SCSI ................................................. 142, 1142

anschließen ....................................... 142

ID .......................................................... 142

serielles ............................................... 143

Terminator ........................................ 142

SCSI-ID ..................................................... 142

SDI, Windows-Anwendungen ....... 337

SD-RAM .................................................. 129

SDSL ......................................................... 220

sed .................................................... 514, 576

Sedezimalsystem � Hexadezimal-

system

Segmentierung (Speicher) ............... 311

Seite (Speicher) ..................................... 311

Seitenfehler (Speicher) ...................... 312

Seitentabelle (Speicher) .................... 312

SELECT, SQL-Abfrage ......................... 724

Selektor

jQuery ............................................. 1099

Semikolon

Abschluss von Anweisungen .... 475

send(), Ajax-Methode .................... 1084

Sequenzdiagramm (UML) ............... 682

Serial Attached SCSI ........................... 143

Serialisierung ........................................ 512

Serializable, Java-Interface .............. 512

Serielle Datenübertragung ............. 135

Bedeutung ........................................ 137

Kontrollbit ........................................ 136

Leitungskonventionen ................. 136

Prüfbit ................................................ 136

Startbit ............................................... 136

Stoppbit ............................................. 136

Server

Netzwerk ........................................... 195

Server, Windows-Betriebssyste-

me ........................................................ 328

ServerAdmin, Apache-Direktive 782

Serverdienst

Anwendungsserver ....................... 199

Application Server ......................... 199

Dateiserver ....................................... 196

Druckserver ...................................... 196

einrichten, Linux ........................... 447

einrichten, Mac OS X ................... 469

einrichten, Unix ............................. 447

einrichten, Windows ..................... 372

Fileserver ........................................... 196

HTTP-Server ..................................... 198

Mailserver ......................................... 197

Printserver ........................................ 196

Samba ............................................... 450

Übersicht ........................................... 195

Webserver ......................................... 198

Servergefahren ................................... 1119

ServerName, Apache-Direktive .... 783

ServerRoot, Apache-Direktive ....... 783

ServerSignature, Apache-Direktive

783

Serversystem

Macintosh ........................................ 468

ServerTokens, Apache-Direk-

tive ....................................................... 783

Servlet, Java ........................................... 627

Session

PHP ..................................................... 993

Session-Hijacking .............................. 1121

SET PASSWORD, MySQL-Anweisung

735

SET, SQL-Befehl .................................... 729

SET, SQL-Datentyp ............................. 723

setColor(), AWT-Methode ................ 635

setLayout(), AWT-Methode ............ 643

setTimeout(), JavaScript-Methode

1055

setVisible(), AWT-Methode ............ 632

SGML ...................................................... 1142

HTML-DTD ..................................... 900

XML als moderne Version ........... 821

sh (Bourne-Shell) ................................ 384

Shannon-Theorem ........................... 1142

Share Level Security, Samba ........... 451

Share Level Security, Windows-Frei-

gabeart ............................................... 373

Shebang

bei Shell-Skripten ............................ 417

Perl ....................................................... 515

Shell ............................................... 305, 1142

/etc/profile, Unix-Konfigurations-

datei ............................................... 385

Ausgabeumleitung (Unix) ......... 394

bash .................................................... 385

Befehl, Windows ............................. 346

Bourne-Shell .................................... 384

Cmd.exe, WinNT ............................ 344

COMMAND.COM, MS-DOS ........ 344

C-Shell ................................................ 385

Eingabeaufforderung, Unix ...... 384

Eingabeumleitung (Unix) ........... 394

Eingabevervollständigung ........ 388

ermitteln, welche läuft ................ 384

Escape-Sequenz ............................. 404

HIER-Dokument ............................. 395

History ............................................... 389

Korn Shell ......................................... 385

Pipe ..................................................... 395

Prozess in den Hintergrund stellen

385

Shell-Skript ........................................ 417

Stand-alone Shell ........................... 385

Umgebung ....................................... 385

Umgebungsvariable ..................... 385

Unix .................................................... 305

unter Mac OS X .............................. 456

Windows ........................................... 344

shell

Befehl als root ausführen .......... 390

Shell-Skript ............................................ 417

Beispiele ........................................... 420

case-Befehl ....................................... 419

Fallunterscheidung ....................... 418

for-Befehl .......................................... 419

if-Befehl ............................................. 418

Schleife ............................................... 419

Shebang ............................................. 417

Variable ............................................. 419

while-Befehl ..................................... 419

1204

Page 165: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

shift, Perl-Anweisung ........................ 518

short, C-Datentyp ............................... 479

Short-Circuit-Logik ............................ 524

shutdown, Unix-Befehl .................... 411

Sicherheit ............................................. 1105

Administratorrechte .................... 1111

Adware .............................................. 1115

Backdoor ........................................... 1112

Backup .............................................. 1110

CGI ....................................................... 1121

chroot-Umgebung ....................... 1123

Crackerangriff .............................. 1120

Crackertools ................................... 1123

Cross-Site-Scripting (XSS) ......... 1120

Dialer .................................................. 1113

Exploit ............................................... 1119

Firewall ................................... 1110, 1122

Hoax .................................................. 1118

Intrusion Detection System ..... 1122

keine absolute ............................... 1105

Kettenmail ...................................... 1119

Kryptografie ................................... 1128

Man-in-the-Middle-Angriff ....... 1121

menschliches Versagen .............. 1124

MySQL, Unix ..................................... 716

MySQL, Windows ............................ 718

Passwort .......................................... 1124

Patch installieren ......................... 1110

PC-Gefahren .................................. 1106

Phishing ........................................... 1116

Rootkit ............................................. 1120

Servergefahren .............................. 1119

Session-Highjacking ..................... 1121

Social Engineering ....................... 1124

Spam .................................................. 1117

Spyware ............................................. 1115

SQL-Injection ................................... 1121

Virus ................................................. 1106

Webanwendungen ........................ 1121

Wurm ............................................... 1108

Sicherung, OSI-Schicht ..................... 182

SIGALRM, Signal ................................ 308

SIGHUP, Signal ................................... 308

SIGINT, Signal ...................................... 410

SIGKILL, Signal .......................... 308, 410

Signal ..................................................... 1142

an Prozesse senden, Unix ........... 410

SIGALRM .......................................... 308

SIGHUP ............................................. 308

SIGINT ................................................ 410

SIGKILL .................................... 308, 410

Signal (Forts.)

SIGTERM .................................. 308, 410

Verarbeitung durch Prozess ..... 308

zur Inter-Prozess-Kommunikation

309

Signatur

digitale ............................................. 1129

signed, C-Datentyp ........................... 479

SIGTERM, Signal ........................ 308, 410

Silicon Valley .......................................... 39

Silizium ..................................................... 39

SIMM-Modul (RAM) .......................... 128

Simple API for XML � SAX

Simulation

eines Prozessors ............................. 103

Sinclair ZX Spectrum ........................ 294

Sinclair ZX81 .................................. 43, 294

Sinclair, Clive .......................................... 43

Single Document Interface � SDI,

Windows-Anwendung

Singleton, Entwurfsmuster

Implementierung (Java) .............. 691

Implementierung (Ruby) ............ 691

Ruby-Modul .................................... 692

Singleton, Entwurfsmuster ......... 687,

690

Sinuskurve

zeichnen, AWT ................................ 636

Sitzung, OSI-Schicht .......................... 183

sizeof(), PHP-Funktion ..................... 968

Skalar, Perl-Variable .................. 516, 518

Skriptsprache ................................ 49, 514

Slash, Blog-Tool ................................ 1032

Slave-Nameserver ............................. 264

Slot

Prozessor ............................................ 117

SMALLINT, SQL-Datentyp ............... 722

Smalltalk .............................................. 660

Smalltalk, Programmiersprache .... 52

Smartphone ........................................... 46

smbclient, Samba-Dienst ................ 451

SMB-Protokoll, Windows-Netzwerk

286

SMTP ....................................................... 270

Befehle ................................................ 271

Sitzung ............................................... 271

sn, LDAP-Attribut ............................. 806

Snort ....................................................... 1123

SOAP ...................................................... 1142

Client .................................................. 629

SOAP, Webservices ............................ 628

SOA-Record (DNS) .............................. 801

Social Engineering ............................ 1124

sockaddr_in, Netzwerkprogrammie-

rung .................................................... 595

Sockel

für Prozessoren ............................... 117

Socket ............................................ 593, 1142

accept(), Funktion ......................... 598

Adresse .............................................. 595

bind(), Funktion ............................. 598

connect(), Funktion ...................... 597

Datagramme senden und empfan-

gen .................................................. 596

Domain ............................................. 594

erzeugen ........................................... 594

IO ......................................................... 599

IP-Adresse ......................................... 595

lauschender ..................................... 598

listen(), Funktion ............................ 598

Protokoll ........................................... 594

TCP ...................................................... 596

TCP-Client ......................................... 597

TCP-Port ............................................ 595

TCP-Server ........................................ 598

Typ ....................................................... 594

UDP ..................................................... 596

Verbindung aufnehmen ............. 598

Socket, Perl-Modul ............................ 594

Software

freie ..................................................... 297

installieren unter Unix ................. 415

installieren, Windows .................. 361

Software as a Service ....................... 1033

Software-Engineering ...................... 659

agiler Entwicklungsprozess ....... 675

Analyse ............................................. 666

CASE-Tools ....................................... 678

Code-Review ..................................... 671

Dokumentation ............................. 672

Entwicklungsprozess ................... 673

Entwicklungszyklus ...................... 661

Entwurfsmuster ............................ 684

Entwurfsphase ............................... 669

Extreme Programming ............... 674

Implementierungsphase ........... 670

in der IT-Ausbildung ................... 660

Lastenheft ........................................ 667

objektorientierte Analyse .......... 667

Objektorientierung ...................... 660

Pflichtenheft ................................... 668

Planungsphase ............................... 662

1205

Page 166: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Software-Engineering (Forts.)

Projektmanagement .................... 662

Projektphasen ................................. 661

Schnittstelle .................................... 670

Scrum ................................................. 675

Spiralmodell .................................... 661

strukturierte Analyse ................... 667

Test-first-Verfahren ............ 675, 696

Testphase ........................................... 671

UML .................................................... 677

Unified Process ............................... 673

Unit-Test ............................................ 671

Unit-Tests ......................................... 693

Wasserfallmodell ........................... 661

Softwareentwicklung � Software-En-

gineering

Softwarekrise ....................................... 659

Softwaretechnik � Software-Engi-

neering

Solaris .................................................... 1142

Solaris, Betriebssystem .................... 293

Solid State Disk .................................. 1142

Solid State Disk (SSD) ......................... 153

Sortier-Algorithmus ......................... 564

BubbleSort ........................................ 564

QuickSort .......................................... 567

Soundkarte ........................................... 169

Anschlüsse ........................................ 169

Audio-CD abspielen ...................... 170

MIDI .................................................... 170

SP-DIF-Anschluss ........................... 170

Source, Stromeingang des

Transistors ........................................ 87

Spam ....................................................... 1117

SpamAssassin ..................................... 1118

SP-DIF-Anschluss ............................... 170

Special File � Gerätedatei

Spectrum, Homecomputer ............ 294

Speicher

Management durch

Betriebssystem ......................... 289

RAM ..................................................... 116

reservieren, C .................................... 572

ROM ..................................................... 116

virtueller ................................... 120, 311

Speicheradressierung .......................... 81

Speichermanagement ...................... 289

Speicherseite ......................................... 311

Speicherverwaltung ........................... 311

x86-System ....................................... 312

Speicherzelle (Schaltung) .................. 92

Spiralmodell ......................................... 661

split, Perl-Anweisung ........................ 519

Spotlight (Mac OS X) ......................... 459

Sprache (Umgangssprache), zur Algo-

rithmendarstellung ........................ 95

Sprint, Scrum ...................................... 676

Sprungbefehl

bedingter ........................................... 125

beim virtuellen Prozessor ........... 107

der CPU .............................................. 125

unbedingter ..................................... 125

Sprungvorhersage (Prozessor) ...... 120

Spyware ................................................. 1115

SQL ........................................ 708, 719, 1142

Aggregatfunktion .......................... 726

Änderungsabfrage ............... 719, 729

arithmetische Operatoren .......... 726

AS-Klausel ......................................... 726

Auswahlabfrage .................... 719, 724

AUTO_INCREMENT, Feldoption

724

BIGINT, Datentyp ........................... 722

BINARY, Feldoption ....................... 724

BLOB, Datentyp .............................. 723

CHAR, Datentyp ............................. 723

COMMIT, Anweisung ................... 731

COUNT-Funktion ........................... 727

CREATE DATABASE, Befehl ........ 720

CREATE TABLE, Befehl ................. 720

DATE, Datentyp .............................. 722

Datentypen ...................................... 721

Datentypen in Java ...................... 749

Datentypen, Aufzählung ............ 723

Datentypen, Binärobjekte .......... 723

Datentypen, Datum und Uhrzeit

722

Datentypen, Fließkomma ........... 722

Datentypen, ganzzahlige ........... 721

Datentypen, Text ........................... 723

DATETIME, Datentyp ................... 722

DECIMAL, Datentyp ...................... 722

DEFAULT, Feldoption ................... 724

DELETE-Abfrage ............................. 729

DOUBLE, Datentyp ........................ 722

DROP DATABASE, Befehl ............ 721

DROP TABLE, Befehl ...................... 721

Einfügeabfrage ...................... 719, 728

ENUM, Datentyp ............................ 723

Felder mit Nullen füllen ............... 724

Feldoptionen .................................... 724

Feldwert einmalig machen ........ 724

SQL (Forts.)

FLOAT, Datentyp ........................... 722

Funktionen ....................................... 726

Index erstellen ................................ 724

Inner Join .......................................... 727

Inner Join durch WHERE ausdrü-

cken ................................................ 728

INNER JOIN-Klausel ...................... 727

INSERT-Abfrage .............................. 728

INT, Datentyp .................................. 722

Join ...................................................... 727

LIKE-Klausel .................................... 725

LONGBLOB, Datentyp .................. 723

LONGTEXT, Datentyp .................. 723

Löschabfrage ........................... 719, 729

MAX-Funktion ................................ 727

MDEIUMBLOB, Datentyp ........... 723

MEDIUMTEXT, Datentyp ........... 723

MIN-Funktion ................................. 727

Mustervergleich ............................. 725

NULL, Feldoption ........................... 724

ORDER BY-Klausel ......................... 727

Primärschlüssel einrichten ........ 724

PRIMARY KEY, Feldoption ......... 724

REAL, Datentyp .............................. 722

ROLLBACK, Anweisung ................ 731

SELECT-Abfrage .............................. 724

SET, Datentyp .................................. 723

SET-Befehl ......................................... 729

SMALLINT, Datentyp ................... 722

sortieren ............................................ 727

Standardwert angeben ............... 724

START TRANSACTION, Anweisung

731

SUM-Funktion ................................ 726

TEXT, Datentyp .............................. 723

TIME, Datentyp .............................. 722

TIMESTAMP, Datentyp ................ 722

TINYBLOB, Datentyp .................... 723

TINYINT, Datentyp ........................ 722

TINYTEXT, Datentyp .................... 723

Transaktion beginnen .................. 731

UNSIGNED, Feldoption ............... 724

UPDATE-Abfrage ........................... 729

VARCHAR, Datentyp .................... 723

Vergleichsoperatoren .................. 726

Volltextindex .................................. 724

WHERE-Klausel .............................. 725

YEAR, Datentyp .............................. 722

ZEROFILL, Feldoption ................... 724

SQL Server, Microsoft ........................ 711

1206

Page 167: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

SQL-Injection ....................................... 1121

SRAM ........................................................ 128

SSD .......................................................... 1142

SSD (Solid State Disk) ......................... 153

SSH ............................................... 1130, 1142

SSH (Secure Shell) .............................. 266

OpenSSH ........................................... 266

SSL .................................................. 787, 1130

Staatlich geprüfter Techniker (FS) In-

formatik .............................................. 30

Stack

der CPU ....................................... 118, 125

des virtuellen Prozessors ............ 108

Java-Klasse ........................................ 513

Stack Overflow ........................... 125, 1143

Stack Pointer � Stack-Zeiger

Stack, Datenstruktur .......................... 571

Perl ....................................................... 571

Stack-Zeiger ................................... 118, 125

Stallman, Richard ............................... 297

Stammdaten ....................................... 699

Stand-alone Shell (sash) .................. 385

Standardausgabe

Java ..................................................... 503

Standardausgabe (stdout) .............. 394

Standardeingabe (stdin) .................. 394

Standardfehlerausgabe .................... 592

Standard-Fehlerausgabe

(stderr) ............................................... 394

Stapelverarbeitung ............................ 291

START TRANSACTION, SQL-Anwei-

sung ..................................................... 731

Startbit .................................................... 136

Startmenü

Windows ........................................... 338

Startvolume, Mac OS X-Einstellung

464

startx, X Window starten ............... 440

State, Entwurfsmuster .................... 689

Statement, JDBC-Klasse ................... 748

static

Java-Methoden ............................... 503

Variableneigenschaft, C ............. 480

Static RAM � SRAM

static, PHP-Schlüsselwort ............... 983

Statische Methode

PHP ..................................................... 983

Statische Variable ............................. 480

Statisches Attribut

PHP ..................................................... 983

stddef.h, C-Bibliothek ....................... 479

stderr ....................................................... 592

stderr, Standard-Fehlerausgabe ... 394

stdin, Standardeingabe ................... 394

stdio.h, C-Bibliothek ......................... 496

stdio.h, C-Header-Datei .................... 475

stdlib.h, C-Header-Datei ................... 475

stdout, Standardausgabe ................ 394

Stealth-Virus ....................................... 1108

Stellenwertsystem ......................... 36, 75

Basis ...................................................... 75

Stern-Topologie, Netzwerk ............. 193

Steueranweisung

XML ..................................................... 825

Steuerbus ................................................ 119

Wortbreite .......................................... 121

Steuerwerk ............................................. 113

der CPU ............................................... 118

Stoppbit .................................................. 136

str_replace(), PHP-Funktion ......... 990

Strategy, Entwurfsmuster .............. 689

strcat(), C-Funktion ........................... 497

strcmp(), C-Funktion ........................ 497

strcpy(), C-Funktion .......................... 497

Stream-Socket ..................................... 594

strftime(), C-Funktion ...................... 498

strict, Perl ................................................ 517

String ............................................. 475, 1143

aufteilen, Java ................................ 506

aus Array, Perl ................................. 519

aus Datei lesen, C .......................... 497

Darstellung in C ............................. 494

Darstellung, C .................................. 475

Eingabe, C ........................................ 496

einlesen, C ........................................ 476

einzelne Zeichen lesen, Java ..... 505

Funktionen in C ............................. 497

in GUI schreiben ............................. 637

in JavaScript .................................. 1048

Java ..................................................... 503

kopieren, C ....................................... 497

Länge ermitteln, Java .................. 506

null-terminierter ........................... 494

Operationen in Java ..................... 505

Position ermitteln, Java .............. 506

vergleichen, C ................................. 497

vergleichen, JavaScript ............. 1043

vergleichen, Perl ............................. 522

verketten, C ..................................... 497

verketten, Java ...................... 504, 505

verketten, JavaScript .................. 1041

verketten, Perl ................................. 523

String (Forts.)

zerlegen, Perl .................................... 519

zerlegen, PHP ................................. 969

String, Java-Datentyp ....................... 503

string.h, C-Bibliothek ........................ 497

String-Literal ....................................... 480

String-Verkettung, Perl .................... 523

strip_tags(), PHP-Funktion ............. 979

Stripe Set (RAID) .................................. 151

Stripe Set mit Parity (RAID) ............ 151

Stroustrup, Bjarne ................................. 52

struct, C .................................................. 494

Structural Pattern � Strukturmuster

Structured Query Language � SQL

Struktur

in C ...................................................... 494

Strukturierte Analyse ....................... 667

Strukturierung

Programme ..................................... 490

von Programmen ............................ 50

Strukturmuster ................................... 685

Studiengänge

Informatik ........................................... 32

Style Sheets � CSS

su, Unix-Befehl ................................... 390

sub, Perl-Subroutine .......................... 525

sub, Ruby-Methode ........................... 583

Subdomain (DNS) .............................. 262

submit_tag, Rails-Methode .......... 1028

Subnet Mask ........................................ 1143

Subnet Mask, IP-Adresse .................. 231

Subnetting ........................................... 1143

Subnetting, IP-Netze teilen ............ 232

Subroutine

Parameter ......................................... 525

Perl ....................................................... 525

Wertrückgabe ................................. 526

SubSeven, Backdoor .......................... 1112

substring(), Java-Methode ............. 506

Subtraktion, Operator ...................... 481

Such-Algorithmus ............................. 569

binäre Suche .................................... 570

lineare Suche ................................... 569

Suche

binäre ....................................... 570, 1134

lineare ........................................ 97, 1139

nach Permutationen ...................... 98

Suchmaschine

Anmeldung bei ............................... 944

HTML aufbereiten für .................. 942

robots.txt-Datei ............................. 943

1207

Page 168: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

SUM, SQL-Funktion ........................... 726

Sun Microsystems

Java .................................................... 499

Solaris, Betriebssystem ............... 293

Sun SPARC, Prozessor ....................... 124

super, Java ............................................. 510

Supernetting ....................................... 1143

Supernetting, IP-Netze zusammen-

fassen ................................................. 232

Superuser ..................................... 309, 381

SVG ......................................................... 1143

SVG (Scalable Vector Graphics) .... 822

SVG � Scalable Vector Graphics

Swap-Partition ..................................... 312

Swapping (Speicher) ......................... 120

Swing, Java ............................................. 631

Ereignisbehandlung ...................... 631

Tabellen .............................................. 631

Switch .................................................... 206

switch/case-Fallunterscheidung 487

default-Wert .................................... 488

Symbole (Ruby) ................................... 532

Symbolic Link ....................................... 317

Symbolische Konstante ....... 499, 1143

Symmetrische Verschlüsselung 1129

sys/types.h, C-Bibliothek ................ 585

Syslog ............................................. 411, 1143

Syslog, Unix ......................................... 409

System

autonomes ...................................... 1134

System V ............................................... 1143

System V Init ........................................ 413

System V IPC ....................................... 309

System V, Unix .................................... 293

System.err, Java .................................. 592

System.out, Java ................................. 503

Systemanalyse ................................... 666

Systemaufruf ........... 127, 301, 304, 1143

CreateProcess() .............................. 309

fork() ................................................... 307

kill() .................................................... 308

pause() .............................................. 308

programmieren .............................. 584

Win32 API ......................................... 305

Systemaufrufe

Unix ................................................... 304

Systembefehl

Unix .................................................... 397

Unix-Dateimanipulation ........... 397

Unix-Systemverwaltung ............ 405

Unix-Textmanipulation ............. 401

Systemkonfiguration

Mac OS X .......................................... 464

Windows ........................................... 360

Systemprogramm ............................. 303

Linux ................................................... 297

Optionen .......................................... 386

Parameter ........................................ 386

Unix ..................................................... 397

Unix-Dateimanipulation ............ 397

Unix-Systemverwaltung ............ 405

Unix-Textmanipulation ............. 401

Systemsteuerung, Windows ......... 360

Systemvariable .................................. 1143

PATH (Unix) ..................................... 387

setzen (Unix) ................................... 388

Systray

Windows ........................................... 340

T

Tabelle

erzeugen, SQL ................................. 720

HTML ................................................. 923

löschen, SQL ..................................... 721

Tabelle (iptables) ................................ 1125

Tablet-PC ................................................. 46

Tag

HTML ................................................. 901

Name, XML ....................................... 827

verschachteltes, XML ................... 826

XML ............................................ 823, 825

tail, Unix-Befehl ................................. 403

Taktfrequenz

der CPU .............................................. 122

des Mainboards .............................. 122

Multiplikator ................................... 122

praktische Bedeutung .................. 122

Tanenbaum, Andrew ...................... 300

tar, Unix-Befehl .......................... 415, 893

tar-Datei ................................................. 415

Task Scheduler ........................... 301, 1143

Taskleiste, Windows .......................... 338

Systray .............................................. 340

Tastatur ................................................. 160

Zeichensatzeinstellung ............... 878

Tastenkürzel

Windows-Eingabeaufforderung

344

TCP ................................................. 255, 1143

Drei-Wege-Handshake ................ 256

Funktionsweise ............................... 255

im Vergleich zu UDP .................... 254

Paket-Header ................................... 255

Port ..................................................... 257

Urgent Data ..................................... 258

Verbindungsaufbau ..................... 256

TCP/IP ........................................... 224, 1143

Adressierung ................................... 226

Anwendungsprotokolle .............. 265

ARP, Netzzugang ........................... 225

DHCP .................................................. 252

Dienstprogramme ........................ 369

DNS .................................................... 260

Domain Name System ............... 260

FTP, Anwendungsprotokoll ....... 267

HTTP, Anwendungsprotokoll ... 278

ICMP-Protokoll ................................ 255

IMAP, Anwendungsprotokoll ... 276

Loopback-Interface ...................... 230

Nameserver ..................................... 260

Netzzugang ..................................... 225

NNTP, Anwendungsprotokoll ... 276

POP3, Anwendungsprotokoll .... 275

Routing .............................................. 244

Routing-Protokolle ....................... 248

SMTP, Anwendungsprotokoll ... 270

Telnet, Anwendungsprotokoll

266

Transportprotokolle ..................... 254

TCP/IP-Dienstprogramm ................ 369

netstat ................................................. 371

nslookup ............................................ 371

tracert ................................................ 370

TCP/IP-Dienstprogramme

ping ..................................................... 369

TCP/IP-Schichtenmodell ................. 184

TCP-Client-Socket .............................. 597

mit IO ............................................... 600

TCP-Header ............................................ 255

TCP-Port ................................................. 257

für Sockets ........................................ 595

Well-known Port ............................ 257

TCP-Server-Socket .............................. 598

mit IO ............................................... 600

tcsh (erweiterte C-Shell) .................. 385

TDD � Test-driven Development

Technische Informatik ...................... 26

Teilerfremd ........................................... 562

1208

Page 169: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Teilmenge ............................................... 69

echte ..................................................... 70

Teilnetzmaske, IP-Adresse .............. 231

Telefongespräch

als Schichtenmodell ...................... 187

Telefonleitung

Pulswahl ............................................ 218

Telefonverbindung ............................ 174

telephoneNumber, LDAP-Attribut

806

Telnet ............................................ 266, 1143

Template Method, Entwurfsmuster

689

Terabyte ................................................... 82

Term ......................................................... 60

TERM, Signal .............................. 308, 410

Terminal ............................... 40, 291, 1143

unter grafischer Oberfläche ...... 383

virtuelles ........................................... 383

Terminator .......................................... 1143

SCSI ...................................................... 142

Terminator (UNIX-Terminalfenster)

383

Test, Software-Engineering ............. 671

Code-Review ..................................... 671

Lasttest ............................................... 671

Unit-Test ............................................ 671

Unit-Tests ......................................... 693

Test-driven Development ... 696, 1143

Test-first-Verfahren ................ 675, 696

Testgetriebene Entwicklung � Test-

driven Development

Tethering ............................................... 223

TeX, Textsatzsystem ......................... 881

Text

ausgeben (Unix) ............................ 402

Datei anzeigen, Windows-Konsole

347

Dateien vergleichen, Unix ........ 405

Dateiinhalt anzeigen (Unix) .... 402

Editoren, Unix ................................. 423

Emacs, Editor .................................. 433

Manipulationsbefehle, Unix ..... 401

vi, Editor ............................................ 424

Wörter zählen, Unix .................... 405

TEXT, SQL-Datentyp .......................... 723

text-align, CSS-Angabe ................... 950

TextArea, AWT-Klasse ...................... 642

Textdatei

anzeigen, Windows-Konsole ..... 347

Inhalt anzeigen (Unix) ............... 402

Textdateiformat

Vorteile .............................................. 821

YAML ................................................ 1018

text-decoration, CSS-Angabe ........ 950

Texteditor

Emacs ................................................. 433

für XML verwenden ....................... 822

unter Unix ......................................... 423

vi .......................................................... 424

vim ...................................................... 424

TextField, AWT-Klasse ..................... 642

text-indent, CSS-Angabe ................. 950

TFT .......................................................... 1143

TFT-Monitor ......................................... 166

Theoretische Informatik ................... 26

Thermosublimationsdrucker ........ 168

Thermotransferdrucker ................... 168

Thicknet Coaxial, Ethernet ............ 205

Thinnet Coaxial, Ethernet .............. 205

this, Java ................................................ 507

Thompson, Ken .................................. 292

Thread ................................ 300, 310, 1143

in Programmiersprachen .......... 589

Java ............................................. 512, 589

run() .................................................... 589

Runnable-Interface ...................... 589

Thread, Java-Klasse ........................... 589

throws-Klausel, Java .......................... 513

Thunderbolt ......................................... 143

TIFF, Bilddateiformat ....................... 888

time(), C-Funktion ............................. 498

TIME, SQL-Datentyp .......................... 722

time.t, C-Bibliothek ........................... 498

time_t, C-Datentyp ........................... 498

Timesharing ............................... 291, 1143

TIMESTAMP, SQL-Datentyp ........... 722

Tintenstrahldrucker .......................... 167

Bubble-Technik ............................... 168

Piezo-Technik .................................. 168

TINYBLOB, SQL-Datentyp ................ 723

TINYINT, SQL-Datentyp ................... 722

TINYTEXT, SQL-Datentyp ................ 723

Titel

HTML-Dokument .......................... 902

TLS � SSL

Token Passing, Netzzugangsverfah-

ren ....................................................... 208

Token-Passing .................................... 1143

Token-Ring-Netzwerk ............ 208, 1143

Tomlinson, Ray .................................... 177

Tonkanal, Audio .................................... 56

Tonwahlverfahren .............................. 218

Top Level Domain ............................. 1143

Länder ................................................ 262

top, CSS-Angabe .................................. 953

top, Unix-Befehl ................................. 410

Top-Level-Domain

generic ............................................... 262

Top-Level-Domain (DNS) ................ 262

Topologie (Netzwerk) ....................... 193

Torvalds, Linus ........................... 293, 296

tr///, Perl-Operator ............................ 583

tracert, TCP/IP-Dienstprogramm

370

Track-at-once ............................. 156, 1144

Transaktion (Datenbank) ................ 730

Commit .............................................. 731

in MySQL ........................................... 730

Rollback .............................................. 731

Transaktion (RDBMS) ....................... 710

in MySQL ........................................... 710

Transistor ................................... 38, 39, 87

TFT ....................................................... 166

Transistorrechner ................................ 38

Transport, OSI-Schicht ...................... 183

Treiber � Gerätetreiber

Triode ........................................................ 39

tripwire .................................................. 1123

Trojaner � Trojanisches Pferd

Trojanisches Pferd ............................. 1112

Trolltech ................................................. 442

Trommelscanner ................................ 162

Foto-Multiplier ............................... 162

true

Java .................................................... 504

TrueType ............................................... 1144

try

Java .................................................... 504

try/catch-Block

Java .................................................... 504

TTL ........................................................... 1144

TTL, IP-Datagramm ........................... 248

Turing, Alan .................................. 99, 1144

Turing-Maschine ..................... 100, 1144

Band .................................................. 100

Beispiele ............................................. 101

einfaches Beispiel ........................... 101

komplexeres Beispiel .................... 101

Schreib-Lese-Kopf ......................... 100

Zeichenvorrat ................................ 100

Zustände .......................................... 100

Turing-Test ................................... 99, 1144

1209

Page 170: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Turing-Vollständigkeit .......... 103, 1144

Tweening .............................................. 1144

Twisted-Pair-Kabel ............................ 205

Kategorien ....................................... 205

Twitter Bootstrap, CSS-Framework

959

Type Hint (PHP) .................................. 983

type, Windows-Befehl ...................... 347

Typecasting

C ........................................................... 481

Ruby ..................................................... 541

Typenraddrucker ................................ 167

TYPO3, CMS ....................................... 1030

U

Überladung .......................................... 508

Übertakten ............................................. 122

Übertrag (Logikschaltung) ................ 91

Ubuntu Linux ...................................... 378

UDDI ....................................................... 1144

UDDI, Webservices ............................ 628

UDF ................................................... 157, 159

UDP ................................................ 258, 1144

Anwendungsbeispiel .................... 258

im Vergleich zu TCP ...................... 254

Paketheader .................................... 259

Port ..................................................... 259

UDP-Header ......................................... 259

UDP-Port ............................................... 259

UID (User-ID)

von Prozessen ................................ 308

UID (User-ID, Unix) ............................ 381

uid, LDAP-Attribut ............................ 806

uidNumber, LDAP-Attribut ........... 806

Umbenennen

Datei, Mac OS X ............................. 462

Datei, Unix ....................................... 399

Umfangsmanagement ..................... 663

Umgebung

Unix .................................................... 385

Umgebungsvariable

CLASSPATH ..................................... 500

PATH (Unix) ..................................... 387

RAILS_ENV ..................................... 1018

setzen (Unix) ................................... 388

setzen unter Windows ................. 346

Umgebungsvariablen ....................... 385

Umkehrschluss ..................................... 62

UML ......................................... 95, 677, 1144

Akteur ................................................ 679

Aktivitätsdiagramm .................... 683

Anwendungsfalldiagramm ...... 679

ArgoUML, Tool ............................... 678

Diagrammtypen ............................ 677

Klassendiagramm ....................... 680

praktischer Einsatz ....................... 678

Sequenzdiagramm ....................... 682

Version 2.0 ........................................ 677

umount, Unix-Befehl ...................... 406

Umrechnung

dezimal nach dual ........................... 78

dezimal nach hexadezimal .......... 79

dual nach dezimal ........................... 78

dual nach hexadezimal ................ 80

dual nach oktal ................................. 79

hexadezimal nach dezimal .......... 79

hexadezimal nach dual ................ 80

oktal nach dual ................................. 79

Zahlensysteme .................................. 78

UMTS ....................................................... 222

unalias, Unix-Befehl .......................... 422

Unbedingter Sprung ......................... 125

Undefiniertheitsstelle (Funktion) 96

Und-Schaltung � AND-Schaltung

Und-Verknüpfung � AND-Verknüp-

fung

Ungleichheit ........................................... 67

Ungleichheit, Operator ................... 483

Ungleichung .......................................... 60

Lösung .................................................. 61

Unicode ....................................... 876, 1144

BMP-Teilmenge .............................. 877

Tabelle wichtiger Teilzeichensätze

877

Unterstützung durch Software 878

UTF-8-Codierung ............................ 877

Unicode, Zeichensatz .......................... 57

Unified Modeling Language � UML

Unified Process .................................... 673

Aktivitäten ........................................ 673

Anwendungsfall ............................. 673

Artefakt ............................................. 674

Phasen ............................................... 674

Rollen .................................................. 673

Vorgehen .......................................... 674

UNIQUE, SQL-Schlüsselwort .......... 724

Unit-Test ................................................ 671

Mock-Objekt .................................. 1012

PHP .................................................. 1009

Unit-Tests .............................................. 693

grüner Balken ................................. 695

JUnit-Framework ........................... 693

Motivation ....................................... 693

roter Balken ..................................... 695

Universal Disk Format � UDF

University of California,

Berkeley .......................... 293, 424, 593

Unix .................................................. 50, 292

$0, Systemvariable ....................... 384

.bashrc, Konfigurationsdatei .... 385

/etc/passwd-Datei ......................... 381

/etc/profile, Konfigurationsdatei

385

/etc/shadow, Datei ....................... 383

alias-Befehl ....................................... 421

als Server einrichten ..................... 447

Arbeitsverzeichnis anzeigen .... 400

auf NFS-Freigabe zugreifen ...... 449

auf Windows-Server zugreifen 451

bash .................................................... 385

Befehle regelmäßig ausführen 422

Benutzerrechte ................................ 317

Berkeley System Distribution (BSD)

293

Bourne-Shell .................................... 384

BSD ...................................................... 293

BSD-Startstkript ............................. 414

bunzip2-Befehl ................................ 895

bzip2-Befehl ..................................... 895

bzip2-Komprimierung .................. 415

cat-Befehl ......................................... 402

cd-Befehl .......................................... 400

chgrp-Befehl .................................... 401

Child-Prozess .................................. 308

chmod-Befehl ................................. 400

chown-Befehl .................................. 401

cp-Befehl ........................................... 398

Cronjob .............................................. 422

C-Shell ................................................ 385

CUPS, Drucksystem ..................... 449

Daemon ........................................... 409

Darwin ............................................... 293

date-Befehl ...................................... 407

Datei kopieren ................................ 398

Datei löschen .................................. 399

Datei umbenennen ....................... 399

Datei verschieben .......................... 399

Dateibefehle .................................... 397

Dateibesitzer wechseln ............... 401

Dateiendung ................................... 398

1210

Page 171: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Unix (Forts.)

Dateigruppe wechseln ................. 401

Dateiname ............................... 316, 397

Dateinamen-Platzhalter ............ 398

Dateisysteme ................................... 314

Datum und Uhrzeit ändern ...... 407

Datum und Uhrzeit formatieren

407

diff-Befehl ........................................ 405

du-Befehl .......................................... 406

echo-Befehl ..................................... 402

Emacs, Texteditor ......................... 433

Escape-Sequenz ............................. 404

exit-Befehl ....................................... 390

fg-Befehl ............................................ 386

finger, Dienstprogramm ............ 382

fork(), Systemaufruf ..................... 307

fsck-Befehl ....................................... 406

Gerätedatei ............................... 314, 315

GNOME .......................... 306, 440, 443

grafische Benutzeroberfläche 439

grep-Befehl ...................................... 403

groupadd-Befehl ........................... 409

Group-ID .................................. 308, 381

gunzip-Befehl .................................. 895

gzip-Befehl ....................................... 895

gzip-Komprimierung .................... 415

Hard Link ........................................... 317

head-Befehl ..................................... 402

HIER-Dokument ............................. 395

Home-Verzeichnis .......................... 315

HP UX ................................................. 293

IBM AIX ............................................. 293

ifconfig-Befehl ................................ 445

init-Prozess ...................................... 307

inode .................................................... 316

Installation von Software ........... 415

IP-Adresse zuweisen ..................... 446

KDE .................................. 306, 440, 441

kill(), Systemaufruf ...................... 308

kill-Befehl .......................................... 410

Korn Shell ......................................... 385

less-Befehl ........................................ 403

Link (Dateisystem) ......................... 317

Linux ......................................... 293, 296

logger-Befehl .................................... 412

Login ................................................... 379

ls-Befehl ............................................. 399

Mac OS X ................................. 293, 456

mail-Befehl ....................................... 423

make-Befehl ...................................... 415

Unix (Forts.)

man-Befehl ...................................... 305

Minix .................................................. 296

mkdir-Befehl .................................. 400

mkfs-Befehl ...................................... 407

Modularität .................................... 292

more-Befehl ..................................... 403

mount-Befehl .................................. 405

mv-Befehl ......................................... 399

MySQL-Installation ........................ 715

Netzwerkkonfiguration ............... 445

Neustart .............................................. 411

NFS ...................................................... 448

Pager .................................................. 403

Parent-Prozess ............................... 308

passwd-Befehl ............................... 409

Passwort ändern .......................... 409

patch-Befehl .................................... 405

PATH, Umgebungsvariable ....... 387

pause(), Systemaufruf ................. 308

Pfadangabe ...................................... 315

Pipe ...................................................... 395

POSIX-Standard ............................ 293

Programm automatisch starten

413

Prozessmodell ................................ 307

Prozessverwaltung ...................... 409

ps-Befehl ................................. 309, 409

pstree-Befehl .................................. 409

pwd-Befehl ...................................... 400

regulären Ausdruck suchen ...... 403

rm-Befehl .......................................... 399

rmdir-Befehl ................................... 400

root, Benutzer ........................ 309, 381

route-Befehl .................................... 446

Runlevel ............................................. 413

Samba-Server ................................. 450

Shell ........................................... 305, 379

Shell-Ausgabeumleitung ........... 394

Shell-Eingabeumleitung ............. 394

Shell-Eingabevervollständi-

gung .............................................. 388

Shell-History ................................... 389

Shell-Skript ....................................... 417

shutdown-Befehl ............................. 411

Software installieren .................... 415

Stand-alone Shell ........................... 385

Standardrouter einrichten ........ 446

startx-Befehl ................................... 440

su-Befehl ........................................... 390

Sun Solaris ....................................... 293

Unix (Forts.)

Swap-Partition ................................ 312

Symbolic Link ................................... 317

Syslog ........................................ 409, 411

System herunterfahren ................ 411

System V ........................................... 293

Systemaufruf .................................. 304

Systemprogramme ....................... 397

tail-Befehl ........................................ 403

tar-Befehl ................................. 415, 893

tar-Datei ............................................ 415

Textbefehle ...................................... 401

Textdatei anzeigen ...................... 402

Textdateien vergleichen ............ 405

Texteditoren .................................... 423

top-Befehl ......................................... 410

Umgebung ....................................... 385

Umgebungsvariable setzen ....... 388

umount-Befehl .............................. 406

unalias-Befehl ................................. 422

unzip-Befehl ................................... 896

useradd-Befehl .............................. 408

userdel-Befehl ................................ 409

User-ID ...................................... 308, 381

Verwaltungsbefehle .................... 405

Verzeichnis anlegen .................... 400

Verzeichnis löschen ..................... 400

Verzeichnis wechseln .................. 400

Verzeichnisbaum ............................ 315

Verzeichnisbefehle ........................ 397

Verzeichnisinhalt anzeigen ....... 399

vi, Editor ............................................ 424

virtuelles Terminal ........................ 383

wc-Befehl ......................................... 405

Window-Manager ........................ 306

Wörter zählen ................................ 405

X Window ............................... 306, 439

zip-Befehl ......................................... 896

Zugriffsrechte ................................... 317

Unix System V Init ............................. 413

Unix-Benutzerkonto

in LDAP abbilden .......................... 805

unless, Perl-Fallunterscheidung 524

unset(), PHP-Funktion ..................... 977

unshift, Perl-Anweisung .................. 518

unsigned, C-Datentyp ...................... 479

UNSIGNED, SQL-Feldoption .......... 724

Unterprogramm

Aufruf durch CPU ........................... 125

unzip, Unix-Befehl ............................ 896

update(), AWT-Methode .................. 641

1211

Page 172: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

UPDATE, SQL-Abfrage ...................... 729

Urgent Data (TCP) .............................. 258

URL ................................................. 279, 1144

Schema ............................................... 281

USB ................................................. 143, 1144

USB-Stick ................................................ 153

Use Case � Anwendungsfall

use, Perl-Direktive .............................. 517

Usenet ........................................... 276, 1144

User Level Security, Samba ............. 451

User Level Security, Windows-Freiga-

beart ................................................... 373

useradd, Unix-Befehl ....................... 408

userdel, Unix-Befehl ........................ 409

User-ID

von Prozessen ................................ 308

User-ID (Unix) ...................................... 381

userPasssword, LDAP-Attribut .... 806

Users, Mac OS X-Verzeichnis .......... 315

usr, Unix-Verzeichnis ........................ 315

UTF-8 ...................................................... 1144

UTF-8, Unicode-Codierung ............. 877

V

V.24-Schnittstelle ............................... 144

var, Unix-Verzeichnis ........................ 315

VARCHAR, SQL-Datentyp ............... 723

Variable

Array, Perl .......................................... 518

automatische (lokale) ................. 479

Datentypen, C ................................. 479

Deklaration, C ................ 475, 477, 478

Deklaration, Java .......................... 505

deklarieren, Perl .............................. 517

Existenz testen, Perl ...................... 524

globale .............................................. 480

Gültigkeitsbereich, C .................... 479

Hash, Perl .......................................... 518

in C ...................................................... 478

in der PowerShell ........................... 352

in Programmiersprachen ............. 69

in Shell-Skripten ............................. 419

lokale .................................................. 479

mathematische ................................. 61

Perl ....................................................... 517

PHP ..................................................... 965

Schleifenzähler .............................. 489

Skalar, Perl ............................... 516, 518

Variable (Forts.)

statische ........................................... 480

Substitution, Perl ........................... 516

Substitution, Shell-Skript ............ 419

Typecasting ...................................... 481

Variablen

Ruby .................................................... 532

Variablensubstitution

in Perl-HIER-Dokumenten .......... 523

in Shell-Skripten ............................. 419

Perl ....................................................... 516

VAX, Minicomputer-Serie von DEC

41

Vektorgrafik ............................................ 55

Vektorrechnung .................................... 95

Vereinigungsmenge ............................ 72

Vererbung ............................. 52, 509, 1145

Interface, Java .................................. 511

PHP ..................................................... 984

Ruby .................................................... 556

Vergleichsoperation ............................ 67

beim virtuellen Prozessor .......... 106

Umkehrung ........................................ 67

Vergleichsoperator ........................... 482

Vergleichsoperatoren

SQL ....................................................... 726

Verhaltensmuster ............................. 685

Verknüpfung

logische ................................................ 61

Verschieben

Datei, Mac OS X ............................. 462

Datei, Unix ....................................... 399

Datei, unter Windows .................. 341

Verschlüsselung ................................ 1128

asymmetrische ............................. 1129

Einweg- ............................................ 1129

symmetrische ................................ 1129

Verteilte Anwendung ............. 199, 620

Aufgaben .......................................... 620

Backend ............................................. 199

Frameworks im Vergleich ........... 621

Frontend ............................................ 199

Java EE-Plattform .......................... 621

vertical-align, CSS .............................. 950

Verzeichnis

anlegen, Unix ................................ 400

anlegen, Windows ......................... 347

Arbeitsverzeichnis anzeigen, Unix

400

Inhalt anzeigen, Unix .................. 399

Verzeichnis (Forts.)

löschen, Unix .................................. 400

löschen, Windows .......................... 347

verarbeiten, Perl ............................. 527

wechseln, Unix .............................. 400

wechseln, Windows ...................... 346

Verzeichnisdienst ............................. 1145

Active Directory ............................. 374

LDAP .................................................. 804

vi, Texteditor ....................................... 424

Befehlsmodus ................................. 424

Dateibefehle .................................... 427

Editiermodus ................................... 424

Navigation ....................................... 425

Suchfunktionen .............................. 425

Text kopieren .................................. 426

Text löschen .................................... 426

Video

Dateiformate .................................. 892

Video-Dateiformat ............................ 892

AVI ....................................................... 892

MPEG .................................................. 892

QuickTime ........................................ 892

Video-DVD

auf dem PC abspielen ................... 158

Region-Code ..................................... 158

View

Ruby on Rails ................................ 1023

Vim, Texteditor ................................... 424

Virtual Box ............................................ 322

Virtual PC .............................................. 322

Virtual Private Network � VPN

VirtualHost, Apache-Direktive ..... 783

Virtualisierung .................................... 320

Microsoft Virtual PC .................... 322

Parallels Desktop ........................... 322

Virtual Box ....................................... 322

VMware .............................................. 321

VMware Workstation .................. 322

Xen ....................................................... 321

Virtuelle Maschine

Java .................................................... 499

Virtueller Host (Apache) 780, 784, 785

Virtueller Prozessor .......................... 103

Arbeitsspeicher ............................... 104

Aufbau ............................................... 104

Befehle ............................................... 105

Beispielprogramme ...................... 108

Flag ..................................................... 106

Rechenbefehl ................................... 105

1212

Page 173: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Virtueller Prozessor (Forts.)

Register .............................................. 104

Sprungbefehl ................................... 107

Stack ................................................... 108

Vergleichsoperation ..................... 106

Virtueller Speicher ..................... 120, 311

Virus ............................................... 48, 1106

Antivirenprogramm ................... 1109

Aufbau .............................................. 1107

Bootsektor ....................................... 1107

Dateivirus ....................................... 1108

Makrovirus .................................... 1108

polymorpher ................................. 1108

Schutzmaßnahmen .................... 1109

Stealth- ............................................ 1108

Visitor, Entwurfsmuster ................. 689

Vista � Windows Vista

Vlissides, John ..................................... 684

VLSM ...................................................... 1145

VLSM, variables IP-Teilnetz ............ 236

VMS, Betriebssystem ........................ 296

VMware ................................................... 321

VMware Workstation ....................... 322

void, Datentyp

Zeiger auf ........................................... 572

void, Funktionsdatentyp, C .......... 490

Volladdierer (Schaltung) .................... 91

Volltextdatenbank ............................ 701

von Neumann, John ..................... 38, 113

Von-Neumann-Rechner 103, 113, 1145

VPN ........................................................ 1130

W

-w, Perl-Modifikator ........................... 515

W3C, DOM ............................................ 866

Wahre Aussage ..................................... 60

Wahrheitswertetabelle ...................... 64

NAND-Verknüpfung ....................... 88

XOR-Verknüpfung .......................... 66

Wall, Larry .............................................. 514

WAMP-System ................................... 964

WAN ............................................... 191, 1145

technische Lösungen ................... 192

Warnock, John ....................................... 42

Warnung

in Perl aktivieren ............................ 515

Wasserfallmodell ............................... 661

WAV, Audio-Dateiformat ............... 891

Wavetable-Synthese (MIDI) ........... 170

wc, Unix-Befehl .................................. 405

wchar_t, C-Datentyp ........................ 479

Wearable Computer ........................... 46

Web 2.0 ................................................ 1037

Web Fonts (CSS3) .............................. 960

Webanwendung

Ajax ................................................... 1081

CGI .................................................... 1029

Grundprinzip .................................. 963

Sicherheitsprobleme .................... 1121

Webbrowser

KDE Konqueror ............................... 441

Weblog .................................................. 1031

Blogging-Communitys .............. 1031

Software für .................................. 1032

WebLogic, Java Application

Server .................................................. 621

Web-safe Colors .................................. 948

Webseiten, CSS-Layout für .............. 955

Webserver .............................................. 198

Mongrel .......................................... 1029

Programmierung .......................... 963

Webserver (Apache) ........................... 765

Webservice ........................................... 1145

Webservices ......................................... 628

Beschreibungsdatei ...................... 628

Client .................................................. 629

Definition ......................................... 628

registrieren ...................................... 628

SOAP .................................................. 628

Sprachen ........................................... 629

UDDI .................................................. 628

WSDL .................................................. 628

Websichere Farben ........................... 948

Website

robots.txt-Datei ............................. 943

Wechseldatenträger .......................... 153

CD-ROM ............................................. 154

Diskettenlaufwerk ......................... 153

DVD ...................................................... 157

Jaz-Laufwerk .................................... 153

LS-120 .................................................. 153

ZIP-Laufwerk ................................... 153

Weizenbaum, Joseph .......................... 99

Well-known Port ................................. 257

Well-known Ports

Tabelle einiger wichtiger ........... 260

WEP (Wired Equivalent Privacy) ... 213

Wertdiskret ............................................. 56

Wertetabelle

NOR-Verknüpfung ........................... 88

Wertrückgabe

Perl-Subroutine .............................. 526

Wertzuweisung

C ........................................................... 477

Operator ........................................... 483

What You See Is What You Get �

WYSIWYG

WHERE-Klausel, SQL .......................... 725

while()-Schleife ................................... 488

while, Ruby-Anweisung ................... 543

while-Befehl

in Shell-Skripten ............................. 419

White Book .......................................... 1145

White Book (Video-CD) ..................... 155

Whitespace

in C-Programmen .......................... 478

in RegExp .......................................... 579

Wide Area Network ............................ 191

Widerspruch, logischer ...................... 96

Widget .................................................... 631

WiFi Protected Access ....................... 214

WiFi � Wireless LAN

Wiki ........................................................ 1032

Wikipedia ............................................ 1032

Wildcard

in Unix-Dateinamen .................... 398

Windows-Dateiname ................... 345

Win32 ..................................................... 1145

Umgang mit 16-Bit-Anwendungen

330

Win32 API .................................... 305, 1145

WindowListener, AWT-Klasse ....... 645

Window-Manager ............................. 440

CDE ..................................................... 440

fvwm2 ............................................... 440

Windows ....................................... 295, 327

16-Bit-Versionen ............................. 327

2000 .......................................... 296, 328

2000 Server ..................................... 328

7 ............................................................ 296

95 ................................................ 296, 328

98 ................................................ 296, 328

Active Directory ............................. 374

als Server einrichten ..................... 372

Anzeige-Konfiguration ............... 361

Apache-Installation ...................... 772

attrib-Befehl .................................... 347

auf Netzwerkrechner zugreifen 373

Ausgabeumleitung ....................... 345

Batch-Datei ...................................... 347

Benutzeran- und -abmeldung 340

1213

Page 174: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

Windows (Forts.)

Benutzerverwaltung ..................... 361

cd-Befehl ........................................... 346

copy-Befehl ...................................... 347

CreateProcess(), Systemaufruf 309

CygWin .............................................. 473

Datei kopieren ................................. 341

Datei löschen, Konsole ................ 347

Datei umbenennen ....................... 347

Datei verschieben .................. 341, 347

Dateiattribut .................................... 319

Dateiattribute ändern ................. 347

Dateiname ........................................ 319

Dateinamen-Platzhalter ............ 345

Dateisysteme .......................... 318, 333

Datenträgerverwaltung ............. 364

del-Befehl .......................................... 347

Desktopkonfiguration .................. 361

Dienst ................................................. 364

dir-Befehl .......................................... 346

Drucker freigeben .......................... 373

durch Unix-Server bedienen .... 450

Eingabeaufforderung .................. 346

Eingabeumleitung ........................ 345

Entwicklung ..................................... 327

Ereignisanzeige .............................. 364

Explorer .............................................. 341

Fenster ............................................... 337

Freigabeart ...................................... 373

Gruppenrichtlinienobjekt .......... 364

Hardwarekonfiguration ..... 361, 363

help-Befehl ....................................... 305

herunterfahren .............................. 340

Home-Verzeichnis .......................... 319

IP-Adresse zuweisen ..................... 368

Konsole .............................................. 344

Konsole starten .............................. 346

Konsolenbefehl .............................. 346

Laufwerksbuchstaben .................. 318

MDI-Anwendung ........................... 338

Me ............................................... 296, 328

Microsoft Management Console

(MMC) ........................................... 364

mkdir-Befehl .................................... 347

MMC (Microsoft Management

Console) ........................................ 364

move-Befehl ..................................... 347

MySQL-Installation ....................... 716

Netzwerkdrucker nutzen ............ 373

Netzwerkkonfiguration .............. 367

Netzwerktreiber ............................. 367

Windows (Forts.)

Netzwerkverbindung ein-

richten ........................................... 367

neu starten ...................................... 340

NT ................................................ 295, 328

NT Server ........................................... 328

NT-Familie ........................................ 328

Oberfläche ........................................ 335

Ordner freigeben ............................ 372

Ordneransicht ................................. 342

path, Umgebungsvariable ........ 346

Pfadangabe ...................................... 318

Pipe ...................................................... 345

Prompt .............................................. 346

Prozessmodell ................................ 309

regedit, Dienstprogramm ........... 365

Registry .............................................. 365

rename-Befehl ................................. 347

rmdir-Befehl ..................................... 347

SDI-Anwendung ............................. 337

Server 2003 ...................................... 328

Server 2008 ...................................... 328

Serverpakete .................................... 375

Serversystem .................................... 373

Serverversionen .............................. 328

Share Level Security ...................... 373

Software installieren .................... 361

Startmenü ......................................... 338

Systemkonfiguration .................. 360

Systemsteuerung .......................... 360

Systray .............................................. 340

Taskleiste .......................................... 338

Textdatei anzeigen, Konsole ..... 347

type-Befehl ........................................ 347

Umgebungsvariable setzen ...... 346

User Level Security ........................ 373

Versionsübersicht .......................... 328

Verzeichnis anlegen ...................... 347

Verzeichnis löschen ....................... 347

Verzeichnis wechseln .................. 346

Verzeichnisinhalt, Konsole ....... 346

Vista ................................................... 296

Win32 API ......................................... 305

XP ........................................................ 296

Windows 2000 .......................... 296, 328

Server .................................................. 328

Shell .................................................... 344

Windows 2000 Server ...................... 374

Windows 7 ................................... 296, 328

Windows 8 .......................... 296, 328, 332

Versionen .......................................... 332

Windows 8 (Core) ............................... 332

Windows 8 Enterprise ...................... 333

Windows 8 Pro .................................... 333

Windows 8.1 ................................. 296, 332

Windows 95 ................................. 296, 328

Oberfläche ........................................ 335

Windows 98 ................................. 296, 328

Oberfläche ........................................ 335

Windows Me ............................... 296, 328

Windows NT ................................ 295, 328

Server ................................................. 328

Shell .................................................... 344

Windows Phone .................................... 46

Windows PowerShell � PowerShell

Windows RT ......................................... 333

Windows Server 2003 ...................... 328

Windows Server 2008 ...................... 328

Windows Server 2012 ........................ 374

als DHCP-Server ............................. 374

als DNS-Server ................................ 374

als Webserver .................................. 374

Server-Rollen ................................... 374

Varianten .......................................... 375

Windows Vista ........................... 296, 328

Windows XP ................................ 296, 328

Oberfläche ........................................ 335

Shell .................................................... 344

Windows-Eingabeaufforderung 344

Eingabevervollständigung ........ 344

History ............................................... 344

QuickEdit-Modus ........................... 345

Tastenkürzel .................................... 344

WinGate, Backdoor ............................ 1112

Winkelgeschwindigkeit, kon-

stante .................................................. 152

WinTel-PC ................................................ 43

Wired Equivalent Privacy ................ 213

Wireless LAN .............................. 209, 210

Access Point ...................................... 212

Basic Service Set (BSS) ................... 212

CSMA/CA-Verfahren ..................... 212

Extended Servive Set (ESS) .......... 213

Frequency Hopping ....................... 211

Frequenzbereiche ........................... 211

Hardware .......................................... 212

Sicherheit ........................................... 213

Übertragungstechnik .................... 211

WiFi Protected Access (WPA) ..... 214

Wired Equivalent Privacy ............ 213

Wirth, Niklaus ........................................ 50

Wirtschaftsinformatik ........................ 33

1214

Page 175: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

WLAN � Wireless LAN

Wohlgeformtheit .............................. 1145

Wohlgeformtheit, XML-Doku-

ment ................................................... 832

Word, 16 Bit .............................................. 81

WordPress, Blog-Tool ..................... 1032

World Wide Web ................................. 278

Geschichte ......................................... 178

HTTP-Protokoll .............................. 278

Komponenten .................................. 179

URL ...................................................... 279

Worst Case (Komplexität) ................ 97

Wortbreite ............................... 41, 81, 1145

der CPU .............................................. 120

verschiedener CPUs ....................... 121

Wörter zählen (Textdateien,

Unix) ................................................. 405

Wozniak, Steve ............................. 42, 294

WPA .......................................................... 214

Write-Host, PowerShell-Cmdlet ... 352

WSDL ...................................................... 1145

WSDL, Webservices ........................... 628

Wurm .................................................... 1108

Schutzmaßnahmen .................... 1109

WYSIWYG ...................................... 42, 1145

X

X Window .......................... 306, 439, 1145

Konfiguration ................................. 439

SaX, openSUSE-X-Konfigurations-

programm .................................. 440

starten .............................................. 440

Xconfigurator, Fedora-Konfigurati-

onsprogramm ........................... 440

X11R7 ........................................................ 439

x86-Assembler, Beispiele ................ 126

Xalan, XSLT-Prozessor ....................... 851

XAMPP .................................................... 753

Xconfigurator (X-Server-Konfigurati-

onsprogramm) .............................. 440

Xen ............................................................ 321

Xerces, XML-Parser ............................ 856

XEROX PARC ........................................ 295

Xerox PARC ............................................ 42

XFree86 .................................................. 439

XHTML ........................................ 900, 1145

Besonderheiten ............................. 903

XML ................................................ 821, 1145

Ajax-Datenaustausch durch 1088,

1090, 1092

Attribut .................................... 823, 828

Attribut, falsche Verwendung 828

Attribut, Verwendung ................. 828

Attributdeklaration (DTD) ......... 841

Beispieldokument ................. 824, 857

CDATA-Block .................................. 830

CSS verwenden ............................... 850

Dateiendung .................................... 823

Datenbank ........................................ 701

DocBook ............................................ 822

DOCTYPE-Angabe ......................... 834

Dokument parsen, SAX .............. 858

Dokumenteingabe ......................... 822

Dokumentfragment ..................... 833

Dokumentstruktur ........................ 823

DTD .................................................... 834

DTD definieren ................................ 835

DTD, Attribut deklarieren ........... 841

DTD, Element deklarieren .......... 837

DTD, Entity deklarieren .............. 845

Editor .................................................. 822

EJB-Deployment-Deskriptor ...... 625

Element (Tag) .................................. 825

Elementdeklaration (DTD) ......... 837

Entity deklarieren (DTD) ............ 845

Entity-Referenz ..................... 829, 845

Entity-Referenz, numerische .... 829

Entity-Referenzen vermeiden 830

Hierarchie ........................................ 826

in Datenbank schreiben, Beispiel-

programm .................................. 865

Kommentar ...................................... 831

leeres Tag .......................................... 827

leeres Tag, Kurzfassung .............. 827

mehrere Namensräume ............. 846

MIME-Type ....................................... 823

Namensraum ................................. 846

Namensräume, mehrere im Doku-

ment .............................................. 846

Parser ................................................. 856

Parser, Xerces ................................. 856

PCDATA ............................................ 830

Processing Instruction (PI) ......... 825

Programmierung .......................... 856

Programmierung, SAX ................ 858

PUBLIC-ID ........................................ 834

SAX ..................................................... 858

Schema .............................................. 847

XML (Forts.)

Schema-Beispiel ............................. 847

SGML-Erbe ......................................... 821

Sonderzeichen ................................ 829

spezielle Editoren .......................... 822

Standalone-Dokument ............... 825

Standard-Namensraum ............ 846

Steueranweisung ........................... 825

SVG ...................................................... 822

SYSTEM-ID ........................................ 834

Tag ...................................................... 823

Tag-Name ......................................... 827

Tag-Verschachtelung ................... 826

Universalität ................................... 822

verschachteltes Tag ............. 826, 833

Verschachtelungsfehler .............. 833

Webservices ..................................... 628

wichtige Dokumentformate ..... 822

Wohlgeformtheit ........................... 832

Wurzelelement ............................... 832

Xerces, Parser .................................. 856

XHTML ............................................... 822

xmlns-Angabe ................................ 847

xml-Steueranweisung ................. 825

XPath ................................................ 1146

XSL ...................................................... 850

XSL-FO .............................................. 850

XSLT ................................................... 850

Zeichensatz ...................................... 825

XML Schema .............................. 847, 1146

Attribut deklarieren ..................... 848

Element deklarieren ..................... 848

verschachteltes Element ............. 848

XML-Datenbank ................................. 701

XML-Editor ........................................... 822

XMLHttpRequest ............................. 1082

XMLReader, Java-Interface ............. 858

XOR-Schaltung ...................................... 89

XOR-Verknüpfung ............................... 66

XP � Extreme Programming

XPath ...................................................... 1146

Überblick ........................................... 855

X-Server ....................................... 306, 439

Konfiguration ................................. 439

über das Netzwerk betreiben .... 267

XSL .......................................................... 850

XSL Formatting Objects � XSL-FO

XSL-FO ......................................... 850, 1146

XSLT .............................................. 850, 1146

div, Operator ................................... 856

Funktion ............................................ 856

1215

Page 176: IT-Handbuch für Fachinformatiker - Cloud Object … · IT-Handbuch für Fachinformatiker. Auf einen Blick Auf einen Blick 1 Einführung

Index

XSLT (Forts.)

position(), Funktion ...................... 856

Prozessor ......................................... 850

round(), Funktion .......................... 856

text(), Funktion ............................... 856

wichtige Elemente ......................... 853

Wurzelelement ............................... 853

Xalan, Prozessor ............................. 851

XPath-Ausdruck ............................. 855

xsl:attribute, Tag ........................... 854

xsl:choose, Tag ............................... 855

xsl:copy-of, Tag .............................. 854

xsl:for-each, Tag ............................ 854

xsl:if, Tag .......................................... 854

xsl:otherwise, Tag ......................... 855

xsl:stylesheet, Tag ......................... 853

xsl:template, Tag ........................... 853

xsl:value-of, Tag ............................ 854

xsl:variable, Tag ............................ 855

xsl:when, Tag .................................. 855

XSLT-Prozessor .................................. 850

XSS � Cross-Site-Scripting

Y

YAML, CSS-Framework .................... 959

YAML, Dateiformat .......................... 1018

YEAR, SQL-Datentyp ......................... 722

Yellow Book (CD-ROM) ..................... 155

yield, Ruby-Schlüsselwort ............... 557

Z

Z3, erster funktionierender

Computer .......................................... 37

Z80, Prozessor ...................................... 121

Zahl

Festkomma- ....................................... 84

Fließkomma- ..................................... 84

ganze .................................................... 70

Zahl (Forts.)

imaginäre ............................................ 71

komplexe ............................................. 71

natürliche ........................................... 70

rationale .............................................. 71

reelle ...................................................... 71

römische .............................................. 75

Zahlenmengen

ganze Zahlen ..................................... 70

imaginäre Zahlen ............................. 71

komplexe Zahlen ............................... 71

natürliche Zahlen ........................... 70

rationale Zahlen ................................ 71

reelle Zahlen ........................................ 71

Zahlensysteme ...................................... 75

Dezimalsystem ................................. 75

Dualsystem ........................................ 76

Hexadezimalsystem ....................... 77

Oktalsystem ....................................... 76

römische Zahlen ............................... 75

Schreibweise ..................................... 80

Umrechnung ...................................... 78

Zeichen

alternatives in RegExp ................. 578

aus String lesen, Java .................. 505

ausschließen in RegExp ............... 578

beliebig viele, in RegExp .............. 578

Darstellung, C ................................. 479

eines oder mehr, in RegExp ........ 578

Eingabe, C ........................................ 496

genaue Anzahl, in RegExp .......... 579

Gruppe in RegExp .......................... 578

optionales, in RegExp ................... 578

Wortbestandteil in RegExp ........ 579

Zeichengerät (Char Device) ........... 302

Zeichenkette � String

Zeichen-Literal .................................... 480

Zeichensatz .................................... 57, 873

ANSI ..................................................... 875

ASCII ...................................................... 57

Codepage .......................................... 875

Eingabe chinesischer Zeichen 880

Zeichensatz (Forts.)

in HTML angeben ........................ 904

Unicode ....................................... 57, 876

XML ..................................................... 825

Zeichenvorrat

der Turing-Maschine ................... 100

Zeiger ............................................ 491, 1146

auf beliebigen Datentyp ............. 572

auf nichts (NULL) .......................... 498

fehlender in Java ........................... 506

für Call by Reference .................... 492

Zeilenfrequenz (Monitor) ............... 165

Zeilenumbruch

auf verschiedenen Plattfor-

men ................................................ 870

HTML ................................................ 904

konvertieren ..................................... 871

Perl-Programme ............................. 872

Zeilenumbruche

entfernen, Perl ................................. 516

Zeitdiskret ............................................... 56

Zeitmanagement ................................ 663

Netzplan ........................................... 664

Zentraleinheit ....................................... 116

alte Bedeutung ................................ 117

ZEROFILL, SQL-Feldoption .............. 724

Ziffer

in RegExp .......................................... 579

z-index, CSS-Angabe ......................... 953

zip, Unix-Befehl ................................. 896

ZIP-Datei ................................................ 893

ZIP-Laufwerk ......................................... 153

Zugriffsrechte ....................................... 317

ändern, Unix .................................. 400

Zuordnungseinheit (Datei-

system) ............................................... 313

Zuse, Konrad ........................................... 37

Zustand

der Turing-Maschine ................... 100

Zweierkomplement ............................ 83

ZX Spectrum ........................................ 294

ZX81 .................................................. 43, 294

1216