Tytuł oryginału: The Linux Command Line · 2020. 11. 10. · rm — usuwanie plików i katalogów...
Transcript of Tytuł oryginału: The Linux Command Line · 2020. 11. 10. · rm — usuwanie plików i katalogów...
-
Tytuł oryginału: The Linux Command Line
Tłumaczenie: Joanna Zatorska (wstęp, rozdz. 3 – 36), Przemysław Szeremiota (rozdz. 1 – 2)
ISBN: 978-83-283-0174-0
Original edition copyright © 2012 by William E. Shotts, Jr.All rights reserved.
Published by arrangement with No Starch Press, Inc.
Polish edition copyright © 2015 by Helion SA.All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Wydawnictwo HELIONul. Kościuszki 1c, 44-100 GLIWICEtel. 32 231 22 19, 32 230 98 63e-mail: [email protected]: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/linwpwMożesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
• Kup książkę• Poleć książkę • Oceń książkę
• Księgarnia internetowa• Lubię to! » Nasza społeczność
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpwhttp://helion.pl/ro/linwpwhttp://helion.plhttp://ebookpoint.pl/r/4CAKF
-
Spis tre ci
PODZI KOWANIA ................................................................................... 19
WST P ...................................................................................................... 21
Cz INauka pow oki
1CZYM JEST POW OKA? ............................................................................ 29
Emulatory terminali ................................................................................................................29Pierwsze kroki .......................................................................................................................30
Historia polece .................................................................................................................30Przesuwanie kursora ..........................................................................................................30
Pierwsze polecenia .................................................................................................................31Ko czenie sesji terminala .......................................................................................................32
2NAWIGACJA ............................................................................................. 33
Hierarchia systemu plików .....................................................................................................33Bie cy katalog roboczy .........................................................................................................34
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
6 S p i s t r e c i
Wypisywanie zawarto ci katalogu ......................................................................................... 35Zmienianie bie cego katalogu roboczego ............................................................................ 35
cie ki bezwzgl dne .......................................................................................................... 35cie ki wzgl dne ................................................................................................................ 36
Przydatne skróty ............................................................................................................... 37
3PRZEGL D SYSTEMU ............................................................................... 39
Wi cej zabawy z ls ................................................................................................................. 39Opcje i argumenty ............................................................................................................. 40D ugi format pod lup ........................................................................................................ 41
Sprawdzanie typu pliku za pomoc polecenia type ............................................................... 42Wy wietlanie zawarto ci pliku za pomoc polecenia less ..................................................... 43Wycieczka z przewodnikiem ................................................................................................. 44Dowi zania symboliczne ....................................................................................................... 45
4MANIPULOWANIE PLIKAMI I KATALOGAMI .......................................... 49
Wieloznaczniki ....................................................................................................................... 50mkdir — tworzenie katalogów ............................................................................................. 52cp — kopiowanie plików i katalogów ................................................................................... 52mv — przenoszenie plików i zmiana ich nazw ...................................................................... 53rm — usuwanie plików i katalogów ...................................................................................... 54ln — tworzenie dowi za ..................................................................................................... 55
Dowi zania twarde ............................................................................................................ 56Dowi zania symboliczne ................................................................................................... 56
Zbudujmy plac zabaw ............................................................................................................ 57Tworzenie katalogów ........................................................................................................ 57Kopiowanie plików ............................................................................................................ 57Przenoszenie plików i zmiana ich nazw ............................................................................. 58Tworzenie dowi za twardych ......................................................................................... 59Tworzenie dowi za symbolicznych ................................................................................. 60Usuwanie plików i katalogów ............................................................................................ 61
Uwagi ko cowe ..................................................................................................................... 63
5POLECENIA .............................................................................................. 65
Czym w a ciwie s polecenia? ............................................................................................... 65Identyfikowanie polece ........................................................................................................ 66
type — wy wietlanie typu polecenia ................................................................................. 66which — wy wietlanie lokalizacji pliku wykonywalnego ................................................... 66
Pobieranie dokumentacji polecenia ....................................................................................... 67help — uzyskiwanie pomocy dla polece wbudowanych w pow ok .............................. 67--help — wy wietlanie informacji o u yciu ........................................................................ 68man — wy wietlanie podr cznika programu .................................................................... 68apropos — wy wietlanie odpowiednich polece .............................................................. 69
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
S p i s t r e c i 7
whatis — wy wietlanie bardzo krótkiego opisu polecenia ................................................70info — wy wietlanie informacji o programie .....................................................................70README i inne pliki dokumentacji programu ....................................................................72
Tworzenie w asnych polece z wykorzystaniem polecenia alias ...........................................72Powrót do starych przyjació .................................................................................................74
6PRZEKIEROWANIA .................................................................................. 75
Standardowy strumie wej cia, wyj cia oraz b dów ............................................................76Przekierowanie standardowego strumienia wyj cia ..........................................................76Przekierowanie standardowego strumienia b dów ..........................................................78Przekierowanie standardowego strumienia wyj cia i standardowego strumieniab dów do jednego pliku ....................................................................................................78Usuwanie niepotrzebnych danych wynikowych ................................................................79Przekierowanie standardowego strumienia wej cia ..........................................................80
Potoki .....................................................................................................................................82Filtry ...................................................................................................................................82uniq — zg aszanie lub pomijanie powtarzaj cych si wierszy ............................................83wc — wypisywanie liczników wierszy, s ów oraz bajtów .................................................83grep — wypisywanie wierszy pasuj cych do wzorca ........................................................83head (tail) — zwracanie pocz tku (ko ca) pliku ................................................................84tee — pobieranie danych ze standardowego strumienia wej cia, przekazywanie ichdo standardowego strumienia wyj cia i do plików .............................................................85
Uwagi ko cowe .....................................................................................................................86
7SPOJRZENIE NA WIAT Z PUNKTU WIDZENIA POW OKI ...................... 89
Interpretacja polece .............................................................................................................89Interpretacja cie ek ..........................................................................................................90Interpretacja tyldy ..............................................................................................................91Interpretacja wyra e arytmetycznych ..............................................................................92Interpretacja nawiasów ......................................................................................................93Interpretacja parametrów ..................................................................................................94Podstawianie wyników polece .........................................................................................95
Cytowanie ..............................................................................................................................96Cudzys owy podwójne .......................................................................................................96Pojedyncze cudzys owy .....................................................................................................98Interpretowanie znaków ....................................................................................................99
Uwagi ko cowe ...................................................................................................................100
8ZAAWANSOWANE SZTUCZKI ZWI ZANE Z KLAWIATUR ................ 101
Edytowanie wiersza polece ................................................................................................102Przemieszczanie kursora ..................................................................................................102Modyfikowanie tekstu ......................................................................................................102Wycinanie i wklejanie tekstu ............................................................................................103
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
8 S p i s t r e c i
Uzupe nianie ........................................................................................................................ 104Korzystanie z historii ........................................................................................................... 105
Przeszukiwanie historii .................................................................................................... 106Interpretacja historii ........................................................................................................ 107
Uwagi ko cowe ................................................................................................................... 108
9UPRAWNIENIA ...................................................................................... 109
W a ciciele, cz onkowie grupy i wszyscy pozostali .............................................................. 110Odczyt, zapis i wykonywanie .............................................................................................. 111
chmod — zmiana trybu pliku .......................................................................................... 113Ustawianie trybu pliku z poziomu interfejsu graficznego ................................................ 116umask — ustawianie uprawnie domy lnych .................................................................. 116
Zmiana to samo ci .............................................................................................................. 119su — uruchamianie pow oki z identyfikatorem zast pczego u ytkownika i grupy ......... 120sudo — wykonywanie polecenia jako inny u ytkownik .................................................. 121chown — zmiana w a ciciela pliku i grupy ...................................................................... 122chgrp — zmiana przypisania do grupy ............................................................................. 123
wiczenia dotycz ce w asnych uprawnie .......................................................................... 124Zmiana w asnego has a ........................................................................................................ 126
10PROCESY ................................................................................................ 127
Jak dzia a proces? ................................................................................................................. 128Wy wietlanie procesów za pomoc polecenia ps ........................................................... 128Dynamiczne wy wietlanie procesów za pomoc polecenia top ..................................... 130
Sterowanie procesami ......................................................................................................... 131Zatrzymywanie procesu .................................................................................................. 132Umieszczanie procesu w tle ............................................................................................ 133Przywracanie procesu do pierwszego planu ................................................................... 134Zatrzymywanie (wstrzymywanie) procesu ..................................................................... 134
Sygna y ................................................................................................................................. 135Wysy anie sygna ów do procesów za pomoc polecenia kill ........................................... 135Wysy anie sygna ów do wielu procesów za pomoc polecenia killall .............................. 137
Wi cej polece dotycz cych procesów .............................................................................. 138
Cz IIKonfiguracja i rodowisko
11RODOWISKO ........................................................................................ 141Co jest przechowywane w rodowisku? ............................................................................. 141
Przegl danie rodowiska ................................................................................................. 142Niektóre ciekawe zmienne ............................................................................................. 143
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
S p i s t r e c i 9
W jaki sposób konfigurowane jest rodowisko? ...................................................................143Pow oki logowania i nies u ce do logowania ..................................................................144Czym jest plik startowy? ..................................................................................................145
Modyfikowanie rodowiska ..................................................................................................147Które pliki nale y zmodyfikowa ? ....................................................................................147Edytory tekstu ..................................................................................................................147Korzystanie z edytora tekstu ...........................................................................................148Aktywowanie naszych zmian ...........................................................................................150
Uwagi ko cowe ...................................................................................................................151
12AGODNE WPROWADZENIE DO VI ....................................................... 153Dlaczego nale y si nauczy vi? ............................................................................................153Krótkie wprowadzenie .........................................................................................................154Uruchamianie i zatrzymywanie vi .........................................................................................154Tryby edycji ..........................................................................................................................155
W czanie trybu edycji .....................................................................................................156Zapisywanie pracy ............................................................................................................157
Zmiana po o enia kursora ....................................................................................................158Podstawowa edycja ..............................................................................................................159
Dodawanie tekstu ............................................................................................................159Otwieranie wiersza ..........................................................................................................160Usuwanie tekstu ...............................................................................................................160Wycinanie, kopiowanie i wklejanie tekstu ........................................................................162
czenie wierszy ..............................................................................................................163Szukanie i zast powanie .......................................................................................................163
Przeszukiwanie wiersza ...................................................................................................163Przeszukiwanie ca ego pliku .............................................................................................164Wyszukiwanie i zast powanie globalne ............................................................................164
Edycja wielu plików ..............................................................................................................166Prze czanie mi dzy plikami ............................................................................................166Otwieranie do edycji dodatkowych plików .....................................................................167Kopiowanie tre ci z jednego pliku do drugiego ...............................................................168Wstawianie tre ci ca ego pliku do drugiego pliku ............................................................169
Zapisywanie zmian ...............................................................................................................169
13DOSTOSOWYWANIE ZNAKU ZACH TY ................................................ 171
Anatomia znaku zach ty ......................................................................................................171Alternatywne projekty znaków zach ty ...............................................................................172Dodawanie koloru ................................................................................................................174Przesuwanie kursora ............................................................................................................176Zapisywanie znaku zach ty ..................................................................................................177Uwagi ko cowe ...................................................................................................................177
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
10 S p i s t r e c i
Cz IIIPopularne zadania i podstawowe narz dzia
14ZARZ DZANIE PAKIETAMI .................................................................. 181
Systemy zarz dzania pakietami ............................................................................................ 182Jak dzia aj systemy zarz dzania pakietami? ........................................................................ 182
Pliki pakietu ..................................................................................................................... 182Repozytoria ..................................................................................................................... 183Zale no ci ........................................................................................................................ 183Narz dzia zarz dzania pakietami wysokiego i niskiego poziomu .................................... 184
Popularne zadania zarz dzania pakietami ............................................................................ 184Szukanie pakietu w repozytorium ................................................................................... 184Instalowanie pakietu z repozytorium .............................................................................. 185Instalowanie pakietu z wykorzystaniem pliku pakietu ..................................................... 185Usuwanie pakietu ............................................................................................................ 186Uaktualnianie pakietów z repozytorium ......................................................................... 186Uaktualnianie pakietów za pomoc pliku pakietu ........................................................... 186Wy wietlanie zainstalowanych pakietów ......................................................................... 187Sprawdzanie, czy pakiet jest zainstalowany ..................................................................... 187Wy wietlanie informacji o zainstalowanym pakiecie ....................................................... 188Sprawdzanie, który pakiet zainstalowa plik .................................................................... 188
Uwagi ko cowe ................................................................................................................... 188
15NO NIKI DANYCH ................................................................................ 191
Montowanie i odmontowywanie urz dze pami ciowych ................................................. 192Wy wietlanie listy zamontowanych systemów plików .................................................... 193Ustalanie nazwy urz dzenia ............................................................................................. 196
Tworzenie nowych systemów plików ................................................................................. 199Manipulowanie partycjami z wykorzystaniem fdisk ......................................................... 200Tworzenie nowego systemu plików z wykorzystaniem mkfs ......................................... 202
Testowanie i naprawa systemów plików ............................................................................. 203Formatowanie dyskietek ..................................................................................................... 204Przenoszenie danych bezpo rednio do urz dze oraz z urz dze ..................................... 204Tworzenie obrazów dysków CD ........................................................................................ 205
Tworzenie obrazu kopii dysku CD ................................................................................. 205Tworzenie obrazu na podstawie zbioru plików .............................................................. 206
Zapisywanie obrazów CD ................................................................................................... 206Bezpo rednie montowanie obrazu ISO ........................................................................... 206Opró nianie zapisywalnego dysku CD ............................................................................ 207Zapisywanie obrazu ......................................................................................................... 207
Dodatkowe informacje ........................................................................................................ 207
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
S p i s t r e c i 11
16ZAGADNIENIA SIECIOWE ...................................................................... 209
Sprawdzanie i monitorowanie sieci ......................................................................................210ping — wysy anie pakietu specjalnego do hosta sieciowego ............................................210traceroute — ledzenie trasy pakietu sieciowego ...........................................................211netstat — sprawdzanie ustawie sieci i statystyk ............................................................212
Przenoszenie plików poprzez sie .......................................................................................213ftp — transfer plików z wykorzystaniem protoko u transferu plików .............................214lftp — ulepszony ftp .........................................................................................................215wget — nieinteraktywny program do pobierania plików z sieci ......................................216
Bezpieczna komunikacja z hostami zdalnymi .......................................................................216ssh — bezpieczne logowanie do komputerów zdalnych .................................................216scp i sftp — bezpieczny transfer plików ..........................................................................220
17SZUKANIE PLIKÓW ............................................................................... 223
locate — atwy sposób szukania plików ...............................................................................224find — trudny sposób wyszukiwania plików ........................................................................225
Testy ................................................................................................................................226Operatory ........................................................................................................................227Akcje ................................................................................................................................230Powrót do placu zabaw ...................................................................................................234Opcje ...............................................................................................................................237
18ARCHIWIZACJA I KOPIE ZAPASOWE .................................................... 239
Kompresowanie plików .......................................................................................................240gzip — kompresowanie i wyodr bnianie plików .............................................................240bzip2 — wy szy poziom kompresji kosztem szybko ci ..................................................242
Archiwizacja plików .............................................................................................................243tar — narz dzie do archiwizacji ta mowej ......................................................................243zip — pakowanie i kompresowanie plików .....................................................................248
Synchronizacja plików i katalogów .......................................................................................251rsync — synchronizacja zdalnych plików i katalogów ......................................................251Korzystanie z polecenia rsync poprzez sie .....................................................................253
19WYRA ENIA REGULARNE ..................................................................... 255
Co to s wyra enia regularne? .............................................................................................255grep — wyszukiwanie w tek cie ..........................................................................................256Metaznaki i litera y ...............................................................................................................258Znak dowolny ......................................................................................................................258Kotwice ................................................................................................................................259
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
12 S p i s t r e c i
Wyra enia w nawiasach i klasy znaków ............................................................................... 260Zaprzeczenie ................................................................................................................... 260Tradycyjne zakresy znaków ............................................................................................ 261Klasy znaków POSIX ....................................................................................................... 262
Podstawowy POSIX a rozszerzone wyra enia regularne ................................................... 264Alternatywa ......................................................................................................................... 266Kwantyfikatory .................................................................................................................... 267
? — dopasowuje element zero lub jeden raz .................................................................. 267* — dopasowuje element zero lub wi cej razy .............................................................. 268+ — dopasowuje element raz lub wi cej razy ............................................................... 269{} — dopasowuje element okre lon liczb razy ........................................................... 269
Zaprz gamy wyra enia regularne do pracy ......................................................................... 270Sprawdzanie listy telefonicznej za pomoc polecenia grep ............................................. 270Szukanie brzydkich nazw plików z wykorzystaniem polecenia find ................................ 271Wyszukiwanie plików za pomoc polecenia locate ......................................................... 272Wyszukiwanie tekstu za pomoc programów less i vim ................................................. 272
Uwagi ko cowe ................................................................................................................... 274
20PRZETWARZANIE TEKSTU .................................................................... 275
Zastosowanie tekstu ............................................................................................................ 276Dokumenty ...................................................................................................................... 276Strony WWW .................................................................................................................. 276E-mail ............................................................................................................................... 276Wyj cie drukarki .............................................................................................................. 276Kod ród owy programów .............................................................................................. 277
Ponowne odwiedziny u starych przyjació .......................................................................... 277cat — czenie plików i wypisywanie ich zawarto ci w standardowymstrumieniu wyj cia ........................................................................................................... 277sort — sortowanie wierszy plików tekstowych .............................................................. 279uniq — zg aszanie lub pomijanie powtarzaj cych si wierszy ......................................... 285
Ci cie i krojenie ................................................................................................................... 287cut — usuwanie fragmentów z ka dego wiersza plików ................................................ 287paste — czenie wierszy w pliku ................................................................................... 290join — czenie dwóch plików na podstawie wspólnego pola ........................................ 291
Porównywanie tekstu .......................................................................................................... 293comm — porównywanie dwóch posortowanych plików wiersz po wierszu ................. 293diff — porównywanie plików wiersz po wierszu ............................................................ 294patch — do czanie do orygina u pliku z ró nicami ........................................................ 296
Edycja w locie ...................................................................................................................... 298tr — transliterowanie lub usuwanie znaków ................................................................... 298sed — edytor strumieniowy s u cy do filtrowania i przekszta cania tekstu .................. 300aspell — interaktywny program do sprawdzania pisowni ............................................... 307
Uwagi ko cowe ................................................................................................................... 310Dodatkowe informacje ........................................................................................................ 311
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
S p i s t r e c i 13
21FORMATOWANIE WYNIKÓW ................................................................. 313
Proste narz dzia formatowania ...........................................................................................313nl — wstawianie numerów wierszy .................................................................................314fold — zawijanie ka dego wiersza do okre lonej d ugo ci ..............................................317fmt — prosty program do formatowania tekstu ..............................................................317pr — formatowanie tekstu do druku ...............................................................................320printf — formatowanie i wypisywanie danych .................................................................321
Systemy formatowania dokumentów ..................................................................................324Rodzina roff i TEX ............................................................................................................324groff — system formatowania dokumentów ...................................................................325
Uwagi ko cowe ...................................................................................................................329
22DRUKOWANIE ....................................................................................... 331
Krótka historia druku ...........................................................................................................332Drukowanie w zamierzch ych czasach ............................................................................332Drukarki oparte na znakach .............................................................................................332Drukarki graficzne ............................................................................................................333
Drukowanie w systemie Linux .............................................................................................334Przygotowanie plików do druku ..........................................................................................335
pr — przekszta canie plików tekstowych przeznaczonych do druku ..............................335Przesy anie zadania drukowania do drukarki .......................................................................335
lpr — drukowanie plików (styl Berkeley) ........................................................................336lp — drukowanie plików (styl Systemu V) .......................................................................337Inna opcja — a2ps ............................................................................................................337
Monitorowanie zada drukowania i sterowanie nimi ..........................................................339lpstat — wy wietlanie informacji o stanie drukarki ..........................................................341lpq — wy wietlanie statusu kolejki drukarki ....................................................................342lprm i cancel — anulowanie zada drukowania ...............................................................342
23KOMPILOWANIE PROGRAMÓW ............................................................ 343
Czym jest kompilowanie? .....................................................................................................344Czy wszystkie programy s skompilowane? ....................................................................345Kompilowanie programu w j zyku C ...............................................................................346Uzyskiwanie kodu ród owego ........................................................................................346Sprawdzanie zawarto ci drzewa ród owego ..................................................................348Budowanie programu .......................................................................................................349Instalowanie programu .....................................................................................................353
Uwagi ko cowe ...................................................................................................................353
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
14 S p i s t r e c i
Cz IV Tworzenie skryptów pow oki
24PISANIE PIERWSZEGO SKRYPTU ........................................................... 357
Czym s skrypty pow oki? ................................................................................................... 357Jak napisa skrypt pow oki? ................................................................................................. 358
Format pliku skryptu ....................................................................................................... 358Uprawnienia do wykonywania ........................................................................................ 359Lokalizacja pliku skryptu .................................................................................................. 359Dobre lokalizacje dla skryptów ....................................................................................... 361
Wi cej trików formatowania ............................................................................................... 361D ugie nazwy opcji .......................................................................................................... 361Wci cia i kontynuacja wierszy ......................................................................................... 362
Uwagi ko cowe ................................................................................................................... 363
25ROZPOCZYNANIE PROJEKTU ............................................................... 365
Pierwszy etap — minimalny dokument ............................................................................... 365Drugi etap — dodawanie pewnych danych ......................................................................... 368Zmienne i sta e .................................................................................................................... 368
Tworzenie zmiennych i sta ych ....................................................................................... 369Przypisywanie warto ci do zmiennych i sta ych .............................................................. 371
Dokumenty w czone ......................................................................................................... 372Uwagi ko cowe ................................................................................................................... 375
26PROJEKTOWANIE ZST PUJ CE ............................................................. 377
Funkcje pow oki .................................................................................................................. 378Zmienne lokalne .................................................................................................................. 381Utrzymywanie dzia ania skryptów ...................................................................................... 382Uwagi ko cowe ................................................................................................................... 385
27STEROWANIE PRZEP YWEM — ROZGA ZIENIA IF ............................. 387
Wykorzystanie if .................................................................................................................. 388Status wyj cia ....................................................................................................................... 388Korzystanie z testu .............................................................................................................. 390
Funkcje plikowe ............................................................................................................... 390Funkcje tekstowe ............................................................................................................ 392Funkcje liczbowe ............................................................................................................. 394
Nowocze niejsza wersja programu test .............................................................................. 395(( )) — przeznaczone dla liczb ca kowitych ......................................................................... 396
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
S p i s t r e c i 15
czenie wyra e .................................................................................................................397Operatory sterowania — inny sposób rozga ziania ...........................................................400Uwagi ko cowe ...................................................................................................................401
28ODCZYT WEJ CIA Z KLAWIATURY ....................................................... 403
read — odczyt danych ze standardowego strumienia wej cia .............................................404Opcje ...............................................................................................................................407Rozdzielanie pól wej ciowych za pomoc IFS ..................................................................407
Weryfikacja wej cia ..............................................................................................................410Menu ....................................................................................................................................411Uwagi ko cowe ...................................................................................................................412Dodatkowe informacje ........................................................................................................413
29STEROWANIE PRZEP YWEM — P TLE WHILE I UNTIL .......................... 415
P tle .....................................................................................................................................416while .....................................................................................................................................416Ucieczka z p tli ....................................................................................................................418until ......................................................................................................................................420Odczyt plików za pomoc p tli ............................................................................................420Uwagi ko cowe ...................................................................................................................421
30USUWANIE B DÓW .............................................................................. 423
B dy sk adniowe .................................................................................................................423Brakuj ce cudzys owy ......................................................................................................424Brakuj ce lub niespodziewane tokeny .............................................................................425Nieprzewidziane interpretacje .........................................................................................425
B dy logiczne ......................................................................................................................427Programowanie defensywne ............................................................................................427Weryfikacja wej cia ..........................................................................................................428
Testowanie ...........................................................................................................................429Elementy zast pcze ..........................................................................................................429Przypadki testowe ............................................................................................................430
Debugowanie .......................................................................................................................431Znalezienie miejsca problemu ..........................................................................................431ledzenie ..........................................................................................................................432
Sprawdzanie warto ci podczas wykonywania ..................................................................434Uwagi ko cowe ...................................................................................................................434
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
16 S p i s t r e c i
31STEROWANIE PRZEP YWEM — ROZGA ZIENIA CASE ........................ 435
case ...................................................................................................................................... 435Wzorce ............................................................................................................................ 437
czenie wielu wzorców ................................................................................................. 438Uwagi ko cowe ................................................................................................................... 439
32PARAMETRY POZYCYJNE ..................................................................... 441
Dost p do wiersza polece ................................................................................................. 441Ustalanie liczby argumentów ........................................................................................... 442shift — uzyskiwanie dost pu do wielu argumentów ....................................................... 443Proste programy .............................................................................................................. 444Korzystanie z parametrów pozycyjnych wraz z funkcjami pow oki ................................ 445
Masowa obs uga parametrów pozycyjnych ......................................................................... 446Bardziej kompletne programy ............................................................................................. 448Uwagi ko cowe ................................................................................................................... 451
33STEROWANIE PRZEP YWEM — P TLA FOR .......................................... 455
for — tradycyjna forma pow oki ......................................................................................... 455for — forma j zyka C .......................................................................................................... 458Uwagi ko cowe ................................................................................................................... 459
34A CUCHY TEKSTOWE I LICZBY ............................................................ 461Interpretacja parametrów ................................................................................................... 461
Podstawowe parametry .................................................................................................. 462Interpretacje s u ce do zarz dzania pustymi zmiennymi ............................................... 462Interpretacje, które zwracaj nazwy zmiennych ............................................................. 464Operacje na a cuchach tekstowych ............................................................................... 464
Interpretacja wyra e arytmetycznych ............................................................................... 467Liczby o ró nej podstawie ............................................................................................... 467Operatory jednoargumentowe ....................................................................................... 468Prosta arytmetyka ........................................................................................................... 468Przypisanie ....................................................................................................................... 469Operacje bitowe .............................................................................................................. 472Logika .............................................................................................................................. 472
bc — j zyk kalkulatora dowolnej precyzji ........................................................................... 475Korzystanie z bc .............................................................................................................. 475Przyk adowy skrypt ......................................................................................................... 476
Uwagi ko cowe ................................................................................................................... 477Dodatkowe informacje ........................................................................................................ 477
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
S p i s t r e c i 17
35TABLICE ................................................................................................. 479
Czym s tablice? ...................................................................................................................479Tworzenie tablic ..................................................................................................................480Przypisywanie warto ci do tablicy ........................................................................................480Dost p do elementów tablicy ..............................................................................................481Operacje na tablicach ...........................................................................................................483
Wy wietlanie zawarto ci ca ej tablicy ..............................................................................483Okre lanie liczby elementów tablicy ................................................................................484Znajdowanie indeksów wykorzystanych przez tablic ....................................................484Dodawanie elementów na ko cu tablicy .........................................................................485Sortowanie tablicy ............................................................................................................485Usuwanie tablicy ..............................................................................................................485
Uwagi ko cowe ...................................................................................................................486
36EGZOTYKA ............................................................................................ 489
Polecenia grupowe i podpow oki .........................................................................................489Wykonywanie przekierowa ...........................................................................................490Substytucja procesu .........................................................................................................490
Pu apki ..................................................................................................................................493Wykonywanie asynchroniczne .............................................................................................496
wait ..................................................................................................................................496Potoki nazwane ....................................................................................................................497
Ustawianie potoku nazwanego ........................................................................................498Korzystanie z potoków nazwanych .................................................................................498
Uwagi ko cowe ...................................................................................................................499
SKOROWIDZ ......................................................................................... 501
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
18 S p i s t r e c i
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
10Procesy
WSPÓ CZESNE SYSTEMY OPERACYJNE S ZWYKLE WIELOZADANIOWE, CO OZNACZA,E POPRZEZ SZYBK ZMIAN PROGRAMU, KTÓRY JEST WYKONYWANY, SPRAWIAJ
WRA ENIE WYKONYWANIA KILKU ZADA JEDNOCZE NIE. J DRO SYSTEMU LINUXzarz dza tym poprzez wykorzystanie procesów. Procesy s sposobem organizowa-nia przez Linux ró nych programów oczekuj cych na swoj kolej do zasobów CPU.
Niekiedy komputer staje si powolny lub aplikacja przestaje odpowiada .W tym rozdziale przyjrzymy si niektórym narz dziom dost pnym w wierszupolece , które umo liwiaj nam sprawdzenie, co wykonuj programy i jak zako -czy procesy, które przebiegaj niew a ciwie.
W tym rozdziale zostan wprowadzone nast puj ce polecenia:
ps — wy wietla list bie cych procesów, top — wy wietla zadania, jobs — wypisuje aktywne zadania, bg — umieszcza zadanie w tle, fg — umieszcza zadanie na pierwszym planie, kill — wysy a sygna do procesu, killall — ko czy proces o podanej nazwie, shutdown — zamyka lub ponownie uruchamia system.
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
128 R o z d z i a 1 0
Jak dzia a proces?Podczas rozruchu systemu j dro inicjalizuje kilka w asnych zada w postaci pro-cesów i uruchamia program zwany init. Z kolei init uruchamia seri skryptówpow oki (znajduj cych si w katalogu /etc) zwanych skryptami inicjalizacyjnymi,które uruchamiaj wszystkie us ugi systemowe. Wiele z tych us ug jest zaimple-mentowanych w postaci demonów, czyli programów, które wykonuj swoje zada-nia w tle i nie posiadaj adnego interfejsu u ytkownika. Dlatego nawet je li niejeste my zalogowani, system jest zawsze cho troch zaj ty wykonywaniem ruty-nowych zada .
Mo liwo uruchamiania programów przez inne programy jest wyra ana nadrzewie procesów w postaci procesu macierzystego tworz cego proces potomny.
J dro u atwia sobie organizacj , utrzymuj c informacje o ka dym procesie.Na przyk ad do ka dego procesu przypisywany jest numer zwany identyfikatoremprocesu (PID — ang. process id). Numery PID s przydzielane w kolejno ci rosn -cej, przy czym init zawsze otrzymuje numer 1. J dro kontroluje tak e pamiprzydzielon do ka dego procesu, a tak e gotowo procesów do wznowieniadzia ania. Podobnie jak pliki, procesy równie posiadaj w a cicieli, identyfikatoryu ytkownika, identyfikatory EUID itd.
Wy wietlanie procesów za pomoc polecenia psNajcz ciej u ywanym poleceniem s u cym do wy wietlania procesów (jest ichkilka) jest ps. Program ps przyjmuje wiele opcji, jednak w najprostszy sposóbu ywa si go nast puj co:
[me@linuxbox ~]$ ps PID TTY TIME CMD 5198 pts/1 00:00:00 bash10129 pts/1 00:00:00 ps
W wyniku dzia ania powy szego polecenia uzyskali my list dwóch procesów:5198 i 10129, które odpowiadaj programom bash i ps. Jak wida , domy lniepolecenie ps nie wy wietla zbyt wiele, tylko procesy zwi zane z bie c sesjterminala. Aby zobaczy wi cej, musimy doda kilka opcji. Zanim to zrobimy,spójrzmy na inne pola wy wietlone przez ps. TTY jest skrótem od s owa teletypei odnosi si do terminala kontrolnego procesu. Jest to pozosta o po dawnychczasach systemu Unix. Pole TIME oznacza czas wykorzystania CPU przez proces.Jak wida , aden z procesów nie wymaga od komputera du ego nak adu pracy.
Po dodaniu opcji mo emy uzyska lepszy obraz dzia ania systemu:
[me@linuxbox ~]$ ps x PID TTY STAT TIME COMMAND 2799 ? Ssl 0:00 /usr/libexec/bonobo-activation-server –ac 2820 ? Sl 0:01 /usr/libexec/evolution-data-server-1.10 --15647 ? Ss 0:00 /bin/sh /usr/bin/startkde
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
P r o c e s y 129
15751 ? Ss 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --15754 ? S 0:00 /usr/bin/dbus-launch --exit-with-session15755 ? Ss 0:01 /bin/dbus-daemon --fork --print-pid 4 –pr15774 ? Ss 0:02 /usr/bin/gpg-agent -s –daemon15793 ? S 0:00 start_kdeinit --new-startup +kcminit_start15794 ? Ss 0:00 kdeinit Running...15797 ? S 0:00 dcopserver –nosidi wiele wi cej...
Dodanie opcji x (zauwa my brak my lnika przed opcj ), informuje ps o koniecz-no ci wy wietlenia informacji o wszystkich procesach, niezale nie od terminala,pod którego kontrol pozostaj (o ile taki istnieje). Obecno znaku ? w kolumnieTTY oznacza brak terminala kontrolnego. Korzystaj c z tej opcji, mo emy sidowiedzie , które procesy nale do nas.
Poniewa w systemie dzia a wiele procesów, ps wy wietla d ug list . Zwyklewarto przekaza potokiem wynik polecenia do polecenia less, aby u atwiprzegl danie. Niektóre kombinacje opcji tworz te d ugie wiersze tekstu, dlategodobrym pomys em b dzie zmaksymalizowanie okna emulatora terminala.
Na li cie wynikowej pojawi a si nowa kolumna STAT. Nazwa ta jest skrótem odangielskiego wyrazu state („stan”) i zawiera bie cy stan procesu, zgodnie z opisemw tabeli 10.1.
Tabela 10.1. Stany procesu
Status Znaczenie
R Uruchomiony. Proces jest uruchomiony lub gotowy do uruchomienia.
S U piony. Proces nie dzia a; raczej oczekuje na zdarzenie, takie jak naci ni cie klawisza,lub na otrzymanie pakietu sieciowego.
D U piony nieprzerywalny. Proces oczekuje na urz dzenie wej cia-wyj cia, takie jak dysk.
T Zatrzymany. Proces, który otrzyma instrukcj zatrzymania (wi cej informacji na ten tematznajdziemy w dalszej cz ci rozdzia u).
Z Proces dzia aj cy nieprawid owo lub proces „zombie”. Jest to proces potomny, który zako czydzia anie, jednak nie zosta usuni ty przez proces macierzysty.
< Proces o wysokim priorytecie. Procesowi mo emy nada wi ksze znaczenie, przydzielaj c muwi cej czasu na CPU. Ta w a ciwo procesu nosi nazw niceness. Mo emy powiedzie ,e proces o wysokim priorytecie jest gorszy, poniewa potrzebuje wi cej czasu CPU,
co pozostawia mniej czasu dla pozosta ych.
N Proces o niskim priorytecie. Proces taki (lepszy proces) uzyska dost p do procesora tylkowtedy, gdy zostan obs u one pozosta e procesy, maj ce wy szy priorytet.
Po znaku stanu procesu mog wyst pi inne znaki. Oznaczaj one ró ne egzo-tyczne cechy procesu. Szczegó owe informacje na ten temat mo na uzyskaw podr czniku man polecenia ps.
Inny popularny zestaw opcji to aux (bez my lnika przed opcj ). Pozwala uzy-ska jeszcze wi cej informacji:
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
130 R o z d z i a 1 0
[me@linuxbox ~]$ ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 2136 644 ? Ss Mar05 0:31 initroot 2 0.0 0.0 0 0 ? S< Mar05 0:00 [kt]root 3 0.0 0.0 0 0 ? S< Mar05 0:00 [mi]root 4 0.0 0.0 0 0 ? S< Mar05 0:00 [ks]root 5 0.0 0.0 0 0 ? S< Mar05 0:06 [wa]root 6 0.0 0.0 0 0 ? S< Mar05 0:36 [ev]root 7 0.0 0.0 0 0 ? S< Mar05 0:00 [kh]i wiele wi cej...
Ten zestaw opcji wy wietla procesy nale ce do ka dego u ytkownika. U ycietych opcji bez my lnika sprawia, e polecenie b dzie dzia a w „stylu BDS”. Wer-sja programu ps dost pna w systemie Linux mo e emulowa zachowania pro-gramu ps z kilku dystrybucji Uniksa. Opcje te wy wietlaj dodatkowe kolumny,opisane w tabeli 10.2.
Tabela 10.2.
Nag ówek Znaczenie
USER Identyfikator u ytkownika. Jest to w a ciciel procesu.
%CPU Wykorzystanie CPU w procentach.
%MEM Wykorzystanie pami ci w procentach.
VSZ Rozmiar pami ci wirtualnej.
RSS Skrót od Resident Set Size. Ilo pami ci fizycznej (RAM) wykorzystywanej przez procesw kilobajtach.
START Czas rozpocz cia procesu. Warto ci powy ej 24 godzin reprezentowane s przez daty.
Dynamiczne wy wietlanie procesów za pomoc polecenia topChocia polecenie ps umo liwia wy wietlenie wielu informacji o dzia aniumaszyny, to pozwala uzyska jedynie obraz stanu maszyny w momencie wykona-nia polecenia ps. Aby wy wietli bardziej dynamiczny obraz aktywno ci maszyny,korzystamy z polecenia top:
[me@linuxbox ~]$ top
Program top wy wietla ci gle uaktualniany (domy lnie co 3 sekundy) obrazprocesów w systemie, posortowanych wed ug aktywno ci. Nazwa polecenia zwi -zana jest ze sposobem dzia ania. Otó program top wy wietla tylko procesyz górnej (ang. top) cz ci listy procesów. Wynik dzia ania polecenia top sk adasi z dwóch cz ci: podsumowania stanu systemu w górnej cz ci oraz tabeliprocesów posortowanych wed ug aktywno ci:
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
P r o c e s y 131
top - 14:59:20 up 6:30, 2 users, load average: 0.07, 0.02, 0.00Tasks: 109 total, 1 running, 106 sleeping, 0 stopped, 2 zombieCpu(s): 0.7%us, 1.0%sy, 0.0%ni, 98.3%id, 0.0%wa, 0.0%hi, 0.0%siMem: 319496k total, 314860k used, 4636k free, 19392k buffSwap: 875500k total, 149128k used, 726372k free, 114676k cach PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6244 me 39 19 31752 3124 2188 S 6.3 1.0 16:24.42 trackerd11071 me 20 0 2304 1092 840 R 1.3 0.3 0:00.14 top 6180 me 20 0 2700 1100 772 S 0.7 0.3 0:03.66 dbus-dae 6321 me 20 0 20944 7248 6560 S 0.7 2.3 2:51.38 multiloa 4955 root 20 0 104m 9668 5776 S 0.3 3.0 2:19.39 Xorg 1 root 20 0 2976 528 476 S 0.0 0.2 0:03.14 init 2 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migratio 4 root 15 -5 0 0 0 S 0.0 0.0 0:00.72 ksoftirq 5 root RT -5 0 0 0 S 0.0 0.0 0:00.04 watchdog 6 root 15 -5 0 0 0 S 0.0 0.0 0:00.42 events/0 7 root 15 -5 0 0 0 S 0.0 0.0 0:00.06 khelper 41 root 15 -5 0 0 0 S 0.0 0.0 0:01.08 kblockd/ 67 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod 114 root 20 0 0 0 0 S 0.0 0.0 0:01.62 pdflush 116 root 15 -5 0 0 0 S 0.0 0.0 0:02.44 kswapd0
Podsumowanie stanu systemu zawiera wiele przydatnych informacji, którezosta y wyja nione w tabeli 10.3.
Program top przyjmuje zestaw polece z klawiatury. Dwa najciekawsze to h,które wy wietla ekran pomocy programu, oraz q, które zamyka program top.
Obydwa najwi ksze rodowiska graficzne udost pniaj aplikacje graficzne,które wy wietlaj informacje podobne do top (w wi kszo ci przypadków w podobnysposób, jak czyni to Windows), jednak uwa am, e polecenie top jest lepsze niwersje graficzne ze wzgl du na szybko i znacznie mniejsze wymagania co dozasobów systemu. W ko cu nasz program monitoruj cy system nie powinienprzyczynia si do dalszego spowolnienia systemu, które przecie chcemywy ledzi .
Sterowanie procesamiWiemy ju , jak wy wietli informacje o procesach i jak je monitorowa . Zobaczmyteraz, jak uzyska nad nimi pewn kontrol . Na potrzeby naszych wicze wyko-rzystamy ma y program o nazwie xlogo. Program xlogo jest przyk adowym pro-gramem dostarczanym z systemem X Window System (silnik odpowiadaj cy zawy wietlanie grafiki na monitorze), który po prostu wy wietla okno o zmiennejwielko ci zawieraj ce logo X. Najpierw poznajmy obiekt naszych eksperymentów:
[me@linuxbox ~]$ xlogo
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
132 R o z d z i a 1 0
Tabela 10.3. Pola informacyjne polecenia top
Rz d Pole Znaczenie
top Nazwa programu.
14:59:20 Bie cy czas.
up 6:30 Warto ta zwana jest uptime. Jest to czas, który up yn od ostatniegouruchomienia systemu na maszynie. W tym przyk adzie system zostauruchomiony 6 i pó godziny temu.
2 users Zalogowanych jest dwóch u ytkowników.
1
load average: Warto load average oznacza liczb procesów oczekuj cych na wznowienie;czyli jest to liczba procesów, które s uruchomione i dziel mi dzy sobczas CPU. Wy wietlone s trzy warto ci, z których ka da dotyczy ró negookresu. Pierwsz jest rednia dla ostatnich 60 sekund, kolejna dotyczyostatnich 5 minut, a ostatnia dotyczy ostatnich 15 minut. Warto ciponi ej 1,0 oznaczaj , e maszyna nie jest zbyt zaj ta.
Tasks: Podsumowanie liczby procesów oraz ich ró nych stanów.
0.7%us Procesy u ytkownika wykorzystuj 0,7% CPU. Dotyczy to procesówwykonywanych poza samym j drem.
1.0%sy Procesy systemu (j dra) wykorzystuj 1,0% CPU.
0.0%ni Procesy o niskim priorytecie wykorzystuj 0,0% CPU.
98.3%id 98,3% CPU jest niewykorzystane.
2
0.0%wa 0,0% CPU oczekuje na urz dzenie I/O.
4 Mem: Pokazuje wykorzystanie fizycznej pami ci RAM.
5 Swap: Pokazuje wykorzystanie przestrzeni wymiany (pami ci wirtualnej).
Gdy wpiszemy polecenie, gdzie na ekranie pojawi si ma e okno zawieraj celogo. W niektórych systemach xlogo mo e wy wietli ostrze enie, które jednakmo emy zignorowa .
Je li w systemie nie zainstalowano programu xlogo, mo na zamiast niego wyko-rzysta program gedit lub kwrite.
Zmieniaj c rozmiar okna, mo emy sprawdzi , czy program xlogo pozostajeuruchomiony. Je li wielko logo dopasuje si do nowego rozmiaru, oznacza to,e program dzia a.
Czy Czytelnik zauwa y , e polecenie nie zwróci o wyniku w pow oce? Przy-czyn tego zachowania jest fakt, e pow oka oczekuje na zako czenie dzia ania pro-gramu, podobnie jak w przypadku pozosta ych programów, z których dotychczaskorzystali my. Znak zach ty powróci do pow oki, gdy zamkniemy okno xlogo.
Zatrzymywanie procesuZobaczmy, co si stanie, gdy ponownie uruchomimy xlogo. Najpierw wpiszmypolecenie xlogo i sprawd my, czy program dzia a. Nast pnie powró my do oknaterminala i u yjmy kombinacji klawiszy Ctrl+C.
UWAGA
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
P r o c e s y 133
[me@linuxbox ~]$ xlogo[me@linuxbox ~]$
Zastosowanie kombinacji klawiszy Ctrl+C zatrzymuje program. Oznacza to, egrzecznie prosimy program o zako czenie dzia ania. Po u yciu kombinacji klawi-szy Ctrl+C okno xlogo zosta o zamkni te, a do pow oki powróci znak zach ty.
W ten sposób mo emy zatrzyma wiele programów (lecz nie wszystkie).
Umieszczanie procesu w tleZa ó my, e chcemy, aby znak zach ty powróci do pow oki, ale bez zatrzymy-wania programu xlogo. Wykonamy to, umieszczaj c proces w tle. Za ó my, eterminal ma pierwszy plan (w którym widoczne s ró ne rzeczy, na przyk ad znakzach ty) oraz drugi plan, czyli t o (zawieraj cy rzeczy ukryte pod powierzchni ).Aby uruchomi program i natychmiast umie ci go w tle, po poleceniu wpisu-jemy znak ampersand (&):
[me@linuxbox ~]$ xlogo &[1] 28236[me@linuxbox ~]$
Gdy wpisali my polecenie, na ekranie pojawi o si okno xlogo, a do pow okipowróci znak zach ty, jednak pojawi y si tak e pewne mieszne cyferki. Tainformacja wchodzi w sk ad funkcji pow oki zwanej sterowaniem zadaniami.Pow oka informuje nas, e uruchomi a zadanie o numerze 1 ([1]) oraz e posiadaono PID 28236. Sprawd my nasz proces, wykonuj c polecenie ps:
[me@linuxbox ~]$ ps PID TTY TIME CMD10603 pts/1 00:00:00 bash28236 pts/1 00:00:00 xlogo28239 pts/1 00:00:00 ps
Funkcja sterowania zadaniami pow oki umo liwia nam równie wy wietleniezada uruchomionych z poziomu naszego terminala. Wykonuj c polecenie jobs,uzyskamy nast puj c list :
[me@linuxbox ~]$ jobs[1]+ Running xlogo &
Powy szy wynik informuje, e uruchomione jest jedno zadanie o numerze1 oraz e polecenie mia o posta xlogo &.
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
134 R o z d z i a 1 0
Przywracanie procesu do pierwszego planuProces dzia aj cy w tle nie reaguje na wej cie z klawiatury, ignoruje te próbyprzerwania procesu kombinacj klawiszy Ctrl+C. Aby przywróci proces dopierwszego planu, korzystamy z polecenia fg, jak w poni szym przyk adzie:
[me@linuxbox ~]$ jobs[1]+ Running xlogo &[me@linuxbox ~]$ fg %1xlogo
Polecenie fg, po którym nast puje znak procenta oraz numer zadania (zwanyjobspec), za atwia spraw . Je li w tle uruchomione jest tylko jedno polecenie,numer zadania jest opcjonalny. Aby zako czy dzia anie programu xlogo, u yjmykombinacji klawiszy Ctrl+C.
Zatrzymywanie (wstrzymywanie) procesuCzasem chcemy zatrzyma dzia anie procesu bez jego zako czenia. Mo liwo twykorzystuje si zwykle, aby mo na by o przenie proces pierwszoplanowy nadrugi plan. Aby zatrzyma proces pierwszoplanowy, nale y zastosowa kombinacjklawiszy Ctrl+Z. Spróbujmy. Wpiszmy xlogo w wierszu polece , naci nijmy Enter,a nast pnie kombinacj klawiszy Ctrl+Z.
[me@linuxbox ~]$ xlogo[1]+ Stopped xlogo[me@linuxbox ~]$
Po zatrzymaniu programu xlogo mo emy zweryfikowa , czy zosta zatrzymany,próbuj c zmieni rozmiar okna programu. Zauwa ymy, e wydaje si raczej martwe.Program mo emy przywróci na pierwszy plan, korzystaj c z polecenia fg, lubumie ci go w tle, u ywaj c polecenia bg:
[me@linuxbox ~]$ bg %1[1]+ xlogo &[me@linuxbox ~]$
Je li chodzi o polecenie fg, to je li istnieje tylko jedno zadanie, numer zadaniajest opcjonalny.
Umieszczanie procesu pierwszoplanowego w tle jest przydatne, je li urucha-miamy program graficzny z wiersza polece , ale zapomnimy umie ci go w tleza pomoc znaku & wpisanego za poleceniem.
Dlaczego uruchamia si programy graficzne z wiersza polece ? Istniej dwapowody. Pierwszy wynika z tego, e program, który chcemy uruchomi , mo e nieby wymieniony w menu mened era okna (na przyk ad xlogo).
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
P r o c e s y 135
Drugi wynika z tego, e program uruchomiony z wiersza polece b dziewy wietla informacje o b dach, które mog yby by niewidoczne w przypadkuprogramu uruchomionego w interfejsie graficznym. Czasem program uruchomionyz poziomu menu graficznego nie zadzia a. Je li wykorzystamy do tego celu wierszpolece , mo emy zobaczy komunikat o b dzie, informuj cy nas o problemie.Ponadto niektóre programy graficzne posiadaj wiele ciekawych i przydatnychopcji wiersza polece .
Sygna yPolecenie kill jest wykorzystywane do „zabicia” (zako czenia) procesu. Pozwalanam to na zako czenie wykonywania programu, który dzia a niepoprawnie lub niechce zako czy dzia ania samoczynnie. Poni ej przedstawiony jest przyk ad:
[me@linuxbox ~]$ xlogo &[1] 28401[me@linuxbox ~]$ kill 28401[1]+ Terminated xlogo
Najpierw uruchamiamy w tle program xlogo. Pow oka wypisze numer zadaniaoraz PID procesu dzia aj cego w tle. Nast pnie u ywamy polecenia kill i poda-jemy PID procesu, który chcemy zako czy . Zamiast numeru PID, mogliby mytak e u y numeru zadania (na przyk ad %1).
Wygl da to na bardzo proste, ale to nie wszystko. Polecenie kill w a ciwie nie„zabija” procesów; raczej wysy a do nich sygna y. Sygna y stanowi jeden zesposobów komunikacji systemu operacyjnego z programami. Dzia anie sygna ówpoznali my ju przy korzystaniu z kombinacji klawiszy Ctrl+C i Ctrl+Z. Gdyu yjemy w terminalu jednej z tych kombinacji, terminal wy le sygna do programupierwszoplanowego. W przypadku kombinacji Ctrl+C wysy any jest sygna INT(Interrupt); natomiast w przypadku kombinacji Ctrl+Z wysy any jest sygna TSTP(Terminal Stop). Z kolei programy „nas uchuj ” sygna ów i mog w odpowiedzina nie wykonywa pewne dzia anie. Mo liwo nas uchiwania i dzia ania w odpo-wiedzi na sygna y pozwala im na wykonywanie pewnych czynno ci, takich jakzapisywanie post pu pracy, gdy wys any zostanie sygna o zako czeniu.
Wysy anie sygna ów do procesów za pomoc polecenia killNajcz ciej stosowana sk adnia polecenia kill wygl da nast puj co:
kill [-signal] PID...
Je li nie sprecyzujemy adnego sygna u w wierszu polece , to domy lniewys any zostanie sygna TERM (Terminate). Polecenie kill jest najcz ciej wykorzy-stywane do wysy ania sygna ów opisanych w tabeli 10.4.
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
136 R o z d z i a 1 0
Tabela 10.4. Cz sto u ywane sygna y
Numer Nazwa Znaczenie
1 HUP Hung up. Jest to pozosta o ze starych dobrych czasów, gdy terminale by ypod czone do komputerów zdalnych poprzez kable telefoniczne i modemy.Sygna jest wykorzystywany do wskazania programów, które terminal kontrolny„zawiesi ”. Efekt dzia ania tego sygna u mo na zaobserwowa poprzezzamkni cie sesji terminala. Program pierwszoplanowy dzia aj cy w terminaluotrzyma sygna i zako czy dzia anie.
Sygna ten jest te wykorzystywany przez wiele demonów do ponownejinicjalizacji. Gdy sygna ten zostanie wys any do demona, demon b dzieuruchomiony ponownie i ponownie odczyta swój plik konfiguracyjny. Przyk ademdemona, który w ten sposób korzysta z sygna u HUP, jest serwer Apache.
2 INT Interrupt. Wywo uje takie samo dzia anie jak kombinacja klawiszy Ctrl+Cu yta w terminalu. Zwykle zatrzymuje dzia anie programu.
9 KILL Kill. Jest to sygna specjalny. Zwykle programy mog obs ugiwa wysy anedo nich sygna y na ró ne sposoby, a tak e je ignorowa . Natomiast sygnaKILL nie jest tak naprawd wysy any do programu docelowego. W tymprzypadku to j dro natychmiast ko czy proces. Gdy proces zostanie w tensposób zatrzymany, nie ma adnej mo liwo ci „posprz tania” po sobie lubzapisania efektów dzia ania. Z tego powodu sygna u KILL nale y u ywatylko jako ostatniej deski ratunku, gdy inne sygna y s u ce do ko czeniaprocesu zawiod .
15 TERM Terminate. Jest to domy lny sygna wysy any przez polecenie kill. Je li programjest nadal wystarczaj co „ ywy”, aby przyjmowa sygna y, zako czy swojedzia anie.
18 CONT Continue. Sygna ten wznawia proces zatrzymany przez sygna STOP.
19 STOP Stop. Ten sygna sprawia, e proces wstrzymuje dzia anie, lecz nie ko czypracy. Podobnie jak KILL, równie ten sygna nie jest przesy any do procesudocelowego i dlatego nie mo e by zignorowany.
Wypróbujmy teraz dzia anie polecenia kill:
[me@linuxbox ~]$ xlogo &[1] 13546[me@linuxbox ~]$ kill -1 13546[1]+ Hangup xlogo
W powy szym przyk adzie uruchamiamy w tle program xlogo, a nast pniewysy amy do niego sygna HUP poprzez polecenie kill. Program xlogo ko czydzia anie, a pow oka informuje, e proces w tle otrzyma sygna Hangup. Mo liwe,e zanim zobaczymy wiadomo , trzeba b dzie kilkakrotnie nacisn klawisz
Enter. Zauwa my, e sygna y mo na okre li zarówno przez liczb , jak i przeznazw , w cznie z nazw o przedrostku SIG:
[me@linuxbox ~]$ xlogo &[1] 13601[me@linuxbox ~]$ kill -INT 13601
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
P r o c e s y 137
[1]+ Interrupt xlogo[me@linuxbox ~]$ xlogo &[1] 13608[me@linuxbox ~]$ kill -SIGINT 13608[1]+ Interrupt xlogo
Powtórzmy powy szy przyk ad i wypróbujmy inne sygna y. Pami tajmy, ezamiast numerów PID mo emy skorzysta z numerów zada .
Procesy, podobnie jak pliki, posiadaj w a cicieli. Je li jeste my w a cicielemprocesu (lub je li jeste my u ytkownikiem uprzywilejowanym), mo emy wysy ado niego sygna y z wykorzystaniem polecenia kill.
Oprócz sygna ów wymienionych w tabeli 10.4, które s najcz ciej wykorzy-stywane wraz z poleceniem kill, system cz sto korzysta z innych sygna ów.W tabeli 10.5 opisano inne cz sto u ywane sygna y.
Tabela 10.5. Inne cz sto wykorzystywane sygna y
Numer Nazwa Znaczenie
3 QUIT Wyj cie.
11 SEGV Naruszenie ochrony pami ci. Sygna ten jest wysy any, je li program korzystaz pami ci w nieuprawniony sposób, czyli gdy próbuje zapisa dane w miejscu,do którego nie jest uprawniony.
20 TSTP Zatrzymanie terminala. Sygna ten jest wysy any przez terminal, gdy zosta au yta kombinacja Ctrl+Z. Inaczej ni w przypadku sygna u STOP, sygna TSTPjest przechwytywany przez program, lecz mo e zosta zignorowany.
28 WINCH Zmiana okna. Jest to sygna wysy any przez system podczas zmiany rozmiaruokna. Niektóre programy, takie jak top i less, b d odpowiada na tensygna poprzez ponowne wy wietlenie wyników, aby dostosowa sido nowych wymiarów okna.
Informacja dla ciekawskich — pe n list sygna ów mo na wy wietli , wyko-nuj c nast puj ce polecenie:
[me@linuxbox ~]$ kill -l
Wysy anie sygna ów do wielu procesówza pomoc polecenia killall
Mo emy tak e wysy a sygna y do wielu procesów, dotycz cych okre lonegoprogramu lub nale cych do okre lonego u ytkownika. W tym celu stosujemypolecenie killall, którego sk adnia wygl da nast puj co:
killall [-u u ytkownik] [-sygna ] nazwa...
Zademonstrujmy dzia anie tego polecenia. W tym celu uruchomimy kilkainstancji programu xlogo i zako czymy ich dzia anie:
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
138 R o z d z i a 1 0
[me@linuxbox ~]$ xlogo &[1] 18801[me@linuxbox ~]$ xlogo &[2] 18802[me@linuxbox ~]$ killall xlogo[1]- Terminated xlogo[2]+ Terminated xlogo
Pami tajmy, e aby wysy a sygna y do procesów, które do nas nie nale ,musimy posiada uprawnienia u ytkownika uprzywilejowanego, podobnie jakw przypadku polecenia kill.
Wi cej polece dotycz cych procesówPoniewa monitorowanie procesów jest wa nym zadaniem administracyjnym,istnieje wiele polece do tego przeznaczonych. W tabeli 10.6 przedstawiono kilkapolece wartych wypróbowania.
Tabela 10.6. Inne polecenia dotycz ce procesów
Polecenie Opis
pstree Wy wietla procesy w postaci drzewa, pokazuj c zale no ci mi dzy procesamimacierzystymi a potomnymi.
vmstat Wy wietla informacje o wykorzystaniu zasobów systemu, w cznie z pami ci ,przestrzeni wymiany oraz dysku I/O. Aby wy wietli stale uaktualnian list , nale ypoda po poleceniu czas opó nienia (w sekundach) dla uaktualnienia (np. vmstat 5).Dzia anie programu ko czymy, u ywaj c kombinacji Ctrl+C.
xload Program graficzny rysuj cy wykres obci enia systemu w czasie.
tload Podobny do programu xload, jednak rysuje wykres w terminalu. Dzia anie programuko czymy, u ywaj c kombinacji Ctrl+C.
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
Skorowidz
Aadres
IP, 210, 213URI, 210, 214
algorytm kompresji, Patrz: kompresja algorytmalias, 66, 72, 73, 142, 143, 385American National Standards Institute, Patrz: ANSIANSI, 174, 175ASCII, 43, 263asembler, 344, 345atak
man-in-the-middle, 216temp race attack, 495
AWK, 475
Bba kanizacja, 266basic regular expressions, Patrz: wyra enie
regularne podstawoweprogram, 475biblioteka, 345
mktemp, 495Readline, 102, 103wspó dzielona, 46, 47, 183
bitbucket, 79setgid, 118setuid, 118zaczepienia, 119
b d, 77logiczny, 427sk adniowy, 423, 424, 425
Bourne Steve, 29BRE, Patrz: wyra enie regularne podstawowebufor
drukowania, 197FIFO, 498kill-ring, 103
buforowanie, 197
CCentOS, 182, 184, 339CLI, Patrz: interfejs wiersza poleceCOBOL, 344Common Unix Printing System, Patrz: CUPScoreutils, 289CPU, 344CUPS, 334, 335, 339, 342cytowanie, 96
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
502 S k o r o w i d z
czas, 173czcionka, 332, 333
Ddane
baza relacyjna, 291tabelaryczne, 281weryfikacja, 410wspó dzielone, 47
data, 31, 173Debian, 182, 184
repozytorium, 343debugowanie, 431demon, 128DHCP, 213Digital Rights Management, Patrz: DRMdokument
HTML, 365w czony, 372, 373, 374, 409
dokumentacja, 72Dolphin, 52dopisek, 93dowi zanie
mi kkie, Patrz: dowi zanie symboliczneprzerwane, 62symboliczne, 47, 56, 63
tworzenie, 55, 60, 61, 63twarde, 48, 56, 60
tworzenie, 55, 59DRM, 183drukarka
fizyczna, 341g owicowa, 333graficzna, 333laserowa, 333PostScript, 334, 337rozetkowa, 332wirtualna, 341
drukowanie, 331, 332, 333, 334, 335, 339Berkeley, 335, 336, 342do pliku, 337kolejka, 334, 339
status, 342ko czenie zada , 342LPD, Patrz: drukowanie BerkeleySysV, 335, 337, 342
dyskCD
d wi kowy, 206obraz, 205, 206, 207
CD-RW, 207
ilo wolnego miejsca, 32RAM obraz wst pny, 46
dyskietka, 204dystrybucja, 182, 183
Fedora, Patrz: FedoraOpenSUSE, Patrz: OpenSUSEUbuntu, Patrz: Ubuntu
Eedytor
tekstu, 147, 148, 149, 153graficzny, 147, 148tekstowy, 147, 148
vi, Patrz: viwierszowy, 154wizualny, 154
ekran, 144emacs, 147, 185e-mail, 276emulator terminala, 29, 30, 31, 144ERE, Patrz: wyra enie regularne rozszerzoneextended regular expressions, Patrz: wyra enie
regularne rozszerzone
FFedora, 24, 111, 182, 184, 339filtr, 82Foresight, 182FORTRAN, 344, 458FTP, 214funkcja
liczbowa, 394, 395opakowuj ca, 446plikowa, 390, 391pow oki, Patrz: pow oka funkcjatekstowa, 393
operator, 395zast pcza, 382
Ggedit, 147, 148Gentoo, 182Ghostscript, 334gid, Patrz: u ytkownik identyfikator grupy
g ównejglobbing, Patrz: wieloznacznikGNOME
dowi zanie symboliczne, 63edytor tekstu, 147mened er plików, Patrz: Nautilus
Kup książkę Poleć książkę
http://helion.pl/rt/linwpwhttp://helion.pl/rf/linwpw
-
S k o r o w i d z 503
godzina, 31GUI, 22, 102
Hhistoria polece , 30, 105, 107
interpretacja, 106, 107, 108przeszukiwanie, 106
hostnazwa, 173, 210zdalny, 216, 219
localhost, 217
IIEEE, 266IFS, Patrz: zmienna IFSInstitute of Electrical and Electronics Engineers,
Patrz: IEEEinterfejs
Ethernetu, 213p tli zwrotnej, 213sieciowy, 212u ytkownika graficzny, Patrz: GUIwiersza polece , 22, 357wirtualny, 213
Internal Field Separator, Patrz: zmienna IFSinterpreter, 345, 357
Jj dro, 128, 189j zyk
asemblera, 344C, 345, 458C++, 345COBOL, Patrz: COBOLFORTRAN, Patrz: FORTRA