Najważniejsze polecenia Linuxa, które każdy użytkownik powinien znać

System Linux to potężne narzędzie, które oferuje użytkownikom ogromną elastyczność i kontrolę nad ich środowiskiem pracy. Jednak aby w pełni wykorzystać jego potencjał, warto poznać kluczowe polecenia, które są niezbędne zarówno dla początkujących, jak i zaawansowanych użytkowników. W tym artykule przedstawimy i omówimy najważniejsze polecenia w systemie Linux, które każdy użytkownik powinien znać.

1. Podstawowe polecenia nawigacyjne

  • pwd – Wyświetla bieżącą ścieżkę katalogu, w którym się znajdujesz:
  • ls – Listuje zawartość katalogu. Można użyć opcji -l dla szczegółowego widoku lub -a aby pokazać ukryte pliki:
  • cd – Zmienia katalog. Na przykład cd /home/user przeniesie Cię do katalogu /home/user:
  • mkdir – Tworzy nowy katalog:
  • rmdir – Usuwa pusty katalog:

2. Zarządzanie plikami

  • cp – Kopiuje pliki lub katalogi:
  • mv – Przenosi lub zmienia nazwę plików/katalogów:
  • rm – Usuwa pliki lub katalogi. Użyj opcji -r aby usunąć katalog z zawartością:
  • touch – Tworzy pusty plik lub aktualizuje czas modyfikacji istniejącego pliku:

3. Zarządzanie procesami

  • ps – Wyświetla aktualnie uruchomione procesy. Użyj opcji -aux aby zobaczyć wszystkie procesy:
  • top – Wyświetla dynamiczną listę procesów w czasie rzeczywistym:
  • kill – Zatrzymuje proces o podanym ID:
  • bg i fg – Zarządzanie procesami w tle i na pierwszym planie:

4. Zarządzanie użytkownikami i uprawnieniami

  • sudo – Pozwala na wykonanie polecenia z uprawnieniami administratora:
  • chmod – Zmienia uprawnienia do plików/katalogów:
  • chown – Zmienia właściciela pliku/katalogu:
  • useradd i userdel – Dodaje i usuwa użytkowników:

5. Sieć i komunikacja

  • ping – Sprawdza połączenie z innym hostem:
  • ifconfig – Wyświetla informacje o interfejsach sieciowych:
  • ssh – Łączy się zdalnie z innym komputerem:
  • scp – Kopiuje pliki przez SSH:

6. Przykłady użycia poleceń

Poniżej znajduje się przykład użycia kilku omówionych poleceń:

  • chmod – Zmienia uprawnienia do plików/katalogów:
  • chown – Zmienia właściciela pliku/katalogu:
  • useradd i userdel – Dodaje i usuwa użytkowników:

7. Zarządzanie dyskami i systemem plików

  • df – Wyświetla informacje o dostępnej przestrzeni na dyskach:
  • du – Pokazuje rozmiar plików i katalogów:
  • mount – Montuje system plików:
  • umount – Odmontowuje system plików:

8. Wyszukiwanie plików

  • find – Wyszukuje pliki w systemie:
  • locate – Szybkie wyszukiwanie plików w systemie:
  • grep – Wyszukuje wzorce w plikach:
  • which – Znajduje pełną ścieżkę do wykonywalnego pliku:

9. Komunikacja z systemem

  • echo – Wyświetla tekst na ekranie:
  • cat – Wyświetla zawartość pliku:
  • more – Wyświetla zawartość pliku strona po stronie:
  • less – Zawiera funkcje podobne do more, ale oferuje więcej opcji nawigacji:
  • man – Wyświetla podręcznik użytkownika dla polecenia:

10. Praca z archiwami

  • tar – Tworzy archiwum lub rozpakowuje je:
  • zip – Tworzy archiwum ZIP:
  • unzip – Rozpakowuje pliki ZIP:
  • tar -xvzf – Rozpakowuje archiwum TAR.GZ:
  • gzip – Kompresuje pliki w formacie .gz:
  • gunzip – Rozpakowuje pliki .gz:

11. Monitorowanie systemu

  • uptime – Wyświetla czas działania systemu oraz obciążenie:
  • dmesg – Wyświetla komunikaty systemowe związane z rozruchem i sprzętem:
  • iostat – Pokazuje statystyki wejścia/wyjścia systemu:
  • free – Pokazuje informacje o pamięci RAM:
  • netstat – Wyświetla informacje o połączeniach sieciowych:
  • ss – Nowoczesna wersja netstat, służy do monitorowania połączeń sieciowych:

12. Praca z logami systemowymi

  • journalctl – Przegląda logi systemowe:
  • tail – Wyświetla ostatnie linie pliku:
  • logrotate – Automatycznie zarządza logami:

13. Zaawansowane operacje na plikach

  • ln – Tworzy dowiązanie do pliku:
  • xargs – Przesyła argumenty z wejścia do innych poleceń:
  • chmod – Zmienia uprawnienia do plików/katalogów:
  • chattr – Zmienia atrybuty plików:

System Linux oferuje szeroki zestaw poleceń, które pozwalają na pełną kontrolę nad komputerem. Kluczowe polecenia, jak ls, cd, cp, czy rm, są używane na co dzień do nawigacji po systemie plików, zarządzania plikami oraz katalogami. Aby skutecznie opanować te komendy, najlepiej zacząć od tych, które są najbardziej przydatne w codziennej pracy. Przykładowo, polecenia do nawigacji po katalogach i zarządzania plikami są fundamentalne i wymagają praktyki, aby stały się intuicyjne. Inne polecenia, takie jak ps do monitorowania procesów, ping do testowania połączeń sieciowych, czy chmod do zmiany uprawnień, również warto poznać, aby móc w pełni wykorzystać moc systemu Linux.

Aby uczyć się skutecznie, warto zacząć od eksperymentowania z poleceniami w praktyce. Tworzenie plików, katalogów, kopiowanie i usuwanie danych pozwala na zapoznanie się z ich działaniem. Z czasem warto zacząć łączyć różne polecenia, by rozwiązywać bardziej zaawansowane problemy, jak monitorowanie procesów, zarządzanie użytkownikami czy praca z logami systemowymi. Można także korzystać z dokumentacji, np. man lub stron internetowych, aby zgłębiać szczegóły każdego polecenia i jego opcji.

Pamiętaj, że regularne korzystanie z terminala pozwala na naukę nawyków, które sprawią, że obsługa systemu Linux stanie się bardziej naturalna. Częste korzystanie z poleceń, rozwiązywanie problemów oraz eksperymentowanie z nowymi komendami to najlepszy sposób na opanowanie systemu i wykorzystywanie go w pełni.

Linux to naprawdę potężne narzędzie, które daje ogromną kontrolę nad systemem… ale pamiętaj, nie eksperymentuj na produkcji! W końcu, eksperymentowanie na serwerze produkcyjnym to trochę jak gra w rosyjską ruletkę — tylko że z większymi konsekwencjami. Jeśli chcesz poczuć się jak prawdziwy Linuxowy magik, zawsze testuj swoje komendy na środowisku deweloperskim. Tylko wtedy będziesz w stanie uczyć się na błędach, zamiast szukać przyczyny zniknięcia kilku gigabajtów danych. A jeśli nie wiesz, co robisz, po prostu wezwij swoją niezawodną broń: man!

Ulepszanie zarządzania maszynami wirtualnymi za pomocą agenta gościa QEMU na Proxmox


Zastanawiałeś się kiedyś, jak usprawnić zarządzanie i monitorowanie maszyn wirtualnych w swoim środowisku Proxmox? QEMU Guest Agent to prawdziwy przełom, oferujący narzędzia, które znacząco ułatwiają interakcję z wirtualnymi systemami. Przyjrzyjmy się, jak to narzędzie może zmienić twoje podejście.

Dlaczego QEMU Guest Agent jest niezbędny?

  • Synchronizacja czasu: Utrzymanie spójnego czasu pomiędzy maszynami wirtualnymi a hostem może być trudne, ale QEMU Guest Agent automatyzuje to, zapewniając płynne działanie operacji zależnych od czasu.
  • Zarządzanie zasilaniem: Wyobraź sobie możliwość wyłączania lub restartowania maszyn wirtualnych bezpośrednio z panelu Proxmox — nie ma potrzeby logowania się do każdej VM. To nie tylko wygodne, ale także oszczędza czas.
  • Monitorowanie systemu: Uzyskaj szczegółowe informacje o systemach plików, aktywności sieciowej i innych parametrach operacyjnych bezpośrednio z hosta. Ten poziom monitorowania pozwala na terminową diagnostykę i regulacje.
  • Zarządzanie dyskami: Obsługa operacji na dyskach bez konieczności bezpośredniej interwencji na VM ułatwia tworzenie kopii zapasowych i przywracanie danych jak nigdy dotąd.

Konfiguracja QEMU Guest Agent na twoim serwerze Proxmox

Uruchomienie QEMU Guest Agent obejmuje kilka prostych kroków:

  • Aktywacja Agenta: Zaloguj się do panelu Proxmox, przejdź do sekcji 'Opcje’ wybranej maszyny wirtualnej i upewnij się, że opcja 'QEMU Guest Agent’ jest zaznaczona.

Następnie instalacja na maszynie wirtualnej Ubuntu:

W celu sprawdzenia, czy odpowiednio działa qeumu-guest-agent możesz wykonać polecenie:

QEMU Guest Agent nie tylko ułatwia życie, automatyzując rutynowe zadania — również zwiększa bezpieczeństwo i efektywność twojego wirtualnego środowiska. Niezależnie od tego, czy zarządzasz pojedynczą maszyną wirtualną czy całym zbiorem, jest to nieocenione narzędzie w twoim arsenale.

Automatyczne usuwanie najstarszych plików na zdalnym dysku QNAP przez SSHFS


Automatyzacja Zarządzania Przestrzenią Dyskową w Środowisku Linux

W dzisiejszym cyfrowym świecie, gdzie dane gromadzone są w coraz większych ilościach, zarządzanie przestrzenią dyskową staje się kluczowym elementem utrzymania efektywności operacyjnej systemów. W tym artykule przedstawię skrypt, który automatyzuje proces zarządzania przestrzenią na zdalnym dysku montowanym przez SSHFS, szczególnie przydatny dla administratorów systemów, którzy regularnie muszą radzić sobie z zapełniającymi się nośnikami danych.

Wymagania wstępne

Przed rozpoczęciem, upewnij się, że na twoim systemie zainstalowane jest SSHFS oraz wszystkie niezbędne pakiety umożliwiające jego prawidłową pracę. SSHFS pozwala na montowanie systemów plików zdalnych przez SSH, co jest kluczowe dla działania naszego skryptu. Aby zainstalować SSHFS oraz niezbędne narzędzia, w tym pakiet umożliwiający przekazywanie hasła (sshpass), użyj poniższego polecenia:

Skrypt Bash do zarządzania przestrzenią dyskową

Nasz skrypt Bash skupia się na monitorowaniu i utrzymaniu określonego procentu wolnej przestrzeni dyskowej na zdalnym dysku, montowanym za pomocą SSHFS. Oto główne funkcje skryptu:

Definicja Celów:

TARGET_USAGE=70 – procent przestrzeni dyskowej, który chcemy utrzymać jako zajęty. Skrypt będzie działał na rzecz utrzymania przynajmniej 30% wolnego miejsca na dysku.

Punkt Montowania i Ścieżki:

MOUNT_POINT=”/mnt/qnapskorupki” – lokalny katalog, w którym montowany jest zdalny dysk. TARGET_DIRS=”$MOUNT_POINT/up*.soban.pl” – ścieżki katalogów, w których skrypt będzie szukał plików do usunięcia, jeśli zajdzie taka potrzeba.

Funkcja check_qnap: Ta funkcja sprawdza, czy dysk jest zamontowany i czy katalog montowania nie jest pusty. Jeśli są problemy, skrypt próbuje odmontować i ponownie zamontować dysk, używając sshfs z hasłem przekazanym przez sshpass.

Usuwanie Plików: Skrypt monitoruje użycie dysku i, jeśli przekroczone jest TARGET_USAGE, znajduje i usuwa najstarsze pliki w określonych katalogach aż do osiągnięcia docelowego poziomu wolnej przestrzeni.

Przykładowe wywołanie skryptu:

skrypt zaczyna pracę i stopniowo usuwa pliki

skrypt będzie pracować aż do osiągnięcia 70% zgodnie z założeniem:

Skrypt pracuje do osiągniecia 70%

Pobieranie skryptu i dodawanie do crontaba

Skrypt oczywiście należy dostosować pod swoje wymagania, jednak jeśli chcesz go pobrać i dodać do crontaba to:

Jeśli chcemy zautomatyzować proces usuwania np pod koniec dnia, to warto dodać do crontaba następujący wpis:

Skrypt będzie się uruchamiać w tym przypadku o 23:55 każdego dnia:

Należy zachować powyżej odpowiednią ścieżkę do skryptu.

Bezpieczeństwo i optymalizacja

Skrypt używa hasła wprost w linii komend, co może stanowić ryzyko bezpieczeństwa. W praktycznym zastosowaniu zaleca się użycie bardziej zaawansowanych metod autentykacji, na przykład kluczy SSH, które są bezpieczniejsze i nie wymagają jawnej obecności hasła w skrypcie. Jednak w przypadku QNAPa posłużyliśmy się hasłem pisząc ten skrypt.

Podsumowanie

Prezentowany skrypt jest przykładem, jak można automatyzować codzienne zadania administracyjne, takie jak zarządzanie przestrzenią dyskową, zwiększając tym samym efektywność i niezawodność operacji. Jego implementacja w realnych środowiskach IT może znacznie usprawnić procesy zarządzania danymi, zwłaszcza w sytuacjach, gdzie szybkie reagowanie na zmiany w użyciu dysku jest krytyczne.