Recenzja książki „Linux. Podręcznik dewelopera. Rzeczowy przewodnik po wierszu poleceń i innych narzędziach”

Wyobraź sobie, Czytelniku, że jesteś programistą od lat pracującym w Windowsach. Dostałeś nowe, obiecujące zlecenie z dziedziny, na której się znasz, wymagane narzędzia programistyczne też nie są Ci obce. Jest jednak pewien problem, środowiskiem operacyjnym nie jest Twój ulubiony system Windows ale Linux. Kiedyś pracowałeś z Linuksem, ale sporo pozapominałeś. Niby Linux wciąż jest taki sam, ale nie ten sam. Pojawiły się nowe narzędzia jak Docker, rozrósł się Git. Zresztą nie potrzebujesz zostać linuksowym administratorem, nie wszystko będzie Ci przydatne.  Oczywiście wiedza linuksowa znajduje się w internecie, ale jest rozproszona i często albo zbyt zdawkowa albo, dla odmiany, za bardzo szczegółowa. Książki o Linuksie, a jest ich mnóstwo, są albo „cegłami” albo wprost przeciwnie, omawiają podstawy podstaw.  

„Linux. Podręcznik dewelopera…” jest właśnie tym, czego szukasz. Na 240 stronach autorzy, którzy sami są programistami, napisali podręcznik „dla siebie” zawierający to, co potrzebne i ani grama więcej. Wiadomo, programista sam wie, czego potrzebuje, a oni wiedzą najlepiej.  

Czego potrzebuje programista, żeby sprawnie poruszać się po systemie operacyjnym?  

  1. Wiersz poleceń, bo siła Linuksa, posiadającego wprawdzie interfejs graficzny, tkwi w rozbudowanych poleceniach tekstowych. Dlatego pierwszy rozdział traktuje o podstawach systemu plików, składni poleceń plikowych, ścieżkach względnych i bezwzględnych itp. Jednym słowem podstawy podstaw. 
  2. Procesy. Wywołanie programu uruchamia proces, którym można zarządzać. Zarządzanie procesami jest tematem drugiego rozdziału. Poznamy tu podstawowe polecenia zarządzania procesami, ich wyszukiwaniem, identyfikacją, komunikacją międzyprocesową, “zabijaniem” procesów, łącznością międzyprocesową i z systemem plików. 
  3.  Usługi. Procesy, o których była mowa w poprzednim punkcie są procesami “pierwszoplanowymi”, uruchomionymi na tle powłoki, mającymi swój początek i koniec działania. Usługi, inaczej demony to procesy uruchamiane przez jądro systemu i działające przez cały czas. Usługami mogą być na przykład bazy danych, serwery WWW, usługi sieciowe. Znajomość usług przez programistę, nawet wysokiego poziomu abstrakcji, jest bardzo wskazana.  
  4. System plików. Ten rozdział omawia szerzej uniksowy system plików, którego znajomość jest niezbędna do pracy w systemie Linux. Jest to wiedza uniwersalna dla wszystkich dystrybucji Linuksa i systemów uniksopodobnych. Tu poznamy dokładniej atrybuty plików, rodzaje dowiązań, składnię polecenia grep i find oraz łączenie wielu poleceń mechanizmem potoku (pipe).  
  5. Edytory. Tu odświeżymy znajomość z edytorem tekstów Vi/Vim, narzędziem o ogromnych możliwościach, ale okupionych koniecznością opanowania pokaźnej pamięciówki, niezbędnej, ale skłonnej do ulatywania z naszej pamięci. Autorzy nie przekazują kompletnej składni Vim’a (zajęłoby to objętość co najmniej połowy tej książki), ale udzielają kilku cennych rad dla zaczynających przygodę z Vim’em.  
  6. Użytkownicy i grupy. Linux jest systemem wielodostępnym i wielozadaniowym, więc naturalne jest zarządzanie użytkownikami i grupami i to zarówno z poziomu administratora jak i zwykłego usera.  
  7. Własność i uprawnienia. W tym rozdziale omówione jest połączenie omawianego wcześniej systemu użytkowników i systemu plików, dostęp do plików, uprawnienia oraz wszelkie manipulacje w tym zakresie.  
  8. Instalowanie i konfiguracja oprogramowania. To są ważne dwa rozdziały, zwłaszcza dla programisty. Pracując w Linuksie na pewno będzie programy instalował i konfigurował, posługując się zewnętrznymi repozytoriami pakietów oprogramowania. Dlatego ten temat jest potraktowany nieco obszerniej. 
  9. Potoki i przekierowania. To specyfika Linuksa, jedno ze źródeł jego mocy. Naprawdę warto poznać, żeby wykorzystać te naprawdę potężne mechanizmy, dzięki którym znacząco podniesiemy efektywność swojej pracy. 
  10. Skrypty powłoki. Drugi filar Linuksa to rozbudowany język skryptowy powłoki (Bash). Siłą rzeczy nie jest omawiana składnia wszystkich poleceń skryptowych i elementów języka, jedynie podstawy, ale przecież adresatem książki są programiści – douczą się. 
  11. Bezpieczeństwo. Rozdział w całości poświęcony mechanizmom bezpieczeństwa wbudowanym w system, czyli SSH, SFTP, SCP, tunelowanie.  
  12. System kontroli wersji Git. Nie jest to wprawdzie element Linuksa, ale każdy programista Gita powinien znać, nawet jeśli nie pracuje w zespole. W rozdziale tym są omówione podstawowe pojęcia Gita (dość egzotyczne), terminologia oraz bezcenne porady dla początkujących.  
  13. Docker. Zyskujący coraz większą popularność Docker to darmowy system konteneryzacji i izolowania kompletnych środowisk oprogramowania. Docker rozwiązuje wiele problemów związanych z bezpieczeństwem oprogramowania, instalowaniem i konfigurowaniem pakietów, efektywnością pracy (zwłaszcza zespołowej), przenośnością oprogramowania. Docker jest omówiony dość dokładnie, z kompletnym przykładem projektu.  
  14. Dwa ostatnie rozdziały omawiają zagadnienia monitorowania dzienników aplikacji i podstaw protokołu HTTP. 

Celem tej książki nie jest dostarczenie kompendium wiedzy, takich kompendiów są dziesiątki. Chodzi raczej o sprawienie, że czytelnik zacznie „czuć” Linuksa, nie będzie tracił czasu na popełnianie typowych błędów początkującego użytkownika i otrzyma właściwe przygotowanie do osiągnięcia biegłości w korzystaniu z tego systemu. Uważam, że Autorom się to udało, za co chwała im.  

Dodam jeszcze, że wydawcą oryginału jest znane i cenione wśród informatyków wydawnictwo Packt, co jest dobrą rekomendacją.

David Cohen, Christian Sturm “Linux. Podręcznik dewelopera. Rzeczowy przewodnik po wierszu poleceń i innych narzędziach” Wydawnictwo Helion, 2025

Notka o autorach:

David Cohen, administrator systemu Linux, inżynier oprogramowania. Popularyzator i edukator.

Christian Sturm, konsultant oprogramowania i architektury systemów. Przez całe życie zawodowe jest aktywnym programistą, znawca systemów operacyjnych i baz danych.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *