Qual è la differenza tra ls e la? Perché danno lo stesso risultato?


Risposte:


34

laè un alias da ls -Adefinire in ~/.bashrcfile in Ubuntu.

Mostra lo stesso output solo se non hai file o directory nascosti.

ls -A mostra file e directory nascosti.


3
Più come "non mostra necessariamente lo stesso output", poiché se non hai file nascosti (quelli che iniziano con un punto) oltre. e .., l'output sarà lo stesso.
Muzer,

1
Questo è vero. Aggiornato.
Pilota 6

2
Si noti che ls -Aè diverso da ls -a- quest'ultimo mostrerà la .e ..significa questa directory e contenente directory, rispettivamente.
Tim

14

laè definito come un alias nel ~/.bashrcfile Ubuntus insieme ad alcuni altri. laè semplicemente un ls -Acome puoi vedere nel seguente frammento di~/.bashrc

# this alias is defined earlier to grant colored output
alias ls='ls --color=auto'

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

Sarebbe Ubuntu's(senza la formattazione del codice).
Peter Mortensen,

8

In caso di dubbio, type la.


Uscita Bash:

la is aliased to `ls -la'

Uscita di pesce:

la is a function with definition
function la --description 'List contents of directory, including hidden files in directory using long format'
    ls -lah $argv
end

6

lsè un comando le lasono probabilmente alias che fanno uso del comando ls. Se esegui il comando aliaspuoi trovare tutti gli alias sul tuo sistema.

$ alias | grep -E ' l=| la='

Questo restituirà tutti gli alias che corrispondono al modello l = ... o la = ....


1
O semplicementealias l la
Kevin, il

4

Non producono lo stesso output in tutte le directory.

Crea un dotfile con touch .whatever, quindi emetti entrambi lae ls.


2

laè un alias per ls -A, come affermato da altre risposte. Come tale, non può essere utilizzato negli script di shell, mentre lspuò.

Il tuo computer ha più comandi con alias. Un elenco completo può essere ottenuto eseguendo alias. Sulla mia macchina stampa questo:

alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'  
alias egrep='egrep --color=auto'  
alias fgrep='fgrep --color=auto'  
alias grep='grep --color=auto'  
alias l='ls -CF'  
alias la='ls -A'   
alias ll='ls -alF'   
alias ls='ls --color=auto'

--color=auto significa che il colore verrà disattivato quando non si stampa direttamente su STDOUT.

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.