Ściąga z Linuxa, Basha i wiersza poleceń... Cheat sheet from Linux, Bash and the command line...

Linux to rodzina open-source Unix-podobnych systemów operacyjnych stworzonych w oparciu o jądro Linuxa. Pierwsza wersja jądra Linux została udostępniona publicznie 17 września 1991 dla architektury komputera PC przez Linusa Torvaldsa.

Dystrybucje zawierają jądro Linuksa oraz pomocnicze oprogramowanie systemowe i biblioteki. Popularne dystrybucje Linuksa obejmują Debian, Fedora i Ubuntu. Komercyjne dystrybucje obejmują Red Hat Enterprise Linux i SUSE Linux Enterprise Server.

Dystrybucje Linuksa dla komputerów stacjonarnych zawierają system okienkowy, taki jak X11 lub Wayland, oraz środowisko graficzne, takie jak GNOME lub KDE Plasma. Dystrybucje przeznaczone dla serwerów mogą całkowicie pomijać grafikę lub zawierać stos rozwiązań, taki jak LAMP.

Bash

Ważną częścią systemu operacyjnego jest powłoka systemowa (Shell), którą najczęściej dla Linuxa jest Bash napisany dla projektu GNU. Bash to jedna z najpopularniejszych powłok systemów uniksowych. Jest domyślną powłoką w większości dystrybucji systemu GNU/Linux oraz w systemie macOS. Istnieje także wersja dla systemu Windows, np. standardowo instalowana wraz z systemem GIT.

Bash pozwala na pracę w trybie konwersacyjnym i w trybie wsadowym. Język Bash umożliwia definiowanie aliasów, funkcji, zawiera instrukcje warunkowe, jak i konstrukcje sterujące przepływem. Powłoka systemowa zachowuje historię wykonywanych poleceń i zapisuje ją domyślnie w pliku _.bashhistory w katalogu domowym użytkownika.

Polecenia "organizacyjne"

  • clear lub ctrl+l - czyści ekran
  • exit - zamyka okno konsoli (bash & cmd)
  • alias - wyświetla aliasy poleceń
    • alias ll='ls -al' - ustanawia nowy alias (tymczasowy)
    • stały zapis aliasów w pliku: ~/.bashrc lub ~/.bash_aliases
  • history - Wyświetla historię poleceń wprowadzanych w terminalu.
  • polecenie | clip - kopiowanie do schowka (działa w bash i cmd)

Polecenia związane z katalogami

  • pwd - pokazuje aktualny katalog (w cmd polecenie CD)
  • ls - Wyświetla listę plików z bieżącego katalogu,
    • ls -l - jak wyżej w formie pełnej
    • ls -a - wyświetla pliki ukryte
    • ls -al - obie powyższe opcje
  • cd - Zmienia bieżący katalog,
    • cd dir - zmiana katalogu na dir
    • cd ~ - przejście to katalogu domowego C:\Users\TWOJLOGIN
    • cd - - przejście do poprzedniego katalogu
    • cd .. - przejście do katalogu wyżej
    • cd / - przejście do katalogu root
  • mkdir - Tworzy nowy katalog.
  • mv - Przenosi lub zmienia nazwę plików i katalogów.
  • rm - Usuwa pliki i katalogi,
    • rm ‹file› - kasuje plik ‹file›
    • rm -r ‹dir/› - kasuje katalog
    • rm -rf ‹dirnoempty/› - usuwa niepusty katalog -f force

Polecenia związane z plikami

  • cat - Wyrzuca/wyświetla plik na standardowe wyjście/ekran
  • tac - wyrzuca plik na wyjście/ekran od tyłu
  • cp - Kopiuje pliki i katalogi.
    • cp ‹file1› ‹file2› - kopiowanie
    • cp -r ‹dir1/› ‹dir2/› - kopiowanie katalogów
  • tail -liczba ‹file› - pokazuje określoną ilość linii od końca
  • touch ‹file› - tworzy plik
  • >‹file› - tworzy plik lub zeruje jeśli istnieje plik
  • polecenie >‹file› - przeniesienie wyjścia polecenia do pliku; np. ls -al >moje_pliki.txt
    • echo 'ciąg znaków' >‹file› - zapisanie stringa 'ciąg znaków' do pliku
  • polecenie >>‹file› - dopisuje do pliku wyjście z polecenia do pliku
    • ping -t onet.pl >>log_pings.txt - dopisuje do pliku logu komunikaty z pinga
  • df - pokazuje zasoby dyskowe
    • df -h - wersja z zapisem dla człowieka (human)

Wyszukiwanie, dopasowanie do wzorca

  • grep - Wyszukuje wzorce w plikach i wyświetla pasujące linie,
    • grep 'szukany ciąg' ‹file› - szuka w zawartości pliku, default case-sensitive i regexp
    • cat ‹file› | grep -i -F Hello - szuka Hello case-insensitive i nie regex w strumieniu cat
    • grep -i 'Hello' ‹file› - szuka słowa 'hello' w podanym pliku
  • find - Wyszukuje pliki i katalogi na podstawie różnych kryteriów, takich jak nazwa, rozmiar i data modyfikacji. Przykłady:
    • find / -type f -size +500M -exec ls -lh {} \; ; awk '{ print $8 ": " $5 }' - wyszukiwanie dużych plików. Rozmiar: 'k' - kilobajty, 'M' - megabajty, 'G' - gigabajty
    • find . -name *.mp4 -exec ls -lh {} \; - wyszukiwanie plików określonym rozszerzeniu z bieżącego katalogu
    • find /var -type f -size +12M -delete - kasowanie dużych plików

Prawa i uprawnienia

  • sudo - pozwala na uzyskanie tymczasowych uprawnień administratora (root'a) w celu wykonania określonego polecenia. (Nie działa w Windows)
  • su - Logowanie na innego usera (Nie działa w Windows)
    • sudo su -l ‹newuser› - Logowanie z wejściem do jego katalogu domowego
  • chmod - Zmienia uprawnienia pliku
  • chown - Zmień właściciela i/lub grupę pliku.
    • chmod octanr ‹file› - nadaje prawa do pliku zgodnie z konwencją ósemkową np: full: 0777
    • chmod +x ‹skrypt› - nadaje prawo do uruchamiania, szczególnie dla skryptów bash
  • chown - zmiana właściciela i przynależności do grupy
    • chown -r apache:apache *.php - przykład przypisania plików PHP do właściciela i grupy apache
    • chown apache:apache ‹dir/› - podobnie jak powyższe dla całego folderu

Polecenia sieciowe

  • ping - Testuje połączenie z podanym adresem IP.
  • curl - Pobiera i wysyła dane za pomocą różnych protokołów sieciowych.
  • wget - pobiera plików z sieci za pomocą protokołów HTTP/S i FTP. Pozwala na pobieranie zarówno pojedynczych plików, jak i całych witryn internetowych.

Kompresja i archiwizacja plików

  • zip / unzip - Służy do archiwizacji i dearchiwizacji plików.
  • tar - Narzędzie do tworzenia i rozpakowywania archiwów. Przykład: tar -xvvzf archiwum.tgz sciezka/plik.txt

Zarządzanie aplikacjami procesami

  • taskkill - Zamyka procesy w systemie.
  • kill - służy do zakończenia procesów działających w systemie operacyjnym. Podstawowe użycie kill to podanie nr PID (Process ID) do procesu, który ma zostać zakończony.
  • top - Wyświetla bieżące zużycie zasobów systemowych, takich jak procesor i pamięć. (Nie działa w Windows)
  • polecenie & - dodanie ampersand na końcu wrzuca polecenie w tło
    • jobs - lista programów w tle
    • bg nr - wrzuć program w tło o numerze nr
    • fg nr - wyciągnij program jako pierwszoplanowy z tła

Pełnoekranowe narzędzia

  • less - to polecenie/narzędzie do przeglądania plików tekstowych w trybie interaktywnym. Pozwala na przewijanie pliku w górę i w dół, przeszukiwanie tekstu, wyświetlanie numerów linii i wiele innych opcji.
  • nano - prosty edytor w konsoli
  • vim - VIM ulepszona wersja edytora tekstu Vi

Polecenia związane z programowaniem

  • which polecenie - Zwraca bezwzględną ścieżkę do danego polecenia, programu
  • wc - Liczy ilość linii, bajtów itp.
  • php -f ‹file›.php - Uruchomienie skryptu PHP musisz zainstalować PHP (w systemie Winsows np. pakiet XAMPP lu Wampserver)
  • git status - Uruchomienie polecenia git, musisz zainstalować GITa - manual w dokumencie: Ściąga z GIT i kursy GITa
  • chcp - zmiana tablicy znaków, charset:
    • cp852 - kodowanie 1 bajtowe w konsoli cmd (DOS/Windows)
    • iso-8859-2 - 1 bajtowe standaryzowane dla Linux
    • windows-1250 - 1 bajtowe standardowe w Windows (pliki MS Office np. .CSV)
    • utf-8 - wielobajtowe unicode; znaki narodowe kodowane od 2 do 4 bajtów

Inne przydatne polecenia

  • awk - Narzędzie do przetwarzania tekstu i danych wierszowych.
  • cut - Wybiera określone kolumny z pliku tekstowego.
  • date - Wyświetla bieżącą datę i godzinę systemową.
  • du - Wyświetla rozmiar plików i katalogów na dysku.
  • echo - Wyświetla podany tekst.
  • sed - Narzędzie do edycji i modyfikowania tekstu w plikach.
  • type - Wyświetla informacje o podanej komendzie. W tym ścieżkę do pliku jeśli jest to poleceniem zewnętrznym.
  • where - Wyświetla lokalizację plików pasujących do wzorca wyszukiwania. Domyślnie wyszukiwanie odbywa się w bieżącym katalogu i w ścieżkach określonych przez zmienną środowiskową PATH.

Polecenia dostępne pod Windows

  • cmd - windows command line interface "DOS-owy" wiersz poleceń
  • dir - wyświetla listę plików w cmd

Materiał przygotował dla Was:
Andrzej EZNAWCA Mazur
Zapraszam na moje strony:
LekcjePHP.pl
Eznawca.pl