Komendy w Linux ułatwiające życie

Istnieją takie komendy w Linuksie, które zaoszczędzają masę pracy, zabezpieczają nas i aplikacje przed popełnieniem błędów lub po prostu wykonują za nas 99% żmudnej pracy. Prezentuję kilka z nich, bez których nie wyobrażam sobie codziennej pracy.

  1. Dopisanie linii tekstu na początek pliku
    sed -i '1s/^/+:USER:ALL\n/' test

    Polecam przy dodawaniu wpisów do /etc/security/access.conf, gdy na końcu mamy -ALL:ALL

  2. Zamiana wielkich liter, na małe litery
    tr [A-Z] [a-z]

    Przydatne gdy potrzebujemy zunifikować jakiś tekst, czy zawartość zmiennych.

  3. Wyświetlanie wybranej kolumny ze spisu oddzielonego wybranym znakiem
    awk -F',' '{print $1}' test.csv

    Użyteczne przy wyświetlaniu danych z plików CSV

  4. Wyświetlanie pasujących danych w kolumnie z wybranej kolumny ze spisu oddzielonego wybranym znakiem
    awk -F' ' '$2~/udp/ {print $7}'

    Pożyteczne przy wyświetlaniu wielu linii reguł firewalla, w tym przykładzie wyświetlona przez iptables tablica nat pokaże jakie numery portów UDP są przekierowane

  5. Zmiana wartości w wielu plikach jednocześnie
    sed -i 's/192\.168\.10\.10/10.10.10.10/g' /opt/apache/conf/httpd.conf /etc/ssh/sshd_config

    Bezcenne, gdy chcemy zmienić masowo zawartości plików, na przykład, gdy zmieniamy adres IP serwera, a nasłuchujemy na sztywno zdeklarowanym adresie.

  6. Wyświetlanie wpisów zaczynających się od wyrazu1 a kończącego na wyrazie2
    sed -n '/<title>/,/<\/title>/p' nazwapliku

    Przyspiesza pracę przy analizie html-a oraz wielu konfiguracji

  7. Wypisanie zajętości danych przez katalogi w określonym katalogu
    find / -mindepth 1 -maxdepth 1 -type d -exec du -sh {} \;

    Wygodne, gdy chcemy przeanalizować, który katalog w drzewie plików zajmuje nam dużo miejsca. Często wykorzystywane już po wykonaniu komendy df, gdzie df może nam odpowiedzieć, że na przykład wolumen /var/log zajmuje nam już 99% swojej przestrzeni, a chcemy wiedzieć, co musimy zarchiwizować.

  8. Wyświetlenie zawartości pliku bez wybranych linii
    grep -vE "^#|^$" /etc/ssh/sshd_config

    Powyższy przykład wyświetli nam plik konfiguracyjny bez komentarzy i pustych linii, znakomicie ułatwia czytanie konfiguracji.

  9. Użycie tcp oraz udp z katalogu /dev
    echo > /dev/tcp/192.168.1.1/443

    Bardzo proste sprawdzenie, czy coś nasłuchuje na tym adresie IP i porcie

  10. Zamontowanie pliku iso do katalogu
    mount -o loop,ro /sciezka/do/pliku.iso /sciezka/do/zamontowania

    Polecam, gdy posiada się kopie dysków wykonane przez dd lub chce się obejrzeć zawartość obrazu płyty

  11. Który zestaw instalacyjny w repozytorium RHEL/CentOS/Fedora dostarczy szukanej aplikacji
    yum whatprovides */gcc
    yum provides */gcc

    Przyspieszy poszukiwanie odpowiedniej paczki rpm

  12. Wykonywanie komend na zdalnym systemie i otrzymywanie wyników na lokalnym komputerze
    echo 'free -t' | ssh user@router2

    Aby było to użyteczne w praktyce, trzeba mieć wymienione klucze, wtedy można wykonać jedną komendę na wielu serwerach

  13. Wyekstrahowanie zawartości pliku rpm bez jego instalacji
    rpm2cpio plik.rpm | cpio -idmv

    Czasem możemy nie mieć uprawnień lub chęci instalowania jakiegoś narzędzia, wiele z nich można uruchomić, stąd przydatność powyższego rozwiązania

  14. Skopiowanie na serwer SSH swojego klucza publicznego
    ssh-copy-id -i /home/uzytkownik/.ssh/klucz.pub uzytkownikzdalny@maszynazdalna

    Zdecydowanie usprawnia proces kopiowania kluczy na serwery