Odpowiedzi:
lsSam w sobie nie ma bezpośredniego odpowiednika , ale jest lessnarzędzie, które sformatuje dane wyjściowe dowolnego polecenia jako osobne strony, przewijane według linii lub strony:
ls -C | less
Gdzie -Cwyzwala wyświetlanie kolumny. Zastosowanie lahjako argumenty ( ls -lah), aby uzyskać l ine przez wyświetlacz linii z A są wyświetlane pliki LL (zawierają ukrytych) i h Uman czytelnych filesizes.
Aby uzyskać kolory, aby pokazać się prawidłowo , trzeba dodać --color=alwaysargumentu ls, a -Rargument, na mniej *:
ls -C --color=always | less -R

pokazuje to ls -ah --color = always | mniej -R ”
W przeciwieństwie do more, lesspozwala przewijać dane wyjściowe. Jest również nieco szybszy w przypadku bardzo dużych ofert.
Rura działa w następujący sposób:
Każdy program ma wejście i wyjście, potok przekierowuje wyjście jednego programu (ls) na wejście innego programu (mniej). I mniej po prostu oczekuje danych wejściowych, które następnie formatuje.
Bardziej oldskulowym odpowiednikiem dos byłoby pg:
ls | pg
Również możesz
ls | headlub, ls | tailaby wyświetlić tylko pierwszą lub ostatnią część wynikuwatch "ls"aby utrzymać wyświetlacz otwarty, aktualizując go co kilka sekund, aby oglądać zmianybanner $(ls)jeśli siedzisz naprawdę daleko od ekranu. (;Jeśli znajdziesz to wszystko za długo, by je zapamiętać, możesz ustawić dla nich alias :
Otwórz ~/.bash_aliasesza pomocą edytora tekstu i dodaj do niego coś takiego:
alias lsp="ls -ah --color=always | less -R"
(jest to skrypt uruchamiany za każdym razem, gdy uruchamiany jest nowy terminal wirtualny, powinieneś skonfigurować tam wszystkie swoje stałe aliasy)
Teraz możesz po prostu wpisać lspdowolną nazwę.
Jeśli chcesz mieć możliwość przekazania dalszych argumentów do swojego aliasu, musimy zamiast tego zdefiniować funkcję :
lsp(){ ls -ah --color=always "$@" | less -R; }
Funkcja, głównie patrząc tak: name(){ commands; };może przyjmować argumenty, $1, $2, $3i tak dalej. $@oznacza „każdy argument, jeśli istnieje” .
Teraz można uruchomić coś podobnego lsp *.py, lsp -Ci tak dalej. Wstawiamy argumenty w punkcie, w którym są przekazywane do ls. Moglibyśmy również wstawić $ * za mniej, gdyby było to ważne polecenie. Możesz zobaczyć wszystkie argumenty ls na man ls(warte przeczytania).
*: Powodem tego jest to, że za każdym razem, gdy coś potokujesz, wykrywa on Terminal (właściwie inny program), który nie jest w stanie wyświetlać kolorów. „--color = zawsze” zmusza ls do zignorowania tego. Przełącznik -R sprawia, że ekran jest mniej odmalowany, dzięki czemu kolory są odpowiednio pomijane.
$*i $@rób dokładnie to samo. Rozwijają się do $1 $2 $3 .... Cytuje jednak "$@"rozwija się do "$1" "$2" "$3" ...while "$*"rozwija się do "$1 $2 $3 ..."(czyli wszystkie argumenty w jednym ciągu, używając pierwszego znaku IFSjako separatora). mywiki.wooledge.org/BashGuide/Parameters