cambia le opzioni di comando predefinite


15

Quando inserisco il comando

ls

Vedo un elenco di file e directory nella directory corrente, l'elenco visualizzato è piuttosto fastidioso.

Piuttosto, mi piace eseguire il comando ls con l'opzione -1 come

ls -1

La mia domanda è come modificare il comportamento predefinito del comando ls in modo tale che venga sempre eseguito con l'opzione -1. cioè come visualizzare file e directory in una colonna con il comando ls.

Grazie.

Risposte:


14

Un modo sarebbe quello di creare un alias nel tuo ~/.bashrcfile:

alias l1='ls -1'

quindi digitando l1, ls -1verrà eseguito


Come trovi il file ~ / .bashrc? Ho trovato l'applicazione "bash" in Computer \ bin, ma non un file di testo con il nome che hai citato.
Annuncio

@AlainD il file .bashrc è presente nella tua home directory, non in / bin. Il ~ si espande nella tua home directory in bash, quindi il percorso dovrebbe leggere qualcosa come
/home/user/.bashrc

Uso alias lsl = "ls -l" in quanto non devo spostarmi dalla riga home per accedervi.
dvnkiss,

4

Nella tua directory Home, apri il file .bashrc nell'editor e aggiungi alias ls = 'ls -1' .

Per prima cosa apri il terminale (premi ControlAltT), inserisci gedit ./.bashrcper aprire il tuo file .bashrc nell'editor.

Trova la sezione che ha alcuni alias per ls. Nel mio (stock 11.10) sembra che:

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

Aggiungi la seguente riga dopo gli alias ls:

alias ls='ls -1'

Salvare il file, uscire da gedit e dal terminale e riavviare. Ora il comando ls dovrebbe eseguire ls -1 per impostazione predefinita.


1
Ciò ridefinisce "ls" per operare ora come "ls -1" per impostazione predefinita per questo utente. Se preferisci usare un nuovo comando, allora @zetah answer lo copre.
James,

Nella mia directory Home su uBuntu 14.04 LTS vedo solo un mucchio di cartelle e nessun file .bashrc.
Annuncio

1

la risposta di zetah è la migliore. Elaborare:

Gli alias vengono utilizzati al meglio per modifiche brevi, semplici e spesso utilizzate dei parametri predefiniti dei comandi. Sono archiviati in memoria (dopo essere stati letti dal loro file sorgente), per prestazioni migliori o uso ripetitivo.

Le funzioni sono appropriate per attività più complesse che vengono spesso utilizzate e sono anche archiviate in memoria.

Gli script sono appropriati per i comandi più complessi e usati meno spesso.

Vedi questa domanda e risposte su unix stackexchange - spiega la differenza nel miglior uso tra alias, funzioni e script.


1

Giusto per chiarire qualcosa alla risposta @RobDavenport. Non è possibile utilizzare una funzione per sovrascrivere un comando con lo stesso nome.

ad es. per aggiungere un parametro predefinito al lscomando è possibile eseguire:

alias ls='ls -1 $@'

Questo aggiungerà un nuovo alias chiamato lscosì verrà chiamato invece del comando originale. Aggiungerà l' -1opzione e inoltrerà ogni parametro $@al lscomando originale .

Potresti anche fare

function ls_column () {
  ls -1 $@
}

Avrebbe lo stesso effetto ma devi usare un nome diverso per la tua funzione. Altrimenti si chiamerà ancora e ancora.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.