Odpowiedzi:
ls
Sam w sobie nie ma bezpośredniego odpowiednika , ale jest less
narzędzie, które sformatuje dane wyjściowe dowolnego polecenia jako osobne strony, przewijane według linii lub strony:
ls -C | less
Gdzie -C
wyzwala wyświetlanie kolumny. Zastosowanie lah
jako 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=always
argumentu ls
, a -R
argument, na mniej *:
ls -C --color=always | less -R
pokazuje to ls -ah --color = always | mniej -R ”
W przeciwieństwie do more
, less
pozwala 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 | head
lub, ls | tail
aby 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_aliases
za 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ć lsp
dowolną 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
, $3
i tak dalej. $@
oznacza „każdy argument, jeśli istnieje” .
Teraz można uruchomić coś podobnego lsp *.py
, lsp -C
i 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 IFS
jako separatora). mywiki.wooledge.org/BashGuide/Parameters