Polecenia Linuksa, które trzeba znać na pamięć
Czterdzieści poleceń, w tym dwadzieścia z etykietą „podstawy” — te wystarczą wszędzie.
Kopiowanie
cp -r dla całego katalogu; cp -a zachowuje w dodatku prawa i daty.
Połączenie ze zdalną maszyną
ssh użytkownik@maszyna, a z -i, gdy klucz nie jest tym domyślnym.
Przeniesienie albo zmiana nazwy
mv robi jedno i drugie: zmiana nazwy to przeniesienie pod inną nazwę.
Śledzenie dziennika na żywo
tail -f plik.log dopisuje wiersze na ekranie w miarę, jak przychodzą.
Usuwanie
rm -r dla katalogu. Kosza tu nie ma: co zniknie, to nie wraca.
Wypisanie zawartości katalogu
ls -lh dla czytelnych rozmiarów, ls -la, żeby zobaczyć też pliki ukryte.
Sterowanie usługą
systemctl status, start, restart. Status mówi też, dlaczego usługa padła.
Wyświetlenie pliku
cat do krótkich. Powyżej dwudziestu wierszy less oddaje dużo większą przysługę.
Czytanie dużego pliku
less zostawia sterowanie w rękach czytającego; ukośnik szuka w środku.
Szukanie w plikach
grep -rn "wzorzec" . podaje plik i numer wiersza, czego sam grep nie robi.
Znalezienie pliku
find . -name "*.log" -mtime -7: po nazwie i zmieniony w ciągu siedmiu dni.
Zajrzenie do podręcznika
man polecenie, a przede wszystkim ukośnik i wzorzec, żeby skoczyć do szukanej opcji.
Uruchomienie z prawami administratora
sudo do jednego polecenia, sudo -i do całej powłoki, gdy jest ich dziesięć pod rząd.
Zmiana katalogu
cd bez argumentu wraca do katalogu domowego, cd - do poprzedniego.
Podejrzenie procesów
ps aux robi zdjęcie chwili, a potok do grep pozwala odnaleźć ten swój.
Zatrzymanie procesu
kill prosi grzecznie, kill -9 nie prosi wcale. Najpierw ten pierwszy.
Sprawdzenie, gdzie się jest
pwd wypisuje ścieżkę bezwzględną i rozbraja połowę pomyłek.
Utworzenie katalogu
mkdir -p a/b/c zakłada całą ścieżkę naraz i nie marudzi, gdy ta już istnieje.
Odnalezienie dawnego polecenia
history | grep wzorzec albo Ctrl+R, które szuka w miarę pisania.
Zmiana uprawnień
chmod 644 dla pliku, 755 dla katalogu albo pliku wykonywalnego.
Sprawdzenie wolnego miejsca
df -h w podziale na partycje. Pierwsze polecenie, gdy zapis się nie udaje.
Znalezienie tego, co zapycha dysk
du -sh * w katalogu, potem zejście w największy. I tak krok po kroku.
Archiwizowanie
tar -czf archiwum.tar.gz katalog tworzy archiwum, -xzf je rozpakowuje.
Pierwsze albo ostatnie wiersze
head -n 20 i tail -n 50. W nieznanym pliku head od razu pokazuje jego kształt.
Podmiana w pliku
sed -i "s/stare/nowe/g" plik. Bez -i wynik zostaje tylko na ekranie.
Czytanie dzienników systemu
journalctl -u usługa -f śledzi jedną usługę zamiast całego systemu.
Podgląd obciążenia na żywo
htop sortuje po procesorze albo pamięci i pozwala zakończyć proces bez wychodzenia.
Kopiowanie na zdalną maszynę
rsync -av źródło/ serwer:/cel/ wznawia od miejsca przerwania, czego scp nie potrafi.
Odpytanie adresu URL
curl -i pokazuje nagłówki odpowiedzi, co rozwiewa połowę wątpliwości.
Sprawdzenie, co nasłuchuje na porcie
ss -ltnp wypisuje porty w nasłuchu wraz z procesem, który za każdym stoi.
Sprawdzenie, kto trzyma plik
lsof plik nazywa proces, który blokuje odmontowanie albo usunięcie.
Zaplanowanie zadania
crontab -e edytuje, -l wypisuje. Pięć pól: minuta, godzina, dzień, miesiąc, tydzień.
Utworzenie dowiązania symbolicznego
ln -s cel dowiązanie. Ścieżka celu zyskuje na tym, gdy jest bezwzględna.
Porównanie dwóch plików
diff -u stary nowy daje format, który czyta się wszędzie indziej.
Wyciągnięcie kolumny
awk "{print $2}" wypisuje drugie pole, niezależnie od liczby spacji.
Wykonanie polecenia na liście
find … | xargs -n1 polecenie stosuje je po kolei do każdego wyniku.
Sortowanie i usuwanie powtórzeń
sort | uniq -c zlicza wystąpienia; bez sortowania uniq nic nie wskóra.
Sprawdzenie adresu
ip a zastąpiło ifconfig; ip r pokazuje, którędy wychodzą pakiety.
Sprawdzenie, czy maszyna odpowiada
ping mówi, czy odpowiada, ale nie czy usługa działa — to dwa różne pytania.
Powtarzanie polecenia
watch -n 2 polecenie uruchamia je co dwie sekundy, zawsze w tym samym miejscu.