Ile macie poleceń w swoim Linuxie ?

Tutaj można zadać pytanie, jeśli Linuksa widzi się pierwszy raz w życiu ;)
Newtroter
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 173
Rejestracja: 24 gru 2024, 11:43

Ile macie poleceń w swoim Linuxie ?

Post autor: Newtroter »

Ile macie poleceń w swoim Linuxie ? ;-)

Chat Gemini:
Jak sprawdzić, ile poleceń masz w swoim systemie? Możesz to łatwo policzyć za pomocą terminala. Komenda ta przeszukuje zmienną środowiskową $PATH (miejsca, w których system szuka programów) i wyświetla łączną liczbę dostępnych poleceń:

IFS=:; find $PATH -maxdepth 1 -executable -type f | wc -l

W standardowej, czystej instalacji popularnych dystrybucji wynik zazwyczaj waha się od 500 do nawet ponad 2000 poleceń. Warto jednak pamiętać, że nawet doświadczeni administratorzy na co dzień korzystają zaledwie z około 30–50 najważniejszych komend.

Ja mam 1938 :shock: Ubuntu 24.04

Może ktoś umiałby coś objaśnić. O co dokładnie chodzi?
adam_itok13
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 14 sie 2026, 15:07
Płeć: Mężczyzna
Wersja Ubuntu: 22.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Kontakt:

Re: Ile macie poleceń w swoim Linuxie ?

Post autor: adam_itok13 »

Podana komenda rozdziela $PATH po dwukropkach i dla każdego katalogu liczy pliki zwykłe z ustawionym bitem wykonywalności w poziomie katalogu (maxdepth 1). Nie są w ten sposób policzone polecenia wbudowane w powłokę, aliasy ani pliki będące jedynie dowiązaniami symbolicznymi (ponieważ użyto -type f), a te same pliki występujące w kilku katalogach będą policzone wielokrotnie. Jeśli chcesz policzyć unikalne nazwy poleceń i uwzględnić dowiązania, możesz wypisać zawartość każdego katalogu z PATH, posortować i odfiltrować duplikaty przed wc -l. Uważaj też, że pusty lub nieistniejący katalog w $PATH spowoduje błąd find, więc lepiej iterować po katalogach i sprawdzać, czy istnieją.
Newtroter
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 173
Rejestracja: 24 gru 2024, 11:43

Re: Ile macie poleceń w swoim Linuxie ?

Post autor: Newtroter »

U mnie żadnych błędów nie pokazał. Po prostu liczba i tyle. Jak się nie boisz to napisz ile wychodzi u Ciebie i jaki masz system. maxdepth 1 to nie katalog, to instrukcja terminala

"maxdepth 1 - to instrukcja dla terminala w systemie Ubuntu (Linux), aby szukać plików lub sprawdzać rozmiar tylko w bieżącym folderze i nie wchodzić do głębszych podfolderów"
Awatar użytkownika
kobrawerde
Gibki Gibbon
Gibki Gibbon
Posty: 2325
Rejestracja: 10 wrz 2006, 16:00
Płeć: Mężczyzna
Wersja Ubuntu: 24.04
Środowisko graficzne: Cinnamon
Architektura: x86_64
Kontakt:

Re: Ile macie poleceń w swoim Linuxie ?

Post autor: kobrawerde »

1. Wszystkie unikalne polecenia (najpopularniejszy sposób)
Polecenie to zlicza programy w katalogach zmiennej $PATH, wbudowane komendy powłoki (builtins), aliasy oraz słowa kluczowe (z usunięciem duplikatów):

Kod: Zaznacz cały

compgen -c | sort -u | wc -l
4399
Rozbicie na kategorie
Jeśli chcesz zobaczyć szczegółowy podział na typy komend:
- Tylko wbudowane komendy Basha (np. cd, echo, export):

Kod: Zaznacz cały

compgen -b | wc -l
61

- Tylko zdefiniowane aliasy:

Kod: Zaznacz cały

compgen -a | wc -l
8

- Tylko słowa kluczowe powłoki (np. if, while, for):

Kod: Zaznacz cały

compgen -k | wc -l
22

3. Tylko fizyczne pliki wykonywalne w katalogach $PATH
Jeśli interesują Cię wyłącznie pliki binarne i skrypty znajdujące się w ścieżkach systemowych:

Kod: Zaznacz cały

echo "$PATH" | tr ':' '\n' | xargs -I {} find {} -maxdepth 1 -type f -executable 2>/dev/null | sort -u | wc -l
3427

twoja komenda daje takie info ( w moim systemie bez snap-a )

Kod: Zaznacz cały

IFS=:; find $PATH -maxdepth 1 -executable -type f | wc -l
find: ‘/snap/bin’: Nie ma takiego pliku ani katalogu
3427
Serwer: LinuxMint/Ubuntu 22.04/HWE kernel/Vsftpd/Kodi/Jellyfin/iptv-dvbt2/etc.
CPU: Intel N100 / RAM: 32GB DDR5
Storage: Lexar NM620 2TB M.2 - (x2)
Mobo: MiniPC (Topton X6C )
Laptop: Lenovo Legion 5 Pro 16ITH6H /Ram32GB/ssd500GB/ssd1TB
Newtroter
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 173
Rejestracja: 24 gru 2024, 11:43

Re: Ile macie poleceń w swoim Linuxie ?

Post autor: Newtroter »

compgen -c | sort -u | wc -l
2480

Czemu masz dwa razy więcej ode mnie? :pt36:
61,8, 22 mam tak samo
masz aplikacje, które wprowadzają prawie 2 tys nowych poleceń?
Ostatnio zmieniony 18 sie 2026, 23:07 przez Newtroter, łącznie zmieniany 1 raz.
Awatar użytkownika
kobrawerde
Gibki Gibbon
Gibki Gibbon
Posty: 2325
Rejestracja: 10 wrz 2006, 16:00
Płeć: Mężczyzna
Wersja Ubuntu: 24.04
Środowisko graficzne: Cinnamon
Architektura: x86_64
Kontakt:

Re: Ile macie poleceń w swoim Linuxie ?

Post autor: kobrawerde »

Może dlatego że mój system mam już bardzo długo i doinstalowywałem pełno programów także zależności do kompilacji w/w ? i dokonywałem także upgrade wersji zamiast instalować linux-a od nowa ...chyba lenistwo :-) no i niby mam Minta choć to też Ubuntu 24.04.
Serwer: LinuxMint/Ubuntu 22.04/HWE kernel/Vsftpd/Kodi/Jellyfin/iptv-dvbt2/etc.
CPU: Intel N100 / RAM: 32GB DDR5
Storage: Lexar NM620 2TB M.2 - (x2)
Mobo: MiniPC (Topton X6C )
Laptop: Lenovo Legion 5 Pro 16ITH6H /Ram32GB/ssd500GB/ssd1TB
Newtroter
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 173
Rejestracja: 24 gru 2024, 11:43

Re: Ile macie poleceń w swoim Linuxie ?

Post autor: Newtroter »

Chat Gemini:
dlaczego zapytanie o ilosć poleceń: compgen -c | sort -u | wc -l daje na jednym komputerze dwa razy więcej rekordów niz na drugim przy tym samym OS

Różnica w liczbie wyników zwracanych przez polecenie compgen -c | sort -u | wc -l na dwóch komputerach z tym samym systemem operacyjnym wynika z faktu, że compgen nie bada samej bazy systemu, lecz aktualne środowisko powłoki (Bash).

Główne czynniki wpływające na tę różnicę to:
1. Zawartość zmiennej środowiskowej PATH

Polecenie compgen -c pobiera listę wszystkich poleceń dostępnych w katalogach zdefiniowanych w zmiennej PATH.

Jeśli jeden komputer ma bogatszą ścieżkę (np. dodane katalogi z narzędziami programistycznymi, pakiety Snap, Flatpak, /usr/local/bin czy katalogi domowe użytkownika typu ~/.local/bin), compgen wykryje znacznie więcej plików wykonywalnych.

2. Zainstalowane pakiety i oprogramowanie

Nawet przy tym samym systemie operacyjnym (np. Ubuntu), konfiguracja "czysta" (minimalna instalacja) różni się drastycznie od komputera programisty, na którym zainstalowano pakiety developerskie, biblioteki, kontenery (Docker) czy dodatkowe narzędzia CLI. Każdy zainstalowany program dodaje swoje pliki wykonywalne do systemowych ścieżek.
3. Aliasy i funkcje powłoki (Bash)

Wbudowane polecenie compgen -c w Bashu uwzględnia nie tylko pliki binarne, ale również:

Aliasy zdefiniowane w plikach konfiguracyjnych (.bashrc, .bash_profile).

Funkcje powłoki załadowane w bieżącej sesji terminala.
Jeśli na jednym komputerze masz bogatszą konfigurację plików startowych Basha lub otworzyłeś terminal w środowisku, które automatycznie ładuje dodatkowe funkcje, liczba rekordów wzrośnie.

4. Wersja powłoki Bash

Różnice mogą wynikać także z samej wersji interpretera Bash. Starsze i nowsze wersje mogą w nieco inny sposób traktować pewne elementy wbudowane (builtins) podczas generowania listy przez compgen.

Wskazówka: Możesz sprawdzić, skąd bierze się różnica, porównując listy poleceń z obu komputerów za pomocą polecenia compgen -c | sort -u > komputery_A.txt i używając narzędzia diff do porównania obu plików tekstowych.

AI zapytałem. To co w końcu liczymy? Pliki wykonywalne czy polecenia?
Myśle ze masz o wiele wiecej rozbudowanych programow zainstalowanych. Pewnie te związane z programowaniem. W sumie ciekawa sprawa.
ODPOWIEDZ

Wróć do „Przedszkole Linuksa”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości