tytuł oryginału: the linux command line · 2020. 11. 10. · rm — usuwanie plików i katalogów...

42

Upload: others

Post on 07-Feb-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

  • 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