Jak mogę utworzyć listę z najczęściej używanymi poleceniami w terminalu?
Wiem, że to pytanie może być nieużyteczne w przypadku jakichkolwiek przyszłych propozycji dla niektórych z nas, ale mimo to lista może być przydatna, gdy nie pamiętamy polecenia użytego raz lub kilka razy w przeszłości, gdy możemy wyszukiwać w koniec tej listy.
command-line
bash
history
Radu Rădeanu
źródło
źródło
Odpowiedzi:
W tym celu wykorzystamy rekordy z
.bash_history
pliku. Następne polecenie wyświetli listę wszystkich poleceń w kolejności ich użycia:Jeśli chcesz tylko 10 najlepszych, musisz dodać
head
polecenie powyżej:Aby uzyskać konkretny szczyt, na przykład Top 5, użyj
head
z-n 5
opcji:Jeśli chcesz listę w odwrotnej kolejności (na górze z rzadko używanymi poleceniami), nie używaj
r
oprion na sekundęsort
:I na koniec, aby uzyskać listę z poleceniami użytymi raz, na przykład, użyj
grep ' 1 '
(zmień1
na żądany numer):Aby radzić sobie z
sudo
poleceniami (jaksudo vim foo
), zamiast tylko{print $3}
w poleceniu awk, użyj:Całe polecenie wyglądałoby więc tak:
Na przykład:
Widać skok liczy
vim
,rm
itpźródło
sudo -i
ponieważ daje mi-i
jako poleceniesudo -i
uruchamia nową powłokę. Ta historia nie jest już w historii twojej powłoki, ale wroot
. Oczywiście te polecenia nie działają w wielu przypadkach brzegowych; nie ma sposobu na radzenie sobie ze wszystkimi możliwymi poleceniami bez napisania własnego parsera dla języka powłoki.if ($3 ~ /sudo/ && $4 !~ /^-/)
Poniższa komenda zawiera również listę
top 10
najczęściej używanych komend terminalowych,Polecenie, aby wyświetlić listę wszystkich poleceń, które są najczęściej używane w terminalu,
źródło
Fish & Bash - pytanie nie określa konkretnej powłoki, a jedynie „terminal”. Zmień głowę na dowolną liczbę.
Ryba
history | awk '{print $1}' | sort | uniq --count | sort --numeric-sort --reverse | head -10
Ten Bash wydaje się działać i jest nieco krótszy i łatwiejszy do zrozumienia niż inne odpowiedzi. Lubię długie opcje, aby poprawić czytelność w tego typu przykładach.
Grzmotnąć
history | awk '{print $2}' | sort | uniq --count | sort --numeric-sort --reverse | head -10
źródło