Podstawy Linuxa dla programistów - kurs dla początkujących

Podstawy Linuxa dla programistów - kurs dla początkujących
Autor Adam Pawlak
Adam Pawlak02.11.2023 | 5 min.

Linux jest systemem operacyjnym, który zdobywa coraz większą popularność wśród programistów. Jego otwartość, niezawodność i uniwersalność sprawiają, że coraz chętniej jest wykorzystywany do tworzenia aplikacji internetowych, systemów bazodanowych czy też projektów open source. Niniejszy kurs jest skierowany do osób rozpoczynających przygodę z Linuxem i chcących poznać podstawy tego systemu.

Rozpoczniemy od omówienia interfejsu linii poleceń, który jest podstawowym sposobem interakcji z kernelem Linuksa. Poznamy najważniejsze polecenia służące do nawigacji w systemie plików, zarządzania plikami i katalogami, a także edycji tekstu. Nauczymy się efektywnie korzystać z powłoki Bash, aby sprawnie poruszać się po systemie.

Podstawowe polecenia Linuksa

Poruszanie się po systemie

Aby swobodnie korzystać z Linuksa przez linię poleceń, niezbędna jest znajomość poleceń służących do nawigacji w strukturze katalogów. Poznamy polecenia takie jak cd, pwd, ls, które pozwolą nam sprawnie przemieszczać się pomiędzy katalogami i wyświetlać ich zawartość. Omówione zostaną opcje poszerzające możliwości tych poleceń.

Praca z plikami i katalogami

Linux udostępnia zaawansowane narzędzia do zarządzania plikami i katalogami. Polecenia cp, mv, rm pozwolą odpowiednio na kopiowanie, przenoszenie i usuwanie plików. Poznamy polecenia mkdir i touch tworzące katalogi i pliki. Ważnym zagadnieniem będą uprawnienia do plików kontrolowane polecaniami chmod i chown.

Edycja tekstu

Edytor vi należy do podstawowego wyposażenia każdej dystrybucji Linuksa. Nauczymy się w nim poruszać, wprowadzać tekst, zapisywać i wychodzić z programu. Poznamy zaawansowane funkcje vim jak przeszukiwanie tekstu czy pracę z wieloma plikami.

Instalacja oprogramowania na Linuksie

Menedżery pakietów

Większość dystrybucji Linuksa posiada menedżery pakietów ułatwiające instalację i aktualizację oprogramowania. Pakiety deb i rpm pozwolą w prosty sposób pobierać i usuwać aplikacje bezpośrednio z repozytoriów. Omówimy różne menedżery pakietów oraz podstawowe operacje z nimi związane.

Kompilacja z kodu źródłowego

Często korzystniej jest skompilować program z kodów źródłowych, aby dostosować go do własnych potrzeb. Przeanalizujemy proces pobierania i konfiguracji kodu źródłowego, a następnie jego kompilacji. Omówione zostaną narzędzia Makefile, gcc, debugowanie i instalacja wygenerowanych binariów.

Automatyzacja instalacji

Narzędzia takie jak Ansible, Puppet czy Chef umożliwiają zautomatyzowaną konfigurację systemu i instalację oprogramowania. Pozwolą zapewnić spójność środowiska na wielu maszynach przy minimalnym nakładzie pracy. Omówione zostaną zalety i przykłady zastosowania tych narzędzi.

Czytaj więcej: CI/CD dla programistów - szybki start w 30 minut

Konfiguracja środowiska systemu

Menadżery okien

Menadżery okien takie jak Openbox, Fluxbox, i3 umożliwiają elastyczne zarządzanie oknami i pulpitami roboczymi. Pozwolą na optymalizację przestrzeni roboczej i dostosowanie środowiska pracy do własnych preferencji. Omówione zostaną możliwości konfiguracji i dopasowania interfejsu.

Pulpity graficzne

Środowiska graficzne KDE, Gnome i XFCE udostępniają bogaty zestaw narzędzi do pracy na pulpicie. Przeanalizujemy możliwości konfiguracji pulpitu, menu, paneli, tapet i schematów kolorów. Porównamy zalety poszczególnych środowisk pod kątem wydajności i funkcjonalności.

Dostosowywanie interfejsu

Możliwości personalizacji interfejsu w Linuksie są praktycznie nieograniczone. Omówimy konfigurację motywów GTK i Qt, instalację dodatkowych paneli i widgetów. Przeanalizujemy też jak zmienić domyślną czcionkę, kursor i dźwięki systemowe.

Bezpieczeństwo i administracja

Konta i uprawnienia użytkowników

Linux posiada zaawansowany system kontroli dostępu opartej o użytkowników i grupy. Wyjaśnimy jak tworzyć konta użytkowników i nadawać im odpowiednie uprawnienia do plików i zasobów systemowych. Omówione zostaną pojęcia jak UID, GID, maski uprawnień.

Zapory sieciowe i aktualizacje

Bezpieczeństwo systemu Linux można zwiększyć poprzez konfigurację zapór sieciowych, takich jak iptables czy firewalld. Wyjaśnimy jak blokować niepożądany ruch przychodzący i wychodzący. Istotne jest także regularne aktualizowanie systemu - omówimy narzędzia do zarządzania poprawkami.

Backup i monitoring

Aby zminimalizować skutki ewentualnej awarii lub włamania, należy regularnie wykonywać kopie zapasowe kluczowych danych. Przedstawimy narzędzia do automatyzacji backupów, takie jak rsync czy BorgBackup. Omówimy też monitorowanie zasobów i logów przy pomocy narzędzi jak top, htop czy multitail.

Programowanie na Linuksie

