Linux_dla_programistow_i_uzytkownikow_lipruz.pdf

(536 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TREœCI
COM+. Kompendium
programisty
Autorzy: Graham Glass, King Ables
T³umaczenie: Marcin Rogó¿
ISBN: 978-83-246-0504-0
Tytu³ orygina³u:
Linux for Programmers and Users
Format: B5, stron: 648
Szczegó³owe omówienie systemu Linux
• Instalacja, konfiguracja i uruchamianie
• Praca z pow³okami tekstowymi
• Programowanie w C
• œrodowiska graficzne
Linux, napisany w ramach studenckich laboratoriów, w ci¹gu kilku lat sta³ siê niezwykle
popularnym systemem operacyjnym. Jego stabilnoœæ i niezawodnoœæ doceniaj¹ ju¿ nie
tylko profesjonaliœci, ale tak¿e u¿ytkownicy domowi, dla których dostêpny nieodp³atnie
produkt coraz czêœciej jest alternatyw¹ dla komercyjnych systemów operacyjnych.
Linux œwiêci triumfy nie tylko jako baza dla wydajnych i bezpiecznych serwerów
sieciowych, ale równie¿ jest wykorzystywany w stacjach roboczych oraz komputerach
domowych u¿ywanych do pracy, rozrywki i przegl¹dania zasobów internetowych.
Dla Linuksa powstaje coraz wiêcej oprogramowania, równie¿ dostêpnego nieodp³atnie
i w niczym nieustêpuj¹cego narzêdziom komercyjnym.
„Linux dla programistów i u¿ytkowników” to doskona³y przewodnik po tym systemie
operacyjnym. Omawia zagadnienia zwi¹zane z programowaniem i przedstawia je
z perspektywy u¿ytkownika. Czytaj¹c go, dowiesz siê, jakie dystrybucje Linuksa
mo¿esz znaleŸæ na rynku oraz jak zainstalowaæ system i skonfigurowaæ go. Nauczysz
siê korzystaæ z pow³ok tekstowych i œrodowisk graficznych, pracowaæ w sieci i ³¹czyæ
siê z internetem. Poznasz tajniki programowania w jêzyku C dla systemu Linux,
napiszesz w³asne narzêdzia oraz zobaczysz, w jaki sposób dzia³a system. Przeczytasz
tak¿e o podstawowych zadaniach administratora Linuksa.
• Wybór dystrybucji
• Instalacja systemu
• Podstawowe narzêdzia dla u¿ytkowników
• Przetwarzanie plików tekstowych
• Operacje na systemie plików
• Pow³oki Bash, Korn i C
• Linux w sieci
• œrodowiska graficzne
• J¹dro Linuksa
• Administrowanie systemem
Poznaj system operacyjny, który zrewolucjonizowa³ wspó³czesn¹ informatykê
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOœCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Przedmowa .................................................................................... 19
Rozdział 1. Czym jest Linux? ............................................................................ 27
1.1. Systemy komputerowe .......................................................................................... 28
1.2. Sprzęt .................................................................................................................... 28
1.2.1. Procesor .................................................................................................. 28
1.2.2. Magistrala ............................................................................................... 28
1.2.3. Pamięć RAM .......................................................................................... 29
1.2.4. Pamięć ROM .......................................................................................... 29
1.2.5. Dyski ...................................................................................................... 30
1.2.6. Napędy CD-ROM ................................................................................... 30
1.2.7. Monitor ................................................................................................... 30
1.2.8. Karta graficzna ....................................................................................... 30
1.2.9. Klawiatura .............................................................................................. 30
1.2.10. Myszka ................................................................................................... 30
1.2.11. Drukarka ................................................................................................. 31
1.2.12. Napędy taśmowe .................................................................................... 31
1.2.13. Modem .................................................................................................... 31
1.2.14. Interfejs sieciowy ................................................................................... 31
1.2.15. Inne urządzenia peryferyjne ................................................................... 31
1.3. System operacyjny ................................................................................................ 31
1.4. Oprogramowanie .................................................................................................. 32
1.5. Dzielenie zasobów ................................................................................................ 33
1.6. Komunikacja ......................................................................................................... 33
1.7. Narzędzia .............................................................................................................. 34
1.8. Wspomaganie programistów ................................................................................ 35
1.9. Standardy .............................................................................................................. 35
1.10. Historia Linuksa .................................................................................................... 36
1.10.1. UNIX ...................................................................................................... 36
1.10.2. Open Source Software i Free Software Foundation ............................... 37
1.10.3. Linus ....................................................................................................... 39
1.11. Pakiety z Linuksem ............................................................................................... 39
1.12. Filozofia Linuksa i UNIX-a .................................................................................. 40
1.13. Cechy Linuksa ...................................................................................................... 41
1.14. W dalszych rozdziałach ........................................................................................ 42
6
Linux dla programistów i użytkowników
Rozdział 2. Instalowanie Linuksa ...................................................................... 45
2.1. Wstęp .................................................................................................................... 46
2.2. Upewnij się, że masz odpowiedni sprzęt .............................................................. 46
2.2.1. Jednostka centralna (procesor) ............................................................... 46
2.2.2. Architektura magistrali ........................................................................... 47
2.2.3. Pamięć .................................................................................................... 47
2.2.4. Dysk ........................................................................................................ 48
2.2.5. Monitor, klawiatura i myszka ................................................................. 48
2.3. Wybór dystrybucji ................................................................................................ 49
2.3.1. Debian .................................................................................................... 49
2.3.2. Fedora ..................................................................................................... 50
2.3.3. Mandriva ................................................................................................ 51
2.3.4. Slackware ............................................................................................... 51
2.3.5. SuSE ....................................................................................................... 52
2.3.6. TurboLinux ............................................................................................. 52
2.4. Rozważ opcjonalne pakiety oprogramowania ...................................................... 53
2.4.1. System X Window .................................................................................. 53
2.4.2. Środowiska graficzne ............................................................................. 53
2.4.3. Obsługa sieci .......................................................................................... 55
2.4.4. Narzędzia biurowe .................................................................................. 57
2.4.5. Narzędzia programistyczne i języki programowania ............................. 57
2.5. Zaprojektuj swój system ....................................................................................... 58
2.5.1. W jaki sposób ma być uruchamiany Linux? .......................................... 58
2.5.2. Partycjonowanie dysku ........................................................................... 59
2.5.3. System plików Linuksa .......................................................................... 60
2.5.4. Programy rozruchowe (ładujące) ........................................................... 63
2.5.5. Dyskietka startowa ................................................................................. 64
2.6. Zdobądź Linuksa .................................................................................................. 64
2.6.1. Dyski CD-ROM ..................................................................................... 65
2.6.2. Pobieranie ............................................................................................... 65
2.7. Instalacja Linuksa ................................................................................................. 66
2.7.1. Zdobądź dokumentację swojej dystrybucji ............................................ 66
2.7.2. Uruchomienie ......................................................................................... 67
2.7.3. Partycjonowanie dysków ........................................................................ 67
2.7.4. Zmiana rozmiaru partycji Windows ....................................................... 69
2.7.5. Konfigurowanie systemu ........................................................................ 69
2.7.6. Program rozruchowy .............................................................................. 70
Rozdział 3. Narzędzia GNU dla zwykłych użytkowników ..................................... 73
3.1. Uzyskiwanie konta ................................................................................................ 74
3.2. Logowanie ............................................................................................................ 75
3.3. Powłoki ................................................................................................................. 76
3.4. Uruchamianie narzędzi GNU ............................................................................... 76
3.5. Kanały wejścia, wyjścia i błędu ............................................................................ 77
3.6. Uzyskiwanie pomocy — man ............................................................................... 78
3.7. Znaki specjalne ..................................................................................................... 80
3.7.1. Przerywanie procesu — Control+C ....................................................... 81
3.7.2. Koniec danych wejściowych — Control+D ........................................... 81
3.8. Ustanawianie własnego hasła — passwd ............................................................. 81
3.9. Wylogowanie ........................................................................................................ 82
3.10. Poezja w działaniu — eksplorowanie systemu plików ......................................... 83
3.11. Wyświetlanie nazwy bieżącego katalogu roboczego — pwd ............................... 83
3.12. Względne i bezwzględne ścieżki dostępu ............................................................. 85
3.13. Tworzenie pliku .................................................................................................... 86
Spis treści
7
3.14. Wyświetlanie zawartości katalogu — ls ............................................................... 87
3.15. Wyświetlanie zawartości pliku — cat, more, head i tail ...................................... 88
3.16. Zmienianie nazwy pliku — mv ............................................................................ 89
3.17. Tworzenie katalogu — mkdir ............................................................................... 90
3.18. Przechodzenie do innego katalogu — cd .............................................................. 91
3.19. Kopiowanie pliku — cp ........................................................................................ 92
3.20. Edycja pliku — vim .............................................................................................. 92
3.21. Usuwanie katalogu — rmdir ................................................................................. 93
3.22. Usuwanie pliku — rm ........................................................................................... 94
3.23. Drukowanie pliku — lp, lpstat i cancel ................................................................ 95
3.24. Drukowanie pliku — lpr, lpq i lprm ....................................................................... 96
3.25. Liczenie słów w pliku — wc ................................................................................ 98
3.26. Atrybuty pliku ....................................................................................................... 98
3.26.1. Przechowywanie pliku ........................................................................... 99
3.26.2. Nazwy plików ......................................................................................... 99
3.26.3. Data i czas modyfikacji pliku ............................................................... 100
3.26.4. Właściciel pliku .................................................................................... 100
3.26.5. Grupa pliku ........................................................................................... 100
3.26.6. Typy plików ......................................................................................... 101
3.26.7. Prawa dostępu do plików ..................................................................... 102
3.26.8. Liczba twardych dowiązań do pliku ..................................................... 104
3.27. Grupy .................................................................................................................. 104
3.28. Wyświetlanie grup, do których należysz — groups ........................................... 105
3.29. Zmienianie grupy właścicieli pliku — chgrp ..................................................... 105
3.30. Zmienianie praw dostępu do pliku — chmod ...................................................... 106
3.31. Zmienianie właściciela pliku — chown .............................................................. 108
3.32. Zmiana grupy — newgrp .................................................................................... 108
3.33. Poezja w działaniu — epilog .............................................................................. 109
3.34. Określanie typu terminala — tset ....................................................................... 109
3.35. Zmienianie charakterystyk terminala — stty ...................................................... 112
3.36. Edycja pliku — vim ............................................................................................ 113
3.36.1. Uruchamianie vim ................................................................................ 114
3.36.2. Tryb wprowadzania tekstu ................................................................... 114
3.36.3. Tryb wydawania poleceń ...................................................................... 115
3.36.4. Bufor pamięci i pliki tymczasowe ........................................................ 116
3.36.5. Popularne funkcje edycyjne ................................................................. 117
3.36.6. Przemieszczanie kursora ...................................................................... 117
3.36.7. Usuwanie tekstu ................................................................................... 117
3.36.8. Zamienianie tekstu ............................................................................... 119
3.36.9. Wklejanie tekstu ................................................................................... 119
3.36.10. Wyszukiwanie ...................................................................................... 120
3.36.11. Wyszukiwanie i zamienianie ................................................................ 121
3.36.12. Zapisywanie i odczytywanie pliku ....................................................... 121
3.36.13. Inne ....................................................................................................... 122
3.36.14. Dostosowywanie vim ........................................................................... 123
3.36.15. Zachowywanie ustawień ...................................................................... 123
3.37. Edycja pliku — emacs ........................................................................................ 124
3.37.1. Uruchamianie edytora emacs ............................................................... 125
3.37.2. Polecenia edytora emacs ...................................................................... 125
3.37.3. Wydobywanie się z kłopotów .............................................................. 126
3.37.4. Uzyskiwanie pomocy ........................................................................... 126
3.37.5. Opuszczanie edytora emacs .................................................................. 127
3.37.6. Tryby działania edytora emacs ............................................................. 127
3.37.7. Wpisywanie tekstu ............................................................................... 127
8
Linux dla programistów i użytkowników
3.37.8. Popularne funkcje edycyjne ................................................................. 127
3.37.9. Przemieszczanie kursora ...................................................................... 128
3.37.10. Usuwanie, wklejanie i cofanie zmian ................................................... 128
3.37.11. Wyszukiwanie ...................................................................................... 129
3.37.12. Wyszukiwanie i zastępowanie .............................................................. 129
3.37.13. Zapisywanie i ładowanie plików .......................................................... 130
3.37.14. Inne ....................................................................................................... 130
3.38. Poczta elektroniczna — mail .............................................................................. 130
3.38.1. Wysyłanie poczty ................................................................................. 131
3.38.2. Czytanie poczty .................................................................................... 133
3.38.3. Kontaktowanie się z administratorem systemu .................................... 135
Rozdział 4. Narzędzia GNU dla zaawansowanych użytkowników ....................... 137
4.1. Wprowadzenie .................................................................................................... 138
4.2. Filtrowanie plików — grep, egrep, fgrep i uniq ................................................. 138
4.2.1. Filtrowanie według wzorca — egrep, fgrep, grep ................................ 139
4.2.2. Usuwanie powtarzających się wierszy — uniq .................................... 142
4.3. Sortowanie plików — sort .................................................................................. 143
4.4. Porównywanie plików — cmp i diff .................................................................. 146
4.4.1. Sprawdzanie identyczności — cmp ..................................................... 146
4.4.2. Różnice w plikach — diff .................................................................... 147
4.5. Wyszukiwanie plików — find ............................................................................ 148
4.6. Archiwizowanie plików — cpio, tar, dump i restore .......................................... 150
4.6.1. Kopiowanie plików — cpio ................................................................. 151
4.6.2. Archiwizowanie na taśmie — tar ......................................................... 153
4.6.3. Tworzenie przyrostowych kopii zapasowych — dump i restore ......... 155
4.7. Ustalanie harmonogramu wywoływania poleceń — cron i at ............................ 156
4.7.1. Cykliczne uruchamianie — crontab ..................................................... 157
4.7.2. Jednokrotne uruchamianie zadania w przyszłości — at ....................... 158
4.8. Programowalne przetwarzanie tekstu — gawk .................................................. 160
4.8.1. Programy gawk ..................................................................................... 161
4.8.2. Dostęp do pojedynczych pól ................................................................ 162
4.8.3. BEGIN i END ...................................................................................... 162
4.8.4. Operatory .............................................................................................. 162
4.8.5. Zmienne ................................................................................................ 163
4.8.6. Struktury sterujące ................................................................................ 163
4.8.7. Rozszerzone wyrażenia regularne ........................................................ 164
4.8.8. Zasięg warunków ................................................................................. 164
4.8.9. Separatory pól ....................................................................................... 164
4.8.10. Funkcje wbudowane ............................................................................. 165
4.9. Dowiązania twarde i symboliczne — ln ............................................................. 165
4.10.Identyfikowanie powłok — whoami .................................................................. 167
4.11. Zmienianie użytkownika — su ........................................................................... 167
4.12. Przekształcanie plików ....................................................................................... 168
4.12.1. Kompresowanie plików — gzip i gunzip ............................................. 169
4.12.2. Edycja strumienia — sed ...................................................................... 169
4.12.3. Konwertowanie znaków — tr ............................................................... 173
4.12.4. Konwersja sekwencji podkreślających — ul ........................................ 174
4.13.Przeglądanie surowej zawartości pliku — od ..................................................... 175
4.14.Montowanie systemów plików — mount i umount ........................................... 176
4.15. Identyfikowanie terminali — tty ........................................................................ 177
4.16. Pomiar czasu wykonania — time ....................................................................... 177
Zgłoś jeśli naruszono regulamin