3 nowoczesne narzędzia CLI, które zastąpiły dla mnie ps, df i curl
Prawdopodobnie od lat używasz ps, df i curl, ale zawsze można coś poprawić. Wiem, że ja ciągle szukam nowych narzędzi, a może Ty też? Jeśli tak, mam trzy nowoczesne zamienniki tych narzędzi, które mogą Ci się spodobać.
Narzędzia GNU są liczne; jest ich setki i są instalowane w każdym podstawowym systemie. Istnieją od zarania dziejów (okej, to przesada), a najczęściej wystarczy im odświeżenie wizualne — i być może dodanie jednej lub dwóch funkcji. Poniższe narzędzia spełniają te oczekiwania, oferując kolorowe interfejsy użytkownika i pewne podstawowe udogodnienia, których brakowało ich starożytnym odpowiednikom.
procs: Ulepszenie dla zmęczonego wyglądającego PS
Pierwszym poleceniem do wymiany jest zmęczone wyglądające ps, które istnieje w systemie Linux od 1992 roku i widać to. Choć trudno rozszerzyć jego funkcjonalność, pilnie potrzebuje nowoczesnego odświeżenia, a właśnie to daje procs.
Jej ulepszenia są proste, ale mile widziane. Zaczynając od kolorowego interfejsu użytkownika, nie mogę zaprzeczyć, jak bardzo kolory są przydatne podczas czytania skomplikowanego outputu. Od plików dziennika po kod źródłowy, zwykły (niezabarwiony) tekst jest trudny do rozróżnienia. Choć brzmi to powierzchownie, pierwszą rzeczą, na którą zwracam uwagę w poleceniu, jest kolorowy wyświetlacz, ponieważ jest o wiele łatwiejszy do odczytania.
Następne na liście jest wsparcie dla pagera — tak, less istnieje od wczesnych lat dziewięćdziesiątych, a nie, ps go nie posiada. Od dawna mam problem z RSI w lewym małym palcu z powodu nadmiernego używania klawiszy Shift+|. Preferowanym pagerem dla procs jest less, ale w razie potrzeby używa more. Aby skupić się na konkretnym procesie, nie trzeba już używać grep; wystarczy podać nazwę procesu: procs bash. Jeśli potrzebujesz wielu słów kluczowych, możesz użyć procs --or bash zsh. Dodatkowo, wspiera flagi --and, --nand i --nor.
Ponadto, procs obsługuje ustawianie niestandardowych kolumn, zarówno za pomocą flag, jak i poprzez ich obszerne pliki konfiguracyjne. Istnieją dziesiątki opcji kolumn, w tym kontenery Dockera, TCP/UDP, pamięć itp.
Och, czy wspomniałem, że obsługuje też Windowsa i macOS?
Jest dostępne w Debian Trixie i nowszych wersjach:
sudo apt install procsArch Linux:
sudo pacman -S procsFedora :
sudo dnf install procsSnap :
sudo snap install procsWindows :
winget install procsMac (przez MacPorts):
sudo port install procs
I Homebrew:
brew install procsduf: df, ale w ładnych kolorach
Polecenie duf jest proste. Nie oferuje wielu funkcji, ale rozwiązuje jeden prosty problem: czytelność. Polecenie df to kolejne polecenie, które istnieje od wczesnych dni Linuksa i wciąż ma archaiczny, czarno-biały interfejs. Tak, kolory są tutaj motywem przewodnim (gra słów zamierzona), a duf to kolejne ultranowoczesne polecenie, które obsługuje aż 256 kolorów.
Nie chodzi jednak tylko o kolory; organizacja informacji w powiązane grupy to podstawowa zasada dobrego projektowania UX - nazywana prawem bliskości. Nasze mózgi kojarzą ze sobą elementy, które znajdują się blisko siebie. Na pierwszy rzut oka ułatwia to odczytywanie szczegółów.
Biorąc pod uwagę tabelaryczny charakter wyników, prawdopodobnie zastanawiasz się, jak je przeszukać za pomocą grep. To proste: podaj ścieżki jako listę argumentów.
duf /dev /dev/shmMożesz także sortować, stylizować, tematyzować i ukrywać elementy, ale dla mnie kluczową funkcją jest wyjście w formacie JSON. Jestem wielkim fanem polecenia jq, ponieważ pozwala mi wybierać tylko potrzebne pola i łączyć złożone polecenia.
duf --json | head -n 17duf --json | jq '.[].device' | sort -uJest dostępny w Ubuntu 22.04+ i Debian 12+:
sudo apt install duf
Arch Linux:
sudo pacman -S dufFedora :
sudo dnf install dufWindows (przez Chocolatey):
choco install dufWindows (przez Scoop):
scoop install dufMac (przez Homebrew):
brew install dufMac (przez MacPorts):
sudo port install dufHTTPie: curl, ale łatwiejszy w użyciu
Curl był kiedyś podstawowym narzędziem w moim zestawie poleceń, ale myślę, że może po prostu musi ustąpić miejsca bardziej zaawansowanemu poleceniu. Często używam curl do zapytań do REST API. Dla tych, którzy nie są zaznajomieni, REST API to interfejs tekstowy, którego używają deweloperzy sieciowi do pobierania danych. Pamiętasz wyjście JSON z poprzedniej sekcji? Tak właśnie wygląda REST API.
Każdy adres URL składa się z segmentów, a jeden szczególny segment służy do przesyłania informacji do serwera — nazywa się to parametrami GET (inaczej ciąg zapytania). Jeśli przyjrzymy się anatomii typowego adresu URL:
https://www.example.com/?foo=bar&baz=foobar
Widzisz te dwa segmenty „foo=bar” i „baz=foobar”? To są parametry GET i często kontrolują, jak serwer generuje stronę internetową.
Kiedy wysyłasz żądanie za pomocą curl, musisz wpisać cały adres URL, ale porównaj to do żądania HTTPie:
https GET example.com foo=bar baz=foobarNie ma żadnych niezręcznych znaków, a intencja („GET”) jest jednoznaczna. Obsługuje również JSON (REST API) bez określania odpowiednich nagłówków HTTP, i mogę ci powiedzieć, że wpisywanie ich staje się niezwykle nudne po kilkudziesięciu razy.
curl 'https://example.com/?foo=bar&baz=foobar' -H 'Content-Type: application/json'Wyniki są również w kolorze! Co sprawia, że ich czytanie jest znacznie łatwiejsze, ponieważ JSON jest szczególnie trudny do czytania bez kolorów:
To nie wszystko; HTTPie obsługuje przesyłanie plików w formacie multipart, wysyłanie formularzy, sesje, a nawet przydatną funkcję --download:
https --download ash-speed.hetzner.com/10GB.binAby zainstalować go na Debianie, Ubuntu i wszystkich pozostałych pochodnych, najpierw musisz dodać repozytorium HTTPie:
curl -SsL https://packages.httpie.io/deb/KEY.gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/httpie.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/httpie.gpg] https://packages.httpie.io/deb ./" \
| sudo tee /etc/apt/sources.list.d/httpie.list > /dev/null
sudo apt update
sudo apt install httpieFedora :
sudo dnf install httpieArch Linux:
sudo pacman -S httpieSnap :
sudo snap install httpieWindows (przez Chocolatey):
choco install httpieMac (przez Homebrew):
brew install httpieMac (przez MacPorts):
sudo port install httpieTo są moje trzy najlepsze typy, o których prawdopodobnie nigdy nie słyszałeś. Trzeba przyznać, że ostatni (HTTPie) jest bardziej przydatny dla twórców stron internetowych, ale nadaje się dla każdego, kto pisze skrypt komunikujący się z REST API — co wcale nie jest takie rzadkie.
Zapisz się, aby otrzymywać starannie wyselekcjonowane rekomendacje nowoczesnych narzędzi CLI
Zapisz się, aby otrzymywać starannie wybrane rekomendacje nowoczesnych narzędzi CLI
Subskrybując, wyrażasz zgodę na otrzymywanie newslettera i wiadomości marketingowych oraz akceptujesz Warunki korzystania z serwisu i Politykę prywatności Valnet. Możesz zrezygnować w każdej chwili.
Powinienem też dodać, że narzędzia GNU nigdzie się nie wybierają. Są obecne w każdym systemie bazowym, a curl jest również prawie uniwersalne. To świetne narzędzia i każdy wie, jak ich używać. Wyglądają po prostu nieco staro, a proponowane narzędzia zapewniają bardzo potrzebne odświeżenie.







