it-swarm-pt.tech

Qual é a diferença entre ls e l?

Digitei acidentalmente l em vez de ls hoje e descobri que o comando ainda imprimia uma lista dos arquivos no meu diretório atual. Tentando l --help abre o arquivo de ajuda para ls sugerindo que l é apenas um apelido de ls.

No entanto, cada arquivo tinha o sufixo de um *. Por que isso e o que isso significa?

Caso isso faça alguma diferença, isso ocorre ao executar a versão estável mais recente do Ubuntu.

56
Rupert Madden-Abbott

RESPOSTA RESUMIDA: entenda o que exatamente esse alias faz, você pode conferir o ~/.bashrc e pesquise o termo "alias l= ". Não passa de ls -CF

RESPOSTA LONGA Uma boa maneira de inspecionar o que é um comando:

type l

Se for um programa ou um script, ele fornecerá sua localização, se for um alias, informará a que é o alias; se for uma função, imprimirá a função; caso contrário, ele informará se é um incorporado ou uma palavra-chave.

Exemplos:

$ type l
l is aliased to `ls -CF'
$ type find
find is /usr/bin/find
$ type connecthome
connecthome is hashed (/usr/local/bin/connecthome)
$ type grep
grep is aliased to `grep --color=auto --binary-files=without-match --devices=skip'
$ type hello_se
hello_se is a function
hello_se () 
{ 
  echo 'Hello, Stack Exchangers!'
}
$ type type
type is a Shell builtin
$ type for
for is a Shell keyword
$ type nosuchthing
-bash: type: nosuchthing: not found
88
Shawn J. Goff
$ l --help
l: command not found

Parece que você tem um alias configurado em seu ambiente. Talvez você tenha herdado um .profile, .bashrc ou similar contendo algo como alias l='ls -F'.

-F, --classify
              append indicator (one of */=>@|) to entries

Experimentar which l e alias para rastrear sua definição.

9
Johnsyweb

CORRIGIDO: l é um alias para ls -CF (Não tenho muita certeza) no padrão .bashrc no ubuntu

Você pode digitar alias para verificar todos os aliases. Seria mencionado lá.

4
Rohan Monga

Por padrão, é um alias para ls -CF no ubuntu.

2
oadams

Redefini todos os meus atalhos ls nos meus .zshrc.

Esta é a seção relevante:

# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
    if [ -n ~/.dir_colors ]; then
        eval "`dircolors -b ~/.dir_colors`"
    else
        eval "`dircolors -b /etc/DIR_COLORS`"
    fi
    alias ls='ls --color=auto'
    #alias dir='ls --color=auto --format=vertical'
    #alias vdir='ls --color=auto --format=long'
fi

# some more ls aliases
alias l='ls -CF'
alias ll='ls -ClhF'
alias la='ls -CaF'
alias lla='ls -CalhF'
alias l.='ls -CAF --ignore=\*'
alias ll.='ls -CAlhF --ignore=\*'
alias t='tree -C'

Observe que ls é redefinido:

% type ls
ls is an alias for ls --color=auto
2
polemon