Ostateczna lista nietypowych, ale naprawdę użytecznych poleceń powłoki Linuksa

To jest kompilacja mniej znanych poleceń powłoki Linuksa - ale naprawdę użytecznych. Użyteczne w sensie: oszczędzające czas, dające ci dodatkowe narzędzia do robienia rzeczy, których wcześniej nie mogłeś zrobić, ale także zabawne. Miłego czytania i daj nam znać w komentarzach, jeśli są dodatkowe narzędzia, które powinniśmy dodać!

Instrukcje instalacji są przeznaczone dla systemów opartych na Debianie, zostały przetestowane na Raspberry Pi OS, na Raspberry Pi 4 / 1 GB. YMMV na innych systemach, ale po prostu spróbuj i wypróbuj te komendy 🙂

sudo !!!

To wykona poprzednią komendę z poprzedzonym sudo. Naprawdę przydatne, jeśli zapomniałeś poprzedzić komendę sudo:

apt-get update
sudo !!!

Nie trzeba go instalować, jeśli sudo jest w twoim systemie, to powinno działać. Zwróć uwagę na spację między sudo a wykrzyknikami.

Polecenie przygotowane przez sudo zostanie również dodane do historii basha, więc możesz wygodnie do niego dotrzeć, wpisując klawisz strzałki "w górę", aby je powtórzyć. (Zademonstrowałem to na powyższej animacji. sudo !!! NIE zostanie dodany do Twojej historii)

tac (kot odwrócony tyłem)

Ta przydatna instrukcja jest wbudowana razem z jej bardziej znanym bratem, cat. Przekaż jej plik, aby odwróciła kolejność linii w pliku, drukując ostatnią linię jako pierwszą:

tac /etc/magic

To polecenie powinno być naprawdę przydatne, jeśli na przykład przeglądasz pliki dziennika.

tldr - manpages, uproszczone!

Aby rozbroić bombę, po prostu wpisz poprawną komendę tar przy pierwszej próbie. Masz 10 sekund.
xcdk 1168

Strony man są przydatne, ale czasami dość długie. Czy zdarzyło ci się, że zamiast zajrzeć do manpage'a, wygooglowałeś go? Po prostu dlatego, że chcesz prawdziwych przykładów z życia wziętych do codziennego użytku, zamiast wszystkich dzwonków i gwizdków, które dana komenda ma do zaoferowania? tldr dostarcza "collaborative cheatsheets for console commands".

TL;DR: tldr jest narzędziem do szybkiego streszczania poleceń Linuksa

Istnieje również Wersja PDF (tldr.sh) który zawiera wszystkie aktualnie dostępne strony tldr

instalacja tldr

Uwaga: Będzie to wymagało npm / node.js, aby być zainstalowanym w systemie Linux.

npm install -g tldr

używając tldr

po prostu wpisz tldr a następnie polecenie, którym jesteś zainteresowany. Przy pierwszym uruchomieniu, tldr zaktualizuje swoją pamięć podręczną i utworzy indeks, co zajmie trochę czasu. Na przykład, aby zobaczyć stronę tldr na temat gzip, uruchom:

tldr gzip

wkłady i alternatywy tldr

Jeśli chciałbyś wnieść swój wkład do tldr, zajrzyj na stronę GitHub - tldr-pages/tldr: 📚 Współpracujące cheatsheety dla komend konsolioraz ich wytyczne dotyczące wnoszenia wkładu.

Istnieją pewne alternatywy:

  • Cheat
  • Bro Pages ("po prostu przejdź do rzeczy")
  • navi - pozwala na przeglądanie cheatsheets w interaktywny sposób i budowanie komend, które chcesz wykonać
  • cheat.sh - może być użyty bez instalowania czegokolwiek, poprzez użycie curl

how2 - stackoverflow z terminala

