Jak uzyskać listę wszystkich poleceń dostępnych dla Ubuntu?

22

Chcę częściej korzystać z terminala, ale nie wiem, jakie są dostępne różne polecenia. Czy istnieje sposób na wylistowanie wszystkich różnych poleceń, z których mogę skorzystać?

użytkownik233219
źródło

Odpowiedzi:

25

Pierwsza metoda

NB : Dzięki @Rmano. Ta metoda nie działa z zshpowłoką.

Proste polecenie:

ls ${PATH//:/ }

Spowoduje to wyświetlenie wszystkich poleceń w $PATHzmiennej środowiskowej.

Aby zapisać wynik w pliku, możesz przekierować dane wyjściowe do pliku.

ls ${PATH//:/ } > mycommands.txt

Zauważ, że zwróci to błąd, jeśli dowolne nazwy katalogów w $PATHspacji zawierają spacje. W takim przypadku użyj tego zamiast:

while read -d ':' dir; do echo "$dir"; done <<<$PATH

Druga metoda

Możesz także użyć:

compgen -c | sort -u > commands && less commands

Trzecia metoda

Inną metodą jest podwójne Tabkliknięcie.

Czwarta metoda

Inna metoda za pomocą findpolecenia:

find {,/usr}/{,s}bin -printf '%f\n\0'
Maythux
źródło
Zauważ, że pierwsze polecenie działa w trybie in, bashale nie w nim zsh, który domyślnie wyłącza podział słów. refining-linux.org/archives/38/…
Rmano
11

Jeśli używasz bash, który jest domyślną powłoką we wszystkich oficjalnych smakach Ubuntu, uruchom, compgen -caby zobaczyć dostępne polecenia, w tym aliasy.


źródło
Czy to tylko uderzenie?
Braiam
1
Uwzględniono nawet polecenia programów opartych na GUI. Jeśli tak, compgen -c | grep thunari masz zainstalowany menedżer plików Thunar, zobaczysz również polecenia związane z Thunar.
1
Mmm ... nie działa w Debianie. Który pakiet to zapewnia?
Braiam
2
@Rinzwind, który to wyjaśnia, używam zsh.
Braiam
1
@ vasa1: Czy ta odpowiedź może być bardziej ogólna? Mam na myśli, że zapewnia ono tylko rozwiązanie bash, ale jak zauważył Braiam, nie działa dla zsh ... Jeśli to możliwe, możesz rozszerzyć odpowiedź, aby zaspokoić większą publiczność - oczywiście tylko jeśli znasz odpowiedź :-)
Aditya
4

Otwórz terminal Ctrl+ Alt+ ti uruchom następującą komendę:

whatis `compgen -c` | more 

Spowoduje to wyświetlenie wszystkich poleceń i prosty opis każdego polecenia.

Jeśli chcesz zapisać listę, możesz przekierować wynik do pliku wyjściowego

whatis `compgen -c` > listOfCommands.txt

Dlaczego więc użyłem polecenia whatis. Polecenie man whatisdaje:

Każda strona podręcznika zawiera krótki opis.
whatis przeszukuje ręczne nazwy stron i wyświetla ręczne opisy wszystkich pasujących nazw.

więc w prostych słowach whatispodaj ogólne. opis każdego polecenia

Maythux
źródło
+1 za dodatkowe informacje. whatis `compgen -c` | sort> listOfCommands.txt pomoże przejść do listy sortowania.
Saurav Kumar
Kolejne przydatne polecenie: apropos <keyword>przeszukuje wszystkie polecenia i ich krótki opis oraz wyświetla wyniki
Aloso,
3

Otwórz terminal i naciśnij Tabdwukrotnie klawisz.

dadexix86
źródło
1
-1, ponieważ nie jest to standard.
Lorenzo Ancora,
@LorenzoAncora dlaczego nie jest to standard? Czy nie wszystkie Ubuntu mają autouzupełnianie z podwójnym Tab jako standardowe zachowanie?
dadexix86
2
Domyślnie! = Standard: może w przyszłości będziemy mieć konsolę, która nie obsługuje tego mechanizmu, ponieważ nie jest standardowa; ponadto standard TAB może pełnić inną funkcję. Standardową procedurą jest wyświetlenie zawartości „bin”, ponieważ jest on częścią oficjalnego standardu FHS i każdy system Linux / Unix ma ten katalog. Prawidłowe funkcjonowanie (i zdolność społeczności do pomagania użytkownikom) Ubuntu zapewnia przestrzeganie standardów.
Lorenzo Ancora,
Ok, dziękuję za wyjaśnienie :) Myślałem, że standardowym działaniem podwójnej karty na Ubuntu było wyświetlenie zawartości ŚCIEŻKI :)
dadexix86
@LorenzoAncora Lista zawartości dowolnego katalogu nie pokaże się w pobliżu wszystkich poleceń wykonywalnych. Wyświetlanie zawartości wszystkich katalogów PATH nie pokaże wbudowanych powłok bez odpowiedniego pliku wykonywalnego (takiego jak cd). Dwukrotne naciśnięcie Tab pokonuje oba te poważne ograniczenia. Gdyby ktoś zapytał, jak wyświetlać wszystkie polecenia w dowolnym systemie GNU / Linux, można argumentować, że uzupełnienie Tab nie jest odpowiednim rozwiązaniem. Oczywiście wszystko może się zmienić w Ubuntu w przyszłości, ale prawdopodobieństwo uzupełnienia tabulatora w domyślnej interaktywnej powłoce odejścia jest znikome.
Eliah Kagan
2

