Ostateczna lista nietypowych, ale naprawdę przydatnych 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!
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
how2 mount an NTFS drive in 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
howdoi use tensorflow in python
howdoi -c shut down the system with Python
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:
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 example.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
rig
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
cal -3
Wniosek
No i proszę, ludzie! Ostateczna lista wszystkich poleceń Linuksa, o których nigdy nie wiedziałeś, że są ci potrzebne!
Szukasz więcej wskazówek dotyczących programowania? Sprawdź nasz artykuł "9 Sztuczek z Python REPL“!
[...] jeśli jeszcze nie opanowałeś ostatecznych poleceń terminala Linux, to zbudowanie takiego cyberpokładu z pewnością zainspiruje [...]