Risposte:
Non esiste un equivalente semplice in ls
sé, ma esiste l' less
utilità, che formatterà l'output di qualsiasi comando come pagine separate, scorrevoli per riga o pagina:
ls -C | less
Dove -C
attiva la visualizzazione delle colonne. Uso lah
come argomenti ( ls -lah
) per ottenere un l ine tramite display linea con un visualizzati i file LL (includere quelli nascosti), e h Uman filesizes leggibili.
Per visualizzare correttamente i colori , devi aggiungere l' --color=always
argomento ls
e l' -R
argomento su meno *:
ls -C --color=always | less -R
questo mostra 'ls -ah --color = always | meno -R '
Al contrario more
, less
consente di scorrere l'output. È anche un po 'più veloce per elenchi molto grandi.
La pipe funziona così:
Ogni programma ha input e output, una pipe reindirizza l'output di un programma (ls) all'input di un altro programma (meno). E meno si aspetta semplicemente input che poi formatta.
Un equivalente dos più vecchio stile sarebbe pg
:
ls | pg
Puoi anche
ls | head
o ls | tail
per visualizzare solo la prima o l'ultima parte dell'outputwatch "ls"
per mantenere aperto il display, aggiornandolo ogni pochi secondi per vedere le modifichebanner $(ls)
se sei seduto molto lontano dallo schermo. (;Se trovi tutto questo troppo a lungo da ricordare, puoi impostare un alias per questo:
Apri ~/.bash_aliases
con un editor di testo e aggiungi qualcosa di simile a questo:
alias lsp="ls -ah --color=always | less -R"
(questo è uno script che viene eseguito ogni volta che viene avviato un nuovo terminale virtuale, è necessario impostare lì tutti i tuoi alias permanenti)
Ora puoi semplicemente digitare lsp
o qualsiasi nome tu scelga.
Se vuoi essere in grado di passare ulteriori argomenti al tuo alias, dobbiamo invece definire una funzione :
lsp(){ ls -ah --color=always "$@" | less -R; }
Una funzione, principalmente simile a questo: name(){ commands; };
può accettare argomenti, $1
, $2
, $3
e così via. $@
significa "ogni argomento, se presente" .
È ora possibile eseguire qualcosa di simile lsp *.py
, lsp -C
e così via. Inseriamo gli argomenti nel punto in cui vengono passati a ls. Avremmo anche potuto inserire $ * per meno, se fosse il comando importante. Puoi vedere tutti gli argomenti di ls su man ls
(vale la pena leggerlo).
*: Il motivo di ciò è che ogni volta che si pipe qualcosa, rileva un Terminale (in realtà l'altro programma) non in grado di visualizzare il colore. "--color = always" forza ls a ignorarlo. L'interruttore -R rende meno ridipingere lo schermo, sfuggendo correttamente ai colori .
$*
e $@
fare esattamente la stessa cosa. Si espandono a $1 $2 $3 ...
. Le virgolette, tuttavia, si "$@"
espandono in "$1" "$2" "$3" ...
while si "$*"
espande in "$1 $2 $3 ..."
(ovvero, tutti gli argomenti in una stringa, utilizzando il primo carattere di IFS
come separatore). mywiki.wooledge.org/BashGuide/Parameters