Szczegółowy opis zewnętrznych narzędzi wiersza poleceń w środowisku ServBay
ServBay, jako zaawansowane lokalne środowisko do web developmentu, integruje nie tylko standardowe serwery WWW, systemy baz danych i środowiska uruchomieniowe języków programowania, ale także wiele przydatnych narzędzi wiersza poleceń innych firm. Narzędzia te obejmują szerokie spektrum zastosowań: przetwarzanie obrazów, komunikację sieciową, kompresję i dekompresję plików oraz bezpieczeństwo i szyfrowanie danych.
W tym artykule szczegółowo przedstawiamy najważniejsze narzędzia dostępne w środowisku ServBay, wyjaśniamy ich funkcjonalność oraz prezentujemy podstawowe przykłady użycia, pomagając tym samym jak najlepiej wykorzystać możliwości ServBay w codziennej pracy dewelopera.
Dlaczego ServBay zawiera te narzędzia?
Podczas pracy nad projektami webowymi, oprócz pisania kodu, programiści często muszą wykonywać różne zadania dodatkowe, takie jak:
- Optymalizacja lub przetwarzanie obrazów statycznych.
- Testowanie interfejsów API lub debugowanie żądań sieciowych.
- Zarządzanie i obsługa plików skompresowanych.
- Generowanie oraz zarządzanie certyfikatami i kluczami SSL.
Dzięki integracji tych popularnych narzędzi w jednym środowisku, ServBay umożliwia korzystanie z nich bez konieczności osobnej instalacji i konfiguracji — dostępne są natychmiast po uruchomieniu środowiska, co znacząco zwiększa efektywność i wygodę pracy.
Wymagania wstępne
Przed rozpoczęciem korzystania z poniższych narzędzi upewnij się, że:
- ServBay został zainstalowany i poprawnie uruchomiony na Twoim komputerze z systemem macOS.
- Uruchamiasz terminal ServBay lub wcześniej skonfigurowałeś zmienne środowiskowe ServBay w swoim systemowym terminalu, dzięki czemu narzędzia są dostępne bezpośrednio do użycia.
Komponenty do przetwarzania obrazów
ServBay zawiera wiele narzędzi do przetwarzania grafiki, niezwykle przydatnych zarówno dla frontendowców, jak i backendowców obsługujących multimedia.
ImageMagick
ImageMagick to bogaty zestaw narzędzi i bibliotek służących do pracy z obrazami. Obsługuje ponad 200 formatów plików graficznych i umożliwia tworzenie, edycję, składanie i konwersję bitmapowych obrazów.
Podstawowe użycie
Konwersja formatu obrazu:
bashmagick convert input.jpg output.png
1Zmiana rozmiaru obrazu:
bashmagick convert input.jpg -resize 300x300 output.jpg
1Dodanie znaku wodnego:
bashmagick convert input.jpg -gravity southeast -draw "text 10,10 'ServBay'" output.jpg
1
cwebp
cwebp to narzędzie stworzone przez Google do konwersji obrazów do nowoczesnego formatu WebP. WebP zapewnia większą kompresję — zarówno bezstratną, jak i stratną — w porównaniu do JPEG i PNG, przy zachowaniu wysokiej jakości, co pozwala przyspieszyć ładowanie stron internetowych.
Podstawowe użycie
Konwersja obrazu JPEG do formatu WebP:
bashcwebp input.jpg -o output.webp
1Konwersja obrazu PNG do formatu WebP:
bashcwebp input.png -o output.webp
1Ustawienie jakości kompresji (np. jakość 80):
bashcwebp -q 80 input.jpg -o output.webp
1
jpegtran
jpegtran to bezstratne narzędzie do przekształcania plików JPEG, umożliwiające m.in. obracanie, odbijanie czy transpozycję obrazów bez utraty jakości i bez niepotrzebnego ponownego kompresowania pliku.
Podstawowe użycie
Obrócenie obrazu JPEG o 90 stopni (zgodnie z ruchem wskazówek zegara):
bashjpegtran -rotate 90 input.jpg > output.jpg
1Poziome odbicie obrazu JPEG:
bashjpegtran -flip horizontal input.jpg > output.jpg
1
djpeg
djpeg to narzędzie do dekompresji plików JPEG do prostych, surowych formatów pikseli (takich jak PPM, PGM, BMP lub Targa). Przydaje się, gdy musisz uzyskać oryginalne dane pikseli z obrazu JPEG.
Podstawowe użycie
- Rozpakowanie JPEG do formatu PPM:bash
djpeg input.jpg > output.ppm
1
cjpeg
cjpeg to narzędzie działające w odwrotnym kierunku niż djpeg. Pozwala na kompresję plików graficznych PPM, PGM, BMP czy Targa do popularnych JPEG-ów.
Podstawowe użycie
- Kompresja obrazu PPM do formatu JPEG:bash
cjpeg input.ppm > output.jpg
1
img2webp
img2webp umożliwia połączenie kilku statycznych obrazów (np. PNG, JPEG) w jeden animowany plik WebP.
Podstawowe użycie
- Połączenie serii obrazów w animowany WebP:bash(Upewnij się, że pliki
img2webp -o output.webp frame1.png frame2.png frame3.png
1frame*.png
są ułożone w odpowiedniej kolejności)
Komunikacja sieciowa
cURL
cURL to szeroko wykorzystywane narzędzie i biblioteka do przesyłania danych przez różne protokoły sieciowe. Jest niezbędne do testowania API, pobierania plików czy komunikacji z serwerami zdalnymi. W środowisku ServBay cURL jest dostępny od razu, co bardzo ułatwia debugowanie aplikacji i wymianę danych.
Podstawowe użycie
Wysłanie żądania HTTP GET do przykładowego API:
bashcurl -X GET https://api.servbay.demo/data
1Wysłanie żądania HTTP POST z danymi:
bashcurl -X POST -d "param1=value1¶m2=value2" https://api.servbay.demo/data
1Pobranie pliku i zapisanie pod oryginalną nazwą:
bashcurl -O https://servbay.demo/file.zip
1Wyświetlenie nagłówków żądania i odpowiedzi:
bashcurl -I https://servbay.demo
1
Kompresja i dekompresja plików
ServBay integruje popularne narzędzia do kompresji i dekompresji, ułatwiając przetwarzanie plików w różnych formatach.
bzip2
bzip2 to efektywne narzędzie kompresujące, wykorzystujące transformację Burrowsa-Wheelera i kodowanie Huffmana. Zazwyczaj uzyskuje większą kompresję niż gzip, choć działa nieco wolniej.
Podstawowe użycie
Kompresja pliku (oryginalny plik zostanie zastąpiony plikiem
.bz2
):bashbzip2 input.txt
1Dekompresja pliku (
.bz2
zamieniany na plik pierwotny):bashbunzip2 input.txt.bz2
1Dekompresja do standardowego wyjścia:
bashbzip2 -dc input.txt.bz2
1
gzip
gzip to jedno z najpopularniejszych narzędzi do kompresji, szeroko używane w systemach Unix i Linux. Stosuje algorytm Lempel-Ziv (LZ77) i oferuje bardzo szybkie kompresowanie i rozpakowywanie.
Podstawowe użycie
Kompresja pliku (plik pierwotny zamieniany na
.gz
):bashgzip input.txt
1Dekompresja pliku (
.gz
zamieniany z powrotem na plik pierwotny):bashgunzip input.txt.gz
1Dekompresja do standardowego wyjścia:
bashgzip -dc input.txt.gz
1
xz
xz to narzędzie kompresujące oparte na algorytmie LZMA2. Zazwyczaj osiąga znacznie wyższy współczynnik kompresji niż gzip czy bzip2, choć proces samej kompresji bywa wolniejszy. Dekompresja jest natomiast szybka.
Podstawowe użycie
Kompresja pliku (plik pierwotny zamieniany na
.xz
):bashxz input.txt
1Dekompresja pliku (
.xz
zamieniany na plik wyjściowy):bashunxz input.txt.xz
1Dekompresja do standardowego wyjścia:
bashxz -dc input.txt.xz
1
zstd
zstd (Zstandard) to bardzo szybki, bezstratny algorytm kompresji stworzony przez Facebooka. Łączy doskonały poziom kompresji z niezwykle wysoką szybkością, często przewyższając gzip i dorównując mu pod względem stopnia kompresji.
Podstawowe użycie
Kompresja pliku (oryginał zamieniany na
.zst
):bashzstd input.txt
1Dekompresja pliku (
.zst
zamieniany na plik wyjściowy):bashunzstd input.txt.zst
1Dekompresja do standardowego wyjścia:
bashzstd -dc input.txt.zst
1
Szyfrowanie i bezpieczeństwo
OpenSSL
OpenSSL to rozbudowany pakiet narzędzi open source pozwalający na wdrażanie i zarządzanie protokołami SSL (Secure Sockets Layer) oraz TLS (Transport Layer Security) i zapewniający szeroki zakres funkcjonalności kryptograficznych. W środowisku ServBay OpenSSL jest szczególnie przydatny do generowania kluczy, żądań podpisania certyfikatów (CSR) i obsługi plików certyfikatów SSL, zwłaszcza podczas lokalnych testów HTTPS lub współpracy z własnym CA ServBay bądź ACME.
Podstawowe użycie
Generowanie klucza prywatnego RSA (2048 bitów):
bashopenssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
1Wygenerowanie klucza publicznego na podstawie klucza prywatnego:
bashopenssl rsa -pubout -in private_key.pem -out public_key.pem
1Generowanie żądania podpisania certyfikatu (CSR):
bashopenssl req -new -key private_key.pem -out request.csr
1(Po uruchomieniu tego polecenia należy postępować zgodnie z instrukcjami i podać dane, takie jak kraj, organizacja, nazwa zwyczajowa itd.)
Generowanie certyfikatu samopodpisanego (do testów lokalnych):
bashopenssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt
1(Uwaga: parametr
-in request.csr
oznacza, że musisz mieć wcześniej wygenerowany CSR. Istnieją krótsze polecenia pozwalające w jednym kroku wygenerować klucz i certyfikat, ale stosujemy je wyłącznie w najprostszych przypadkach testowych.)Wyświetlenie informacji o certyfikacie:
bashopenssl x509 -in certificate.crt -text -noout
1
Wskazówki i uwagi
- Wersje narzędzi mogą się różnić zależnie od wersji ServBay.
- Wszystkie narzędzia można uruchamiać bezpośrednio z poziomu terminala. W razie problemów z dostępnością sprawdź, czy zmienne środowiskowe ServBay (zwłaszcza PATH) są poprawnie ustawione.
Podsumowanie
ServBay to nie tylko lokalne środowisko do tworzenia stron internetowych — to także zestaw niezwykle praktycznych narzędzi wiersza poleceń, znacznie zwiększający jego funkcjonalność i elastyczność. Dzięki nim praca nad przetwarzaniem obrazów, debugowaniem sieci, zarządzaniem plikami czy zadaniami z zakresu bezpieczeństwa staje się szybsza i wygodniejsza. Dobrze opanowane i swobodnie wykorzystywane, narzędzia te pozwolą Ci osiągnąć jeszcze większą wydajność w codziennej pracy programistycznej.