Używając nowocześniejszych alternatyw obok starych narzędzi wiersza poleceń, można czerpać większą przyjemność i nawet zwiększać produktywność pracy.

W codziennej pracy na Linuxie/Unixie korzystamy z wielu narzędzi wiersza poleceń — na przykład du do monitorowania użycia dysku i zasobów systemowych. Niektóre z tych narzędzi istnieją od dawna. Na przykład, top pojawił się w 1984 roku, a pierwsza wersja du datuje się na 1971 rok.
Na przestrzeni lat te narzędzia zostały zmodernizowane i przeniesione na różne systemy, ale generalnie znacznie nie odbiegły od swoich pierwszych wersji, ich wygląd i użyteczność także się niewiele zmieniły.
To doskonałe narzędzia, które są niezbędne wielu administratorom systemów. Jednak społeczność opracowała alternatywne narzędzia, które oferują dodatkowe korzyści. Niektóre z nich mają po prostu nowoczesny, atrakcyjny interfejs, a inne znacznie poprawiają ergonomię. W tej wersji opowiemy o pięciu alternatywach dla standardowych narzędzi wiersza poleceń Linux.
1. ncdu vs du
NCurses Disk Usage () przypomina du, ale ma interaktywny interfejs oparty na bibliotece curses. ncdu wyświetla strukturę katalogów, które zajmują największą część przestrzeni dyskowej.
ncdu analizuje dysk, a następnie wyświetla wyniki posortowane według najczęściej używanych katalogów lub plików, na przykład:
ncdu 1.14.2 ~ Użyj klawiszy strzałek do poruszania się, naciśnij ? po pomoc
--- /home/rgerardi ------------------------------------------------------------
96.7 GiB [##########] /libvirt
33.9 GiB [### ] /.crc
7.0 GiB [ ] /Projects
. 4.7 GiB [ ] /Downloads
. 3.9 GiB [ ] /.local
2.5 GiB [ ] /.minishift
2.4 GiB [ ] /.vagrant.d
. 1.9 GiB [ ] /.config
. 1.8 GiB [ ] /.cache
1.7 GiB [ ] /Videos
1.1 GiB [ ] /go
692.6 MiB [ ] /Documents
. 591.5 MiB [ ] /tmp
139.2 MiB [ ] /.var
104.4 MiB [ ] /.oh-my-zsh
82.0 MiB [ ] /scripts
55.8 MiB [ ] /.mozilla
54.6 MiB [ ] /.kube
41.8 MiB [ ] /.vim
31.5 MiB [ ] /.ansible
31.3 MiB [ ] /.gem
26.5 MiB [ ] /.VIM_UNDO_FILES
15.3 MiB [ ] /Personal
2.6 MiB [ ] .ansible_module_generated
1.4 MiB [ ] /backgrounds
944.0 KiB [ ] /Pictures
644.0 KiB [ ] .zsh_history
536.0 KiB [ ] /.ansible_async
Całkowite użycie dysku: 159.4 GiB Widoczny rozmiar: 280.8 GiB Elementy: 561540Można poruszać się po rekordach za pomocą klawiszy strzałek. Naciskając Enter, ncdu wyświetli zawartość wybranego katalogu:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /mediaMożesz użyć tego narzędzia, aby na przykład określić, które pliki zajmują najwięcej miejsca na dysku. Aby przejść do poprzedniego katalogu, naciśnij klawisz ze strzałką w lewo. Za pomocą ncdu możesz usunąć pliki, naciskając klawisz d. Przed usunięciem program prosi o potwierdzenie. Jeśli chcesz wyłączyć funkcję usuwania, aby zapobiec przypadkowej utracie cennych plików, użyj opcji -r, aby włączyć tryb tylko do odczytu: ncdu -r.
Ncdu jest dostępny na wielu platformach i dystrybucjach Linuksa. Na przykład możesz użyć dnf do jego zainstalowania na Fedory bezpośrednio z oficjalnych repozytoriów:
$ sudo dnf install ncdu2. htop vs top
to interaktywne narzędzie do przeglądania procesów, podobne do top, ale oferujące od razu przyjemniejsze doświadczenie użytkownika. Domyślnie htop wyświetla te same informacje, co top, ale w bardziej przejrzystej i kolorowej formie.
Domyślnie htop wygląda tak:

W przeciwieństwie do top:

Dodatkowo, w górnej części htop wyświetlana jest ogólna informacja o systemie, a w dolnej — panel do uruchamiania poleceń za pomocą klawiszy funkcyjnych. Możesz go dostosować, naciskając F2, aby otworzyć ekran konfiguracji. W ustawieniach można zmienić kolory, dodać lub usunąć wskaźniki lub zmienić parametry wyświetlania panelu przeglądu.
Chociaż po przestawieniu ustawień w ostatnich wersjach top można także osiągnąć podobną użyteczność, htop zapewnia wygodne domyślne konfiguracje, co czyni go bardziej praktycznym i łatwiejszym w użyciu.
3. tldr vs man
Narzędzie wiersza poleceń tldr wyświetla uproszczone informacje pomocnicze o poleceniach, głównie przykłady. Zostało opracowane przez społeczność .
Należy zauważyć, że tldr nie jest zamiennikiem man. Wciąż jest on kanonicznym i najbardziej kompletnym narzędziem do wyświetlania stron pomocy. Jednak w niektórych przypadkach man jest zbyt obszerny. Gdy nie potrzebujesz wyczerpujących informacji o jakimkolwiek poleceniu, po prostu próbujesz zapamiętać podstawowe opcje jego użycia. Na przykład strona man dla polecenia curl zawiera prawie 3000 wierszy. Strona tldr dla curl ma długość 40 wierszy. Jej fragment wygląda tak:
$ tldr curl
# curl
Przesyła dane z lub do serwera.
Obsługuje większość protokołów, w tym HTTP, FTP i POP3.
Więcej informacji: .
- Pobierz zawartość URL do pliku:
curl http://example.com -o filename
- Pobierz plik, zapisując dane pod nazwą wskazaną przez URL:
curl -O http://example.com/filename
- Pobierz plik, śledząc [L]okalizacje przekierowań i automatycznie [C]ontynuując (wznawiając) poprzedni transfer pliku:
curl -O -L -C - http://example.com/filename
- Wyślij dane zakodowane w formularzu (żądanie POST typu `application/x-www-form-urlencoded`):
curl -d 'name=bob' http://example.com/form
- Wyślij żądanie z dodatkowym nagłówkiem, używając niestandardowej metody HTTP:
curl -H 'X-My-Header: 123' -X PUT http://example.com
- Wyślij dane w formacie JSON, określając odpowiedni nagłówek content-type:
curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234
... TRUNCATED OUTPUTTLDR oznacza „za długo; nie czytałem”: oznacza to, że tekst został zignorowany z powodu swojej nadmiernej rozwlekłości. Nazwa ta pasuje do tego narzędzia, ponieważ strony man, chociaż użyteczne, czasami bywają zbyt długie.
Dla Fedory tldr został napisany w Pythonie. Możesz go zainstalować za pomocą menedżera dnf. Zazwyczaj do działania narzędzia wymagana jest dostęp do internetu. Jednak klient Pythona w Fedorze pozwala na pobieranie i buforowanie tych stron w trybie offline.
4. jq vs sed/grep
jq to procesor JSON w wierszu poleceń. Podobny jest do sed lub grep, ale zaprojektowany specjalnie do pracy z danymi w formacie JSON. Jeśli jesteś programistą lub administratorem systemu, który codziennie korzysta z JSON, to narzędzie jest dla Ciebie.
Główną zaletą jq w porównaniu do standardowych narzędzi przetwarzania tekstu, takich jak grep i sed, jest to, że rozumie strukturę danych JSON, co umożliwia tworzenie złożonych zapytań w jednym wyrażeniu.
Na przykład, próbujesz znaleźć nazwy kontenerów w tym pliku JSON:
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"labels": {
"app": "myapp"
},
"name": "myapp",
"namespace": "project1"
},
"spec": {
"containers": [
{
"command": [
"sleep",
"3000"
],
"image": "busybox",
"imagePullPolicy": "IfNotPresent",
"name": "busybox"
},
{
"name": "nginx",
"image": "nginx",
"resources": {},
"imagePullPolicy": "IfNotPresent"
}
],
"restartPolicy": "Never"
}
}Uruchom grep, aby znaleźć linię name:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",grep zwraca wszystkie wiersze zawierające słowo name. Możesz dodać kilka dodatkowych parametrów do grep, aby go ograniczyć, a także za pomocą manipulacji wyrażeniami regularnymi znaleźć nazwy kontenerów.
Aby uzyskać ten sam wynik za pomocą jq, wystarczy wpisać:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"Ta komenda zwróci ci nazwy obu kontenerów. Jeśli szukasz tylko nazwy drugiego kontenera, dodaj indeks elementu tablicy do wyrażenia:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"Ponieważ jq zna strukturę danych, zwraca te same wyniki, nawet jeśli format pliku nieznacznie się zmieni. grep i sed w tym przypadku mogą działać niepoprawnie.
jq ma wiele funkcji, ale opisanie ich wymagałoby kolejnego artykułu. Aby uzyskać więcej informacji, skonsultuj się z jq lub z tldr.
5. fd vs find
to uproszczona alternatywa dla narzędzia find. Fd nie ma na celu całkowitego zastąpienia go: domyślnie zawiera najczęściej stosowane ustawienia, definiujące ogólne podejście do pracy z plikami.
Na przykład, podczas wyszukiwania plików w katalogu repozytorium Git, fd automatycznie wyklucza ukryte pliki i podkatalogi, w tym katalog .git oraz ignoruje wzorce z pliku .gitignore. Ogólnie przyspiesza wyszukiwanie, zwracając bardziej trafne wyniki za pierwszym razem.
Domyślnie fd wykonuje wyszukiwanie bez uwzględniania wielkości liter w bieżącym katalogu z kolorowym wyjściem. To samo wyszukiwanie za pomocą komendy find wymaga wprowadzenia dodatkowych parametrów w wierszu poleceń. Na przykład, aby znaleźć wszystkie pliki .md (lub .MD) w bieżącym katalogu, musisz wpisać taką komendę find:
$ find . -iname "*.md"Dla fd wygląda to tak:
$ fd .mdJednak w niektórych przypadkach fd również wymaga dodatkowych parametrów: na przykład, jeśli chcesz uwzględnić ukryte pliki i katalogi, musisz użyć opcji -H, chociaż zazwyczaj przy wyszukiwaniu nie jest to wymagane.
fd jest dostępny dla wielu dystrybucji Linuxa. W Fedory można go zainstalować w ten sposób:
$ sudo dnf install fd-findNie trzeba rezygnować z niczego
Czy używasz nowych narzędzi linii poleceń Linux? A może trzymasz się wyłącznie starych? Ale prawdopodobnie masz combo, prawda? Proszę, podziel się swoim doświadczeniem w komentarzach.
Reklama
Wielu naszych klientów już doceniło zalety epickich serwerów!
To , częstotliwość rdzenia CPU do 3,4 GHz. Maksymalna konfiguracja pozwoli na pełną moc — 128 rdzeni CPU, 512 GB RAM, 4000 GB NVMe. Nie czekaj, zamów już teraz!
Źródło: habr.com