tldr i cousins są naprawdę przydatne, jeśli już znasz polecenie, które chcesz wykonać. Ale co możesz zrobić, jeśli wiesz tylko, co musisz zrobić, ale jeszcze nie wiesz jak? Wszyscy wiemy, jak rozpraszające mogą być przeglądarki. Narzędzie how2 pomaga uzyskać szybką odpowiedź bez opuszczania wiersza poleceń.

instalacja how2

Wymaga zainstalowania w systemie node.js i menedżera pakietów npm.

sudo npm install -g how-2

how2 użycie

jak2 zamontować dysk NTFS w Raspbian

Jeśli jesteś zadowolony z odpowiedzi, naciśnij klawisz Enter, aby wyjść z how2 - w przeciwnym razie naciśnij spację, aby uzyskać więcej opcji. Użyj klawiszy strzałek na klawiaturze, aby nawigować, i Esc, aby wyjść.

howdoi - uzyskaj odpowiedzi na pytania dotyczące kodowania z linii poleceń

W podobnym duchu, jeśli szukasz odpowiedzi na pytania dotyczące kodowania w linii poleceń, bez konieczności przełączania się do przeglądarki, sprawdź howdoi:

jak zainstalować

sudo apt-get update
sudo apt-get install libxml2-dev libxslt-dev python3-lxml python-lxml python-dev
sudo pip3 install howdoi

wykorzystując jak

howdoi howdoi
jak używać tensorflow w pythonie
howdoi -c wyłączenie systemu za pomocą Pythona

Strona -c flaga włączy kolorowanie wyjścia. Domyślnie howdoi będzie wyszukiwać za pomocą Google, ale możesz również wybrać bing lub duckduckgo.

autojump - szybszy sposób na poruszanie się po systemie plików

autojump utrzymuje bazę danych katalogów, które najczęściej odwiedzasz z wiersza poleceń i pozwala na przejście do katalogu przez podanie tylko części jego nazwy. Nie ma potrzeby powtarzać cd do swojego katalogu docelowego!

instalacja autojump

sudo apt-get update
sudo apt-get install autojump

Z powodów politycznych, będziesz musiał dodać autojump ręcznie do ~/.bashrc dla powłok interaktywnych nie wymagających logowania, oraz do ~/.bash_profile dla powłok logowania:

nano ~/.bashrc

i dodaj następującą linię na dole:

. /usr/share/autojump/autojump.sh

Uwaga: będziesz musiał ponownie otworzyć Terminal / ponownie połączyć się przez SSH, aby to zostało zastosowane.

używanie autojump

autojump posiada wygodny skrót klawiszowy, "j", który pomaga zmniejszyć ilość wpisywanych znaków. Aby rozpocząć pracę z autojump, musisz wcześniej przygotować ścieżki do katalogów. Nawiguj normalnie, np.

cd /etc/python

Po zbudowaniu tej pamięci podręcznej katalogów, które odwiedzasz (autojump będzie śledził częstotliwość!), będziesz mógł do nich przejść, wpisując część nazwy, np:

j pyt

Podobne narzędzia do autojump

Istnieje kilka podobnych aplikacji do autojump:

mtr - połączenie ping i traceroute

mtr pokaże drogę pakietów sieciowych do hosta z Twojego Raspberry Pi. Jest to przydatne do diagnostyki sieci, do analizy opóźnień na przykład. Ale jest to również po prostu interesujące, aby zobaczyć, jak działa Internet, przekazując Twoje pakiety z jednego hosta do drugiego 🙂

instalacja mtr

sudo apt-get update
sudo apt-get install mtr

Zastosowanie mtr

mtr

mtr będzie wysyłał pakiety z celowo niskimi wartościami TTL (time to live), kontynuując ich zwiększanie, aby przeanalizować ścieżki sieciowe. Nagły wzrost utraty pakietów lub czasu odpowiedzi jest często oznaką złego (lub po prostu przeciążonego) łącza.

bat: cat code files with syntax highlighting