Edytory tekstu i IDE

Linux oferuje szeroki wybór zaawansowanych edytorów tekstu i zintegrowanych środowisk programistycznych (IDE). Porównamy możliwości takich narzędzi jak Vim, Emacs, VS Code, PyCharm w kontekście wygody pracy i produktywności programisty.

Kompilacja i debugowanie

Omówimy narzędzia programistyczne ułatwiające kompilację, linkowanie i debugowanie aplikacji na Linuksie, takie jak Make, GCC, GDB. Poznamy techniki debugowania i profilowania kodu w celu wykrywania i usuwania błędów.

Kontrola wersji kodu źródłowego

Kontrola wersji przy użyciu narzędzi takich jak Git czy SVN pozwala śledzić zmiany w kodzie i łatwo wracać do poprzednich wersji. Wyjaśnimy działanie systemów kontroli wersji i opiszemy podstawowe operacje z nimi związane.

Linux w chmurze i kontenerach

Wdrażanie aplikacji w chmurze

Coraz popularniejszym trendem jest przenoszenie aplikacji do chmury. Wyjaśnimy jak przygotować aplikację do wdrożenia w chmurze i jakie korzyści to przynosi. Omówione platformy to AWS, Google Cloud i Azure.

Docker i Kubernetes

Technologia kontenerów, takich jak Docker pozwala na szybkie wdrażanie i skalowanie aplikacji. Nauczymy się budować obrazy kontenerów, uruchamiać kontenery i zarządzać nimi przy pomocy Kubernetes.

Chmura obliczeniowa

Linux stanowi podstawę popularnych usług chmury obliczeniowej, takich jak Amazon EC2, Azure Virtual Machines czy Google Compute Engine. Omówimy możliwości i sposoby wykorzystania maszyn wirtualnych w chmurze w celu skalowania infrastruktury.

Najczęściej zadawane pytania

Aby zainstalować Linuksa obok Windows, należy najpierw sprawdzić ilość wolnego miejsca na dysku i stworzyć nową partycję. Następnie pobrać obraz instalacyjny wybranej dystrybucji, np. Ubuntu lub Mint i zapisać go na pendrive przy użyciu narzędzia UNetbootin lub Rufus. Po uruchomieniu komputera z nośnika instalacyjnego, podczas procesu instalacji należy wybrać opcję "Zainstaluj obok". Instalator sam skonfiguruje dla Linuksa osobną partycję i zapisze na niej system obok Windows. Przy starcie będzie możliwość wyboru systemu do uruchomienia z menu rozruchowego.

Aby zaktualizować system Linux do najnowszej wersji, należy najpierw otworzyć terminal i wpisać komendę "sudo apt update", aby odświeżyć listę dostępnych aktualizacji. Następnie wpisujemy "sudo apt full-upgrade", co spowoduje pobranie i zainstalowanie wszystkich dostępnych uaktualnień. Może to potrwać od kilku minut do kilku godzin w zależności od ilości nowych paczek. Po zakończeniu aktualizacji należy ponownie uruchomić system, aby włączyć zmiany. Zaleca się wykonywanie kopii zapasowej przed aktualizacją.

Aby zmienić środowisko graficzne w Linuksie, należy najpierw zainstalować pakiet z wybranym pulpitem, np. KDE Plasma lub XFCE. Następnie podczas logowania do systemu z menu można wybrać nowe środowisko. Innym sposobem jest edycja pliku .xinitrc w katalogu domowym użytkownika i ustawienie tam nazwy programu uruchamiającego środowisko, np. startkde lub startxfce4. Po ponownym zalogowaniu powinno załadować się nowe środowisko graficzne.

Aby zmienić domyślną powłokę w Linuksie z bash na inną, np. zsh, należy wpisać w terminalu "chsh" i podać ścieżkę do programu zsh, który znajduje się zwykle w /bin/zsh. Można też edytować plik /etc/passwd i zmienić wartość pola powłoki danego użytkownika z /bin/bash na /bin/zsh. Po ponownym zalogowaniu system powinien uruchomić nową domyślną powłokę. Należy się upewnić, że zsh jest zainstalowany w systemie.

Aby zmienić domyślny menedżer okien w Linuksie, np. z Mutter na KWin, należy zainstalować pakiet z wybranym menedżerem. Następnie edytujemy plik ~/.xinitrc i dodajemy tam linijkę uruchamiającą program menedżera okien, np. exec kwin_x11. Można też ustawić menedżera okien jako domyślny dla całego systemu, edytując odpowiedni plik konfiguracyjny w /etc, np. /etc/xdg/kdeglobals dla KDE. Po ponownym zalogowaniu powinien załadować się nowy menedżer okien.

5 Podobnych Artykułów:

  1. Testowanie i debugowanie kodu w Pythonie - poradnik dla początkujących
  2. Jak pisać czytelne komentarze w kodzie? Porady i przykłady
  3. Jak wybrać specjalizację w programowaniu? Poradnik
  4. Wielojęzyczność w aplikacjach web - poradnik dla programistów
  5. Najczęstsze problemy początkujących programistów i jak ich unikać
tagTagi
shareUdostępnij
Autor Adam Pawlak
Adam Pawlak

Cześć, jestem Adam, a witajcie na moim blogu o programowaniu! Tutaj znajdziesz wiele przydatnych informacji, porad i inspiracji związanych z fascynującym światem kodowania i rozwoju oprogramowania.

Oceń artykuł
rating-fill
rating-fill
rating-fill
rating-fill
rating-fill
Ocena: 0.00 Liczba głosów: 0

Komentarze (0)

email
email

Polecane artykuły