Wyszukiwanie w witrynie

Łatwe zrozumienie poleceń powłoki za pomocą skryptu „Wyjaśnij powłokę” w systemie Linux


Pracując na platformie Linux, każdy z nas w pewnym momencie potrzebuje pomocy dotyczącej poleceń powłoki. Chociaż wbudowana pomoc, taka jak strony podręcznika, polecenie whatis jest pomocne, ale dane wyjściowe stron podręcznika są zbyt długie i dopóki nie ma się doświadczenia z Linuksem, bardzo trudno jest je uzyskać jakąkolwiek pomoc z ogromnych stron podręcznika. Dane wyjściowe polecenia whatis rzadko zawierają więcej niż jedną linię, co nie jest wystarczające dla początkujących.

Istnieją aplikacje innych firm, takie jak „cheat”, które omówiliśmy tutaj „Ściągawka wiersza poleceń dla użytkowników Linuksa. Chociaż Cheat jest wyjątkowo dobrą aplikacją, która pokazuje pomoc dotyczącą poleceń powłoki nawet wtedy, gdy komputer nie jest podłączony do Internetu, pokazuje pomoc tylko w przypadku predefiniowanych poleceń.

Istnieje mały fragment kodu napisany przez Jacksona, który jest w stanie bardzo skutecznie wyjaśnić polecenia powłoki w powłoce bash i zgadnąć, co jest najlepsze: nie trzeba instalować żadnego pakietu strony trzeciej. Nazwał plik zawierający ten fragment kodu jako 'explain.sh'.

Funkcje narzędzia Wyjaśnij

  1. Łatwe osadzanie kodu.
  2. Nie ma potrzeby instalowania narzędzia innej firmy.
  3. W trakcie wyjaśniania wypisz wystarczającą ilość informacji.
  4. Do pracy wymaga połączenia z Internetem.
  5. Czyste narzędzie wiersza poleceń.
  6. Potrafi wyjaśnić większość poleceń powłoki w powłoce bash.
  7. Nie wymaga zaangażowania konta root.
Warunek wstępny

Jedynym wymaganiem jest pakiet 'curl'. W większości współczesnych dystrybucji Linuksa pakiet curl jest preinstalowany. Jeśli nie, można go zainstalować za pomocą menedżera pakietów, jak pokazano poniżej.

apt-get install curl 	[On Debian systems]
yum install curl 		[On CentOS systems]

Instalacja narzędzia wyjaśniającego.sh w systemie Linux

Musimy wstawić poniższy fragment kodu tak, jak jest w pliku ~/.bashrc. Kod należy wstawić dla każdego użytkownika i każdego pliku .bashrc. Sugeruje się wstawienie kodu tylko do pliku .bashrc użytkownika, a nie do pliku .bashrc użytkownika root.

Zwróć uwagę, że pierwsza linia kodu rozpoczynająca się od skrótu (#) jest opcjonalna i dodana tylko w celu rozróżnienia pozostałych kodów .bashrc.

# wyjaśnij.sh oznacza początek kodów, wstawiamy do pliku .bashrc na dole tego pliku.


explain.sh begins
explain () {
  if [ "$#" -eq 0 ]; then
    while read  -p "Command: " cmd; do
      curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$cmd"
    done
    echo "Bye!"
  elif [ "$#" -eq 1 ]; then
    curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$1"
  else
    echo "Usage"
    echo "explain                  interactive mode."
    echo "explain 'cmd -o | ...'   one quoted command to explain it."
  fi
}

Działanie narzędzia wyjaśniającego.sh

Po wprowadzeniu kodu i zapisaniu go należy wylogować się z bieżącej sesji i zalogować ponownie, aby zmiany zaczęły obowiązywać. Wszystkim zajmuje się polecenie 'curl', które przesyła polecenie wejściowe i flagę wymagającą wyjaśnienia do serwera mankier, a następnie wypisuje tylko niezbędne informacje do polecenia Linux -linia. Nie wspominając, że aby móc korzystać z tego narzędzia, musisz zawsze mieć połączenie z Internetem.

Przetestujmy kilka przykładów poleceń, których znaczenia nie znam, w skrypcie explain.sh.

1. Zapomniałem, co robi „du -h”. Jedyne co muszę zrobić to:

explain 'du -h'

2. Jeśli zapomniałeś, co robi „tar -zxvf”, możesz po prostu:

explain 'tar -zxvf'

3. Jeden z moich znajomych często myli użycie poleceń „whatis” z „whereis”, więc mu doradziłem.

Przejdź do trybu interaktywnego, wpisując po prostu polecenie wyjaśnij na terminalu.

explain

a następnie wpisz polecenia jedno po drugim, aby zobaczyć, co robią w jednym oknie, jako:

Command: whatis
Command: whereis

Aby wyjść z trybu interaktywnego, wystarczy nacisnąć Ctrl + C.

4. Możesz poprosić o wyjaśnienie więcej niż jednego polecenia połączonego potokiem.

explain 'ls -l | grep -i Desktop'

Podobnie możesz poprosić powłokę o wyjaśnienie dowolnego polecenia powłoki. Wszystko czego potrzebujesz to działające połączenie internetowe. Dane wyjściowe są generowane na podstawie wyjaśnień wymaganych od serwera, w związku z czym wyniku wyjściowego nie można dostosowywać.

Dla mnie to narzędzie jest naprawdę pomocne i cieszę się, że zostało dodane do mojego .bashrc. Daj mi znać, co myślisz o tym projekcie? Jak może Ci się to przydać? Czy wyjaśnienie jest zadowalające?

Przekaż nam swoje cenne uwagi w komentarzach poniżej. Polub i udostępnij nas i pomóż nam się rozprzestrzeniać.