Istnieje wiele klonów kotów: nietoperz to klon kota ze skrzydłami. Pod skrzydłami ma kilka dodatkowych funkcji, które czynią go potężnym zamiennikiem dla kota:

  • podświetlanie składni dla wielu języków programowania i znaczników
  • integracja z git, aby pokazać modyfikacje
  • opcjonalnie pokaże znaki niedrukowalne (używając -A flaga)

Domyślnie, bat będzie również przesyłał swoje dane wyjściowe do pagera (np. mniej), jeśli dane wyjściowe są zbyt duże dla jednego ekranu.

instalacja nietoperzy

Strona strona nietoperza na GitHubie zawiera instrukcje instalacji dla różnych systemów Linux (a nawet Windows!)

Bat jest obecnie dostępny tylko w wersji "sid" (niestabilnej) Debiana. Aby zainstalować go na Raspberry Pi OS, przejdź na stronę https://github.com/sharkdp/bat/releasesi pobierz odpowiedni pakiet. (jeśli używasz 32-bitowego Raspberry Pi OS, użyj bat_*.armhf.deb, dla 64-bitowego użyj bat_*_arm64.deb; jeśli ustawiasz to na systemie x86 / AMD64, te pakiety są również dostępne).

cd /tmp
wget https://github.com/sharkdp/bat/releases/download/v0.17.1/bat_0.17.1_armhf.deb
sudo apt-get install ./bat_0.17.1_armhf.deb

użycie nietoperza

Po prostu użyj nietoperz jak przy użyciu kot:

bat example.py

