Wyszukiwanie w witrynie

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 procs

Arch Linux:

sudo pacman -S procs

Fedora :

sudo dnf install procs

Snap :

sudo snap install procs

Windows :

winget install procs

Mac (przez MacPorts):

sudo port install procs

I Homebrew:

brew install procs

duf: 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/shm

Moż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 17

duf --json | jq '.[].device' | sort -u

Jest dostępny w Ubuntu 22.04+ i Debian 12+:

sudo apt install duf

Arch Linux:

sudo pacman -S duf

Fedora :

sudo dnf install duf

Windows (przez Chocolatey):

choco install duf

Windows (przez Scoop):

scoop install duf

Mac (przez Homebrew):

brew install duf

Mac (przez MacPorts):

sudo port install duf

HTTPie: 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=foobar

Nie 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.bin

Aby 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 httpie

Fedora :

sudo dnf install httpie

Arch Linux:

sudo pacman -S httpie

Snap :

sudo snap install httpie

Windows (przez Chocolatey):

choco install httpie

Mac (przez Homebrew):

brew install httpie

Mac (przez MacPorts):

sudo port install httpie

To 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.

Powiązane artykuły