Lista poleceń zależy w dużej mierze od tego, co zainstalowałeś, ale są kody, aby wyświetlić listę wszystkich poleceń. Następujące działa na większości muszli typu bourne:

  1. Naciśnij Tabdwa razy.
  2. Użyj, findaby znaleźć wszystkie pliki wykonywalne:

    find / -perm +x
    
  3. Wyświetl wszystkie pliki w katalogach binarnych (mogą być niekompletne):

    ls /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
    
Braiam
źródło
1

Otwórz okno terminala (terminal GNOME jest w porządku, również skonfigurowany xTerm).
Twoje opcje to:

  • TABDwukrotne naciśnięcie klawisza („-> <-”) spowoduje wykonanie dowolnego polecenia w konsoli, a jeśli wiersz jest pusty, otrzymasz numer i nazwy wszystkich dostępnych poleceń . Należy pamiętać, że może to zająć trochę czasu i może zawierać listę narzędzi póładministracyjnych. UWAGA: nie jest to standard, ponieważ w trybie „cross-shell” zobacz inne opcje.

  • Użyj, man -k NAMEaby wyszukać polecenie (lub jego część) i man COMMANDuzyskać instrukcję dla tego polecenia. Nie wszystkie polecenia mają instrukcję systemową; czytanie mężczyzny przed użyciem jakiegokolwiek narzędzia administracyjnego jest zawsze dobrym pomysłem; Zaufaj mi.

  • Użyj Midnight Commander ( mc), aby mieć przyjemny graficzny interfejs użytkownika (przekleństwa) do zarządzania systemem i systemem plików. Może być konieczne zainstalowanie go z poziomu menedżera pakietów. Nie martw się; jest to bezpieczne i niezwykle popularne oprogramowanie.
    UWAGA: Został stworzony, gdy masz wątpliwości lub trudności w korzystaniu z systemu plików.

  • Służy ls /bin | moredo poznania wszystkich ewentualnych administracyjnych plików wykonywalnych ; ls /sbin | moredla typowych plików wykonywalnych administracyjnych .

  • Służy ls /usr/sbin | moredo poznania wszystkich plików wykonywalnych użytkownika ; ls /usr/sbin | moreda bardzo dużą listę plików wykonywalnych i bibliotek użytkownika .
    UWAGA: Jeśli wyjście moreprzekracza jedną stronę (ekran), musisz przewijać py naciskając „Page Up” i „Page Down” lub spację.
    Możesz użyć COMMAND | grep TEXTdo filtrowania danych wyjściowych.

Jeśli masz więcej pytań, skomentuj tutaj i nie zapomnij zaznaczyć zaznaczenia obok odpowiedzi, jeśli ci pomogłem.
Miłego doświadczenia.

Lorenzo Ancora
źródło
Zwykle znajduje się w nim większość plików wykonywalnych /usr/bin, o których tu nie wspomniałeś. Jest też /sbinplik wykonywalny często używany do administrowania systemem, taki jak usermodi ifconfig. Wiele systemów ma także inne katalogi binarne, takie jak /usr/gamesi /usr/local/bin. Zobacz Standard hierarchii systemu plików i man 7 hier. Możesz to rozwinąć, aby wspomnieć o ważnych katalogach plików wykonywalnych oprócz /bini /usr/sbin.
Eliah Kagan