Podświetlanie składni będzie określane na podstawie pierwszej linii pliku (najlepiej shebang taki jak #!/bin/sh)

asciinema & svg-term-cli: tworzenie filmów SVG z interakcji z powłoką

Uwaga: jest to asciinemanie asciicinema 🙂

Można użyć OBS Studio aby uchwycić ekran i stworzyć film dla YouTube, pokazując powłoki. Ale - jest to wideo, co ma pewne wady:

  • rozmiar
  • rozdzielczość jest stała

asciinema pozwala na przechwytywanie ich jako strumieni tekstowych i publikowanie ich jako tzw. asciicast. Możesz osadzić je na swoich stronach poprzez dołączenie małego fragmentu JavaScript, który dostarczają. Sprawdź przykład asciicast które nagraliśmy na potrzeby tego wpisu.

W przypadku stosowania z svg-term-clipozwala na tworzenie animacji SVG! Filmy te są animacjami wektorowymi, doskonale nadającymi się do interakcji w powłoce. Są one mniejsze niż pliki wideo i mogą być powiększane bez utraty jakości. Dodatkowo, nie będzie wymagany JavaScript. W przypadku umieszczania dużej ilości takich asciicastów, zalecam jednak skorzystanie z opcji JavaScript - w przeciwnym razie ucierpi na tym wydajność strony.

Instalacja asciinema

Tutaj jest link do instrukcji instalacji dla asciinemaprzyjrzymy się tym dla Raspberry Pi OS (Debian):

sudo apt-get update
sudo apt-get install asciinema

Dodatkowo, należy załóż konto na asciinema.org - wystarczy podać swój adres e-mail, a następnie połączyć swoje konto z instalacją asciinema na Raspberry Pi, uruchamiając:

asciinema auth

Wygeneruje to dla Ciebie adres URL - odwiedzając go, będąc zalogowanym, połączysz lokalną instalację asciinema z Twoim kontem na asciinema.org. Pozwoli Ci to na zarządzanie nagraniami (ustawianie tytułów, edytowanie opisów, ustawianie ich jako publiczne), oraz uniknięcie automatycznej archiwizacji nagrań po 7 dniach.

Instalacja svg-term-cli

Uwaga: wymaga to node.js & the menedżer opakowań npm do pracy. Jest to konieczne tylko wtedy, gdy chcesz tworzyć animowane pliki .SVG ze swoich asciicastów.

sudo npm install -g svg-term-cli

Użycie asciinema

Aby rozpocząć nagrywanie, wpisz:

kino asciinema rec

Spowoduje to wywołanie nowej instancji powłoki, i rozpocznie nagrywanie interakcji terminala. Aby zakończyć nagrywanie, naciśnij Ctrl + D lub wpisz wyjście

asciinema zapyta Cię teraz, czy chcesz przesłać nagranie na stronę asciinema.org (naciskając Wejdź na stronę) lub zapisać go lokalnie (naciskając Ctrl + C). W tym ostatnim przypadku, a .cast plik zostanie utworzony w katalogu tymczasowym:

asciinema: nagranie zakończone
asciinema: naciśnij, aby przesłać do asciinema.org, aby zapisać lokalnie
asciinema: asciicast zapisany do /tmp/tmp21kux252-ascii.cast

Można również określić plik wyjściowy, który ma zostać użyty:

asciinema rec /tmp/example.cast

Wskazówka: przeskaluj okno terminala do rozdzielczości kolumn i wierszy, które chcesz mieć w animacji przed rozpoczęciem nagrywania; opcje svg-term-cli -width i -height po prostu wykadrują wyjście.

Aby przesłać plik do asciinema, możesz teraz uruchomić:

asciinema upload /tmp/example.cast

Zob. ta strona zawiera bardziej szczegółowe instrukcje dotyczące używania asciinema.

Konwersja pliku asciinema .cast do pliku .svg przy użyciu svg-term-cli

Jedną z opcji (i zalecaną ze względu na wydajność) jest hostowanie plików .cast na stronie asciinema.org - która jest dobrze udokumentowane na ich stronie. Tutaj zajmiemy się opcją konwersji nagrania do animowanego pliku .svg.

svg-term --in /tmp/tmp21kux252-ascii.cast --out /tmp/example.svg

Uwaga: WordPress domyślnie wyłącza przesyłanie SVG ze względów bezpieczeństwa. Istnieją wtyczki pozwalające na bezpieczne ładowanie SVG.

exa: nowoczesny zamiennik dla ls

Podczas gdy ls może być przystosowany do wyświetlania kolorów, exa używa kolorów w naprawdę zoptymalizowany sposób i wspiera użytkownika dodatkowymi informacjami.

Na przykład, wbudowany jest widok drzewa, który pokazuje informacje o twoich plikach wraz z ich hierarchią. exa wie również o różnych typach plików i pokazuje je w różnych kolorach. Co więcej, posiada wbudowaną obsługę Git'a, która pozwala na wyświetlanie statusu staged / unstaged w standardowym widoku.

instalacja exa

sudo apt-get update
sudo apt-get install exa

stosując exa

exa

exa działa podobnie do ls. użyj flag -l aby wyświetlić listę ze szczegółami dotyczącymi plików i katalogów, -T aby wyświetlić widok drzewa wraz z podkatalogami, oraz -Tl aby wyświetlić połączony widok drzewa / szczegółów. Odnieś się do dokumentacja exa więcej informacji.

shuf: randomizuj linie w pliku

Powiedzmy, że chcesz stworzyć losową listę (użytkowników, aktywności, wybierz sobie!) poprzez tasowanie wpisów w pliku. Cóż, masz szczęście z tym narzędziem (które powinno być już preinstalowane):

shuf przykład.txt

rig: tworzenie fałszywych tożsamości

Czasami strona zmusza Cię do zarejestrowania się z podaniem swojej tożsamości. Takie strony są sprytne: sprawdzają na przykład, czy Twoje miasto odpowiada Twojemu kodowi ZIP. rig pozwala Ci poradzić sobie z tym wyzwaniem, dostarczając Ci na żądanie nieograniczoną liczbę fałszywych tożsamości (US), które powinny być w pewnym stopniu poprawne geograficznie. rig sam w sobie jest oparty na odpowiednio nazwanej "fałszywej" aplikacji MSDOS.

Instalacja urządzenia wiertniczego

sudo apt-get update
sudo apt-get install rig

Wykorzystanie platformy

platforma

browsh - nowoczesna przeglądarka tekstowa

Wszyscy wiemy o ryślynx, od 2020 roku jest najstarszą wciąż utrzymywaną przeglądarką internetową, która rozpoczęła swoją działalność w 1992 roku.

A co z tymi sytuacjami, w których lynx po prostu nie daje rady? Kiedy chcesz odtwarzać filmy z YouTube, wchodzić na strony internetowe używając JavaScript do renderowania treści, itp?

Masz szczęście. browshSzczególną atrakcją tej kolekcji niezwykłych narzędzi wiersza poleceń jest w pełni nowoczesna przeglądarka tekstowa. Wykorzystuje ona Firefoksa w backendzie do renderowania strony w trybie bezgłowym.

Uwaga: Pi 4 jest zalecane do uruchomienia tej konkretnej aplikacji, a to nadal będzie wydawać się dość powolny - jesteś prosząc Pi do wykonywania niektórych poważnych podnoszenia ciężarów z tym! Ale to jest zabawa i będzie przydatna dla użytkowników z bardziej wydajnych systemów, jestem pewien.

instalacja browsh

Udaj się do browsh downloads i pobierz odpowiedni pakiet. Na przykład dla Debian ARMv7:

cd /tmp
wget https://github.com/browsh-org/browsh/releases/download/v1.6.4/browsh_1.6.4_linux_armv7.deb
sudo apt-get install ./browsh_1.6.4_linux_armv7.deb

Spowoduje to również automatyczne wciągnięcie Firefoksa, jeśli jeszcze go nie masz.

używając browsh

browsh https://google.com

i przygotować się do poczekaj całkiem sporo.

browsh ma dobra dokumentacja. oto kilka wskazówek:

  • Użyj Ctrl+q aby wyjść z browsh
  • klawisze strzałek do przewijania
  • backspace, aby cofnąć się w historii
  • ctrl + l skupia się na pasku URL

browsh obsługuje nawet przeglądanie w zakładkach! Wspiera również ciekawą technologię zwaną mosh co pozwala na szybsze, przewidujące powłoki przez opóźnione łącza.

nohup: utrzymuj aplikację uruchomioną po opuszczeniu sesji SSH

Pamiętam to jako "no hangup". Zazwyczaj, gdy opuszczasz sesję SSH, aplikacja, która była uruchomiona w Twojej sesji dostaje komunikat SIGHUP sygnał. Co zazwyczaj prowadzi do zakończenia działania aplikacji.

W niektórych przypadkach wolałbyś tego uniknąć - na przykład, jeśli konwertujesz wideo, uruchamiasz jakiś serwer lub inny proces wsadowy.

poprzedzając polecenie znakiem nohup pozwoli mu kontynuować działanie, nawet gdy powłoka zostanie zamknięta lub SSH zostanie odłączone. Zazwyczaj łączę to z ampersandem (&), aby uruchomić polecenie w tle:

nohup ./myscript.sh &

lolcat: pokoloruj wyjście swojej powłoki. To znaczy, naprawdę je pokoloruj!

Czy masz czasem wrażenie, że światu, a w szczególności muszli, brakuje kolorów? Nie martw się więcej - lolcat na ratunek.

instalacja lolcat

sudo apt-get update
sudo apt-get install lolcat

używając lolcat

lolcat może być używany jak cat, do wyprowadzania plików na twoją powłokę:

lolcat /etc/magic

Ponadto - podobnie jak cat - może czytać ze stdin, i mieć wejście piped do niego, aby wnieść trochę więcej koloru do twojego życia:

man lolcat | lolcat
sudo apt-get update | lolcat

cal: wbudowany kalendarz

Linux ma małe niespodzianki, takie jak wbudowany kalendarz.

cal

Jeśli chcesz zobaczyć również poprzedni i następny miesiąc do bieżącego, wpisz

kal -3

Pozostaw komentarz