Author: Jürgen Wolf (Autor) Title: Linux-UNIX-Programmierung: Das umfassende Handbuch mit CD-ROM
Description: , Galileo Computing, Auflage: 3. 1247, 21 x 7,4 x 24,7 cm, Hardcover. Zustand: 2. Dieses Buch bietet einen umfassenden Einblick in die Systemprogrammierung unter Linux und Unix. Es ist für Leser mit Betriebssystem-Kenntnissen und C-Wissen geeignet. Neu in der 3. Auflage: ein Kapitel zur Shell-Programmierung und eine Kommandoreferenz. Aus dem Inhalt: * Umfassende Einführung * E/A-Funktionen * Attribute von Dateien und Verzeichnissen * Zugriff auf Systeminformationen* Prozesse und Dämonprozesse * Umgebungsvariablen eines Prozesses * Signale, Interprozesskommunikation, Threads Netzwerkprogrammierung, MySQL * Terminal E/A und Benutzerschnittstellen für die Konsole * Sicherheit * Systeminformationen * Devices * GTK+ Jürgen Wolf ist Softwareentwickler, Digitalfotograf und Autor aus Leidenschaft. C/C++, Perl, Linux und die Bildbearbeitung mit Photoshop Elements und GIMP sind seine Themen. Vorwort des Autors 23 Vorwort 2. Auflage 23 Vorwort 3. Auflage 24 Danksagung 24 Vorwort der Fachgutachter 27 1 Einführung 29 1.1 Anforderung an den Leser 29 1.2 Anforderung an das Betriebssystem 30 1.3 Von UNIX 30 1.4 zu Linux 32 1.5 Der Compiler GCC - eine kurze Einführung 33 1.6 POSIX, X/OPEN und ANSI C 37 1.7 Übersicht zum Buch 39 1.8 Schreibkonventionen 41 1.9 Notationsstil 42 1.10 Weitere Hilfen 42 2 E/A-Funktionen 43 2.1 Elementare E/A-Funktionen 43 2.2 Filedeskriptor 44 2.3 Funktionen, die den Filedeskriptor verwenden 46 2.4 Standard-E/A-Funktionen 84 2.5 Mit Verzeichnissen arbeiten 94 2.6 Fehlerbehandlung 112 2.7 Ausblick 114 3 Attribute von Dateien und Verzeichnissen 115 3.1 Struktur stat 115 4 Zugriff auf Systeminformationen 129 4.1 Informationen aus dem /proc-Verzeichnis herausziehen 129 4.2 Hardware-/Systeminformationen ermitteln 131 4.3 Prozessinformationen 135 4.4 Kernel-Informationen 139 4.5 Filesysteme 146 4.6 Weiterführendes 146 5 Devices - eine einfache Verbindung zur Hardware 149 5.1 Die Gerätedateitypen 149 5.2 Die Gerätedateinummern 150 5.3 Zugriff auf die Gerätedateien 151 5.4 Gerätenamen 152 5.5 Spezielle Gerätedateien 153 5.6 Gerätedateien in der Praxis einsetzen 154 6 System- und Benutzerdateien 169 6.1 Die Datei /etc/passwd 169 6.2 Die Datei /etc/shadow 174 6.3 Die Datei /etc/group 179 6.4 uname - Informationen zum lokalen System erfragen 183 6.5 Das Verzeichnis /etc/skel und Network Information Service (NIS) 184 6.6 Dateien für Netzwerkinformationen 184 7 Dämonen, Zombies und Prozesse 187 7.1 Was ist ein Prozess? 187 7.2 Prozesskomponente 188 7.3 Prozesse überwachen - ps, top, kpm 196 7.4 Lebenszyklus eines Prozesses 198 7.5 Umgebungsvariablen eines Prozesses 200 7.6 Ressourcenlimits eines Prozesses 206 7.7 Prozesserkennung 209 7.8 Erzeugung von Prozessen - fork() 211 7.9 Warten auf einen Prozess 220 7.10 Die exec-Familie 226 7.11 Kommandoaufrufe aus dem Programm - system() 231 7.12 Dämonprozesse 232 7.13 Rund um die Ausführung von Prozessen 242 7.14 Zusammenfassung und Ausblick 254 8 Signale 255 8.1 Grundlage zu den Signalen 255 8.2 Das neue Signalkonzept 260 8.3 Signalmenge initialisieren 260 8.4 Signalmenge hinzufügen oder löschen 261 8.5 Signale einrichten oder erfragen 261 8.6 Signal an den eigenen Prozess senden - raise() 267 8.7 Signale an andere Prozesse senden - kill() 267 8.8 Zeitschaltuhr einrichten - alarm() 268 8.9 Prozesse stoppen, bis ein Signal eintritt - pause() 268 8.10 Prozesse für eine bestimmte Zeit stoppen - sleep() und usleep() 269 8.11 Signalmaske erfragen oder ändern - sigprocmask() 269 8.12 Prozess während einer Änderung der Signalmaske stoppen - sigsuspend() 270 8.13 Prozesse synchronisieren 271 9 IPC - Interprozesskommunikation 275 9.1 Unterschiedliche Interprozesskommunikations-Techniken im Überblick 276 9.2 Gründe für IPC 282 9.3 Pipes 283 9.4 System-V-Interprozesskommunikation 318 9.5 Semaphore 321 9.6 Message Queues 328 9.7 Shared Memory 339 10 Threads 349 10.1 Unterschiede zwischen Threads und Prozessen 349 10.2 Thread-Bibliotheken 350 10.3 Kernel- und User-Threads 351 10.4 Scheduling und Zustände von Threads 351 10.5 Die grundlegenden Funktionen zur Thread-Programmierung 352 10.6 Die Attribute von Threads und das Scheduling 362 10.7 Threads synchronisieren 367 10.8 Threads abbrechen (canceln) 391 10.9 Erzeugen von Thread-spezifischen Daten (TSD-Data) 395 10.10 pthread_once - Codeabschnitt einmal ausführen 398 10.11 Thread-safe (thread-sichere Funktionen) 400 10.12 Threads und Signale 401 10.13 Zusammenfassung und Ausblick 405 11 Netzwerkprogrammierung 407 11.1 Einführung 407 11.2 Aufbau von Netzwerken 408 11.3 TCP/IP - Aufbau und Struktur 411 11.4 TCP Socket 414 11.5 Kommunikationsmodell 415 11.6 Grundlegende Funktionen zum Zugriff auf die Socket-Schnittstelle 416 11.7 Aufbau eines Clientprogramms 424 11.8 Aufbau des Serverprogramms 427 11.9 IP-Adressen konvertieren, manipulieren und extrahieren 432 11.10 Namen und IP-Adressen umwandeln 438 11.11 Der Puffer 446 11.12 Standard-E/A-Funktionen verwenden 447 11.13 Parallele Server 448 11.14 Syncrones Multiplexing - select() 462 11.15 POSIX-Threads und Netzwerkprogrammierung 481 11.16 Optionen für Sockets setzen bzw. erfragen 485 11.17 UDP 489 11.18 Unix-Domain-Sockets (IPC) 496 11.19 Multicast-Socket 502 11.20 Nicht blockierende I/O-Sockets 509 11.21 Etwas zu Streams und TLI, Raw Socket, XTI 512 11.22 IPv4 und IPv6 514 11.23 Netzwerksoftware nach IPv6 portieren 515 11.24 Sicherheit und Verschlüsselung 517 12 MySQL und PostgreSQL 519 12.1 Relationales Datenbanksystem 519 12.2 Relationaler Datenbankserver 521 12.3 SQL-Server im Überblick 522 12.4 MySQL 522 12.5 MySQL C-API 546 12.6 Beispiel eines Newssystems mit MySQL 583 12.7 Neue SQL-Funktionen für die Shell - MySQL erweitern 609 12.8 MySQL-Funktionen mit der UDF-Schnittstelle entwerfen 610 12.9 PostgreSQL - objektrelationales Datenbankverwaltungssystem 619 13 Terminal E/A und Benutzerschnittstellen für die Konsole 653 13.1 termios 653 13.2 terminfo 671 13.3 ncurses - Halbgrafik 679 14 GTK+ 715 14.1 Was ist GTK+? 715 14.2 GTK+-Anwendungen übersetzen 719 14.3 Eine Einführung in die Glib-Bibliothek 720 14.4 Grundlagen der GTK+-Programmierung 741 14.5 Fenster - GtkWindow 750 14.6 Anzeige-Elemente 758 14.7 Behälter 765 14.8 Buttons und Toogled-Buttons 777 14.9 Dateneingabe 785 14.10 Menü und Toolbar 795 14.11 Mehrzeiliger Text 812 14.12 Auswählen (Selection) 824 14.13 Events 833 14.14 Weitere Widget- und GTK+-Elemente im Überblick 838 15 Übersicht über weitere beliebte GUIBibliotheken 841 15.1 gtkmm - GTK+ für C++ 841 15.2 wxWidget 845 15.3 FLTK 848 15.4 Qt 849 15.5 Die niedrige Ebene - X-Window-Programmierung 852 15.6 Multimediabibliotheken 852 16 Werkzeuge für Programmierer 859 16.1 Der Compiler gcc 859 16.2 Make 866 16.3 Bibliotheken erstellen 880 16.4 RPM 888 16.5 RCS und CVS 898 16.6 Zeitmessung von Programmen 923 16.7 Debuggen mit gdb und ddd 929 16.8 STRACE - Systemaufrufe verfolgen 939 16.9 Memory Leaks und unerlaubte Speicherzugriffe 942 16.10 Ausblick 948 17 Shellprogrammierung 951 17.1 Was ist eine Shell und was kann sie? 951 17.2 Was sind Shellskripts und wann ist ihr Einsatz sinnvoll? 951 17.3 Wann brauche ich keine Shellskripts? 953 17.4 Verschiedene Shelltypen 953 17.5 Shellskripts ausführen 955 17.6 Vom Shellskript zum Prozess 964 17.7 Datenstrom (Stream) umleiten 965 17.8 Ersatzmuster (Namen-Expansion) zur Suche verwenden 972 17.9 Variablen 976 17.10 Quotings 997 17.11 Kommandozeilenargumente 999 17.12 Kontrollstrukturen 1006 17.13 Terminal-Eingabe und -Ausgabe 1028 17.14 Funktionen 1050 17.15 Signale 1054 17.16 Prozess- und Skriptausführung 1058 17.17 Ein Shellskript bei der Ausführung 1065 A Sicherheit unter Linux 1067 A.1 Viren und Trojaner 1067 A.2 Der Superuser (su) 1068 A.3 Überlaufen von Logfiles 1068 A.4 Zugriffsrechte auf Dateien 1069 A.5 Das SUID-Bit 1069 A.6 Programme ohne Ausführrechte 1071 A.7 Buffer Overflow (Pufferüberlauf) 1071 A.8 Race Condition 1073 A.9 Temporäre Dateien 1074 A.10 chroot 1075 A.11 Umgebungsvariablen 1076 A.12 Zugriffsrechte - häufig gemachte Fehler 1079 A.13 system() und popen() 1079 A.14 Offene Filedeskriptoren 1080 A.15 Core Dump 1082 A.16 SQL Injection 1083 A.17 Filedeskriptor-Überlauf mit select() 1085 B Funktionsreferenz 1087 B.1 ANSI C 1087 B.2 ANSI C99 1105 B.3 Elementare E/A-Funktionen 1112 B.4 Fortgeschrittene E/A-Funktionen 1114 B.5 Verzeichnisse 1120 B.6 Attribute von Dateien und Verzeichnissen 1122 B.7 Links 1124 B.8 Prozess und Prozessverwaltungsfunktionen 1125 B.9 Signale - Das neue Signalkonzept 1126 B.10 Interprozesskommunikationen 1129 B.11 Sys-V-Interprozesskommnunikationen 1130 B.12 Threadprogrammierung 1132 B.13 Netzwerkprogrammierung 1135 B.14 MySQL C-API 1141 B.15 PostgreSQL C-API 1146 B.16 Weitere Funktionsreferenzen auf der Buch-CD 1149 C Linux-Unix-Kommandoreferenz 1151 C.1 Dateiorientierte Kommandos 1151 C.2 Verzeichnisorientierte Kommandos 1168 C.3 Verwaltung von Benutzern und Gruppe 1169 C.4 Programm- und Prozessverwaltung 1173 C.5 Speicherplatzinformationen 1179 C.6 Dateisystem-Kommandos 1180 C.7 Archivierung und Backup 1190 C.8 Systeminformationen 1202 C.9 System-Kommandos 1203 C.10 Druckeradministration 1205 C.11 Netzwerkbefehle 1205 C.12 Benutzerkommunikation 1216 C.13 Bildschirm- und Terminalkommandos 1217 C.14 Online-Hilfen 1219 C.15 Alles rund um PostScript-Kommandos 1221 C.16 Gemischte Kommandos 1221 D Inhalt der Buch-CD 1223 11.9 IP-Adressen konvertieren, manipulieren und extrahieren 432 11.10 Namen und IP-Adressen umwandeln 438 11.11 Der Puffer 446 11.12 Standard-E/A-Funktionen verwenden 447 11.13 Parallele Server 448 11.14 Syncrones Multiplexing - select() 462 11.15 POSIX-Threads und Netzwerkprogrammierung 481 11.16 Optionen für Sockets setzen bzw. erfragen 485 11.17 UDP 489 11.18 Unix-Domain-Sockets (IPC) 496 11.19 Multicast-Socket 502 11.20 Nicht blockierende I/O-Sockets 509 11.21 Etwas zu Streams und TLI, Raw Socket, XTI 512 11.22 IPv4 und IPv6 514 11.23 Netzwerksoftware nach IPv6 portieren 515 11.24 Sicherheit und Verschlüsselung 517 12 MySQL und PostgreSQL 519 12.1 Relationales Datenbanksystem 519 12.2 Relationaler Datenbankserver 521 12.3 SQL-Server im Überblick 522 12.4 MySQL 522 12.5 MySQL C-API 546 12.6 Beispiel eines Newssystems mit MySQL 583 12.7 Neue SQL-Funktionen für die Shell - MySQL erweitern 609 12.8 MySQL-Funktionen mit der UDF-Schnittstelle entwerfen 610 12.9 PostgreSQL - objektrelationales Datenbankverwaltungssystem 619 13 Terminal E/A und Benutzerschnittstellen für die Konsole 653 13.1 termios 653 13.2 terminfo 671 13.3 ncurses - Halbgrafik 679 14 GTK+ 715 14.1 Was ist GTK+? 715 14.2 GTK+-Anwendungen übersetzen 719 14.3 Eine Einführung in die Glib-Bibliothek 720 14.4 Grundlagen der GTK+-Programmierung 741 14.5 Fenster - GtkWindow 750 14.6 Anzeige-Elemente 758 14.7 Behälter 765 14.8 Buttons und Toogled-Buttons 777 14.9 Dateneingabe 785 14.10 Menü und Toolbar 795 14.11 Mehrzeiliger Text 812 14.12 Auswählen (Selection) 824 14.13 Events 833 14.14 Weitere Widget- und GTK+-Elemente im Überblick 838 15 Übersicht über weitere beliebte GUIBibliotheken 841 15.1 gtkmm - GTK+ für C++ 841 15.2 wxWidget 845 15.3 FLTK 848 15.4 Qt 849 15.5 Die niedrige Ebene - X-Window-Programmierung 852 15.6 Multimediabibliotheken 852 16 Werkzeuge für Programmierer 859 16.1 Der Compiler gcc 859 16.2 Make 866 16.3 Bibliotheken erstellen 880 16.4 RPM 888 16.5 RCS und CVS 898 16.6 Zeitmessung von Programmen 923 16.7 Debuggen mit gdb und ddd 929 16.8 STRACE - Systemaufrufe verfolgen 939 16.9 Memory Leaks und unerlaubte Speicherzugriffe 942 16.10 Ausblick 948 17 Shellprogrammierung 951 17.1 Was ist eine Shell und was kann sie? 951 17.2 Was sind Shellskripts und wann ist ihr Einsatz sinnvoll? 951 17.3 Wann brauche ich keine Shellskripts? 953 17.4 Verschiedene Shelltypen 953 17.5 Shellskripts ausführen 955 17.6 Vom Shellskript zum Prozess 964 17.7 Datenstrom (Stream) umleiten 965 17.8 Ersatzmuster (Namen-Expansion) zur Suche verwenden 972 17.9 Variablen 976 17.10 Quotings 997 17.11 Kommandozeilenargumente 999 17.12 Kontrollstrukturen 1006 17.13 Terminal-Eingabe und -Ausgabe 1028 17.14 Funktionen 1050 17.15 Signale 1054 17.16 Prozess- und Skriptausführung 1058 17.17 Ein Shellskript bei der Ausführung 1065 A Sicherheit unter Linux 1067 A.1 Viren und Trojaner 1067 A.2 Der Superuser (su) 1068 A.3 Überlaufen von Logfiles 1068 A.4 Zugriffsrechte auf Dateien 1069 A.5 Das SUID-Bit 1069 A.6 Programme ohne Ausführrechte 1071 A.7 Buffer Overflow (Pufferüberlauf) 1071 A.8 Race Condition 1073 A.9 Temporäre Dateien 1074 A.10 chroot 1075 A.11 Umgebungsvariablen 1076 A.12 Zugriffsrechte - häufig gemachte Fehler 1079 A.13 system() und popen() 1079 A.14 Offene Filedeskriptoren 1080 A.15 Core Dump 1082 A.16 SQL Injection 1083 A.17 Filedeskriptor-Überlauf mit select() 1085 B Funktionsreferenz 1087 B.1 ANSI C 1087 B.2 ANSI C99 1105 B.3 Elementare E/A-Funktionen 1112 B.4 Fortgeschrittene E/A-Funktionen 1114 B.5 Verzeichnisse 1120 B.6 Attribute von Dateien und Verzeichnissen 1122 B.7 Links 1124 B.8 Prozess und Prozessverwaltungsfunktionen 1125 B.9 Signale - Das neue Signalkonzept 1126 B.10 Interprozesskommunikationen 1129 B.11 Sys-V-Interprozesskommnunikationen 1130 B.12 Threadprogrammierung 1132 B.13 Netzwerkprogrammierung 1135 B.14 MySQL C-API 1141 B.15 PostgreSQL C-API 1146 B.16 Weitere Funktionsreferenzen auf der Buch-CD 1149 C Linux-Unix-Kommandoreferenz 1151 C.1 Dateiorientierte Kommandos 1151 C.2 Verzeichnisorientierte Kommandos 1168 C.3 Verwaltung von Benutzern und Gruppe 1169 C.4 Programm- und Prozessverwaltung 1173 C.5 Speicherplatzinformationen 1179 C.6 Dateisystem-Kommandos 1180 C.7 Archivierung und Backup 1190 C.8 Systeminformationen 1202 C.9 System-Kommandos 1203 C.10 Druckeradministration 1205 C.11 Netzwerkbefehle 1205 C.12 Benutzerkommunikation 1216 C.13 Bildschirm- und Terminalkommandos 1217 C.14 Online-Hilfen 1219 C.15 Alles rund um PostScript-Kommandos 1221 C.16 Gemischte Kommandos 1221 D Inhalt der Buch-CD 1223 11.9 IP-Adressen konvertieren, manipulieren und extrahieren 432 11.10 Namen und IP-Adressen umwandeln 438 11.11 Der Puffer 446 11.12 Standard-E/A-Funktionen verwenden 447 11.13 Parallele Server 448 11.14 Syncrones Multiplexing - select() 462 11.15 POSIX-Threads und Netzwerkprogrammierung 481 11.16 Optionen für Sockets setzen bzw. erfragen 485 11.17 UDP 489 11.18 Unix-Domain-Sockets (IPC) 496 11.19 Multicast-Socket 502 11.20 Nicht blockierende I/O-Sockets 509 11.21 Etwas zu Streams und TLI, Raw Socket, XTI 512 11.22 IPv4 und IPv6 514 11.23 Netzwerksoftware nach IPv6 portieren 515 11.24 Sicherheit und Verschlüsselung 517 12 MySQL und PostgreSQL 519 12.1 Relationales Datenbanksystem 519 12.2 Relationaler Datenbankserver 521 12.3 SQL-Server im Überblick 522 12.4 MySQL 522 12.5 MySQL C-API 546 12.6 Beispiel eines Newssystems mit MySQL 583 12.7 Neue SQL-Funktionen für die Shell - MySQL erweitern 609 12.8 MySQL-Funktionen mit der UDF-Schnittstelle entwerfen 610 12.9 PostgreSQL - objektrelationales Datenbankverwaltungssystem 619 13 Terminal E/A und Benutzerschnittstellen für die Konsole 653 13.1 termios 653 13.2 terminfo 671 13.3 ncurses - Halbgrafik 679 14 GTK+ 715 14.1 Was ist GTK+? 715 14.2 GTK+-Anwendungen übersetzen 719 14.3 Eine Einführung in die Glib-Bibliothek 720 14.4 Grundlagen der GTK+-Programmierung 741 14.5 Fenster - GtkWindow 750 14.6 Anzeige-Elemente 758 14.7 Behälter 765 14.8 Buttons und Toogled-Buttons 777 14.9 Dateneingabe 785 14.10 Menü und Toolbar 795 14.11 Mehrzeiliger Text 812 14.12 Auswählen (Selection) 824 14.13 Events 833 14.14 Weitere Widget- und GTK+-Elemente im Überblick 838 15 Übersicht über weitere beliebte GUIBibliotheken 841 15.1 gtkmm - GTK+ für C++ 841 15.2 wxWidget 845 15.3 FLTK 848 15.4 Qt 849 15.5 Die niedrige Ebene - X-Window-Programmierung 852 15.6 Multimediabibliotheken 852 16 Werkzeuge für Programmierer 859 16.1 Der Compiler gcc 859 16.2 Make 866 16.3 Bibliotheken erstellen 880 16.4 RPM 888 16.5 RCS und CVS 898 16.6 Zeitmessung von Programmen 923 16.7 Debuggen mit gdb und ddd 929 16.8 STRACE - Systemaufrufe verfolgen 939 16.9 Memory Leaks und unerlaubte Speicherzugriffe 942 16.10 Ausblick 948 17 Shellprogrammierung 951 17.1 Was ist eine Shell und was kann sie? 951 17.2 Was sind Shellskripts und wann ist ihr Einsatz sinnvoll? 951 17.3 Wann brauche ich keine Shellskripts? 953 17.4 Verschiedene Shelltypen 953 17.5 Shellskripts ausführen 955 17.6 Vom Shellskript zum Prozess 964 17.7 Datenstrom (Stream) umleiten 965 17.8 Ersatzmuster (Namen-Expansion) zur Suche verwenden 972 17.9 Variablen 976 17.10 Quotings 997 17.11 Kommandozeilenargumente 999 17.12 Kontrollstrukturen 1006 17.13 Terminal-Eingabe und -Ausgabe 1028 17.14 Funktionen 1050 17.15 Signale 1054 17.16 Prozess- und Skriptausführung 1058 17.17 Ein Shellskript bei der Ausführung 1065 A Sicherheit unter Linux 1067 A.1 Viren und Trojaner 1067 A.2 Der Superuser (su) 1068 A.3 Überlaufen von Logfiles 1068 A.4 Zugriffsrechte auf Dateien 1069 A.5 Das SUID-Bit 1069 A.6 Programme ohne Ausführrechte 1071 A.7 Buffer Overflow (Pufferüberlauf) 1071 A.8 Race Condition 1073 A.9 Temporäre Dateien 1074 A.10 chroot 1075 A.11 Umgebungsvariablen 1076 A.12 Zugriffsrechte - häufig gemachte Fehler 1079 A.13 system() und popen() 1079 A.14 Offene Filedeskriptoren 1080 A.15 Core Dump 1082 A.16 SQL Injection 1083 A.17 Filedeskriptor-Überlauf mit select() 1085 B Funktionsreferenz 1087 B.1 ANSI C 1087 B.2 ANSI C99 1105 B.3 Elementare E/A-Funktionen 1112 B.4 Fortgeschrittene E/A-Funktionen 1114 B.5 Verzeichnisse 1120 B.6 Attribute von Dateien und Verzeichnissen 1122 B.7 Links 1124 B.8 Prozess und Prozessverwaltungsfunktionen 1125 B.9 Signale - Das neue Signalkonzept 1126 B.10 Interprozesskommunikationen 1129 B.11 Sys-V-Interprozesskommnunikationen 1130 B.12 Threadprogrammierung 1132 B.13 Netzwerkprogrammierung 1135 B.14 MySQL C-API 1141 B.15 PostgreSQL C-API 1146 B.16 Weitere Funktionsreferenzen auf der Buch-CD 1149 C Linux-Unix-Kommandoreferenz 1151 C.1 Dateiorientierte Kommandos 1151 C.2 Verzeichnisorientierte Kommandos 1168 C.3 Verwaltung von Benutzern und Gruppe 1169 C.4 Programm- und Prozessverwaltung 1173 C.5 Speicherplatzinformationen 1179 C.6 Dateisystem-Kommandos 1180 C.7 Archivierung und Backup 1190 C.8 Systeminformationen 1202 C.9 System-Kommandos 1203 C.10 Druckeradministration 1205 C.11 Netzwerkbefehle 1205 C.12 Benutzerkommunikation 1216 C.13 Bildschirm- und Terminalkommandos 1217 C.14 Online-Hilfen 1219 C.15 Alles rund um PostScript-Kommandos 1221 C.16 Gemischte Kommandos 1221 D Inhalt der Buch-CD 1223 Sprache deutsch Masse 190 x 240 mm Gewicht 2454 g Betriebssysteme Server Unix Linux Mathematik Informatik Programmiersprachen Programmierwerkzeuge ISBN: 3836213664. Gewicht/weight: 2454 gr.
Keywords: Dieses Buch bietet einen umfassenden Einblick in die Systemprogrammierung unter Linux und Unix. Es ist für Leser mit Betriebssystem-Kenntnissen und C-Wissen geeignet. Neu in der 3. Auflage: ein Kapitel zur Shell-Programmierung und eine Kommandoreferenz. A
Price: EUR 53.49 = appr. US$ 58.14 Seller: LLU Buchservice
- Book number: BN32631