Diferença entre ls -l e ll?


59

Eu sou relativamente novo em programação como um todo e alguns tutoriais têm me dito para usar ls -lpara examinar arquivos em um diretório e outros têm dito ll. Eu sei que lsé uma lista curta, mas há uma diferença entre os outros dois?


8
Você pode querer dar uma olhada which ll. Você provavelmente descobrirá que llé realmente um apelido para ls -l.
HalosGhost

Então, qual é a diferença entre lsqualquer outro comando que eu coloquei no shell? Se eu digitar which ls, recebo alias ls='ls --color=auto' /bin/ls, mas se digitar (por exemplo) which cd, recebo /usr/bin/which: no cd in (........). EDIT: Eu tentei novamente which mkdire consegui /bin/mkdir. Qual é a distinção entre esses comandos em que alguns deles estão armazenados (?) /usr/binE outros aparentemente não?
Jon

isso afeta o padrão da sua distribuição $PATH. lsé muitas vezes alias, então seu shell relata o alias (que tem precedência sobre o binário) e a localização real do binário (no seu caso /bin/ls). Se whichnão foi possível encontrar cd, então algo parece terrivelmente errado.
HalosGhost

2
cdé uma palavra-chave interna do shell, não um programa encontrado em um sistema de arquivos. Use type cde type lspara ver o que quero dizer. Alguns comandos são simplesmente substituídos por shell builtins: echoexiste /bin/echo, mas na bashmaioria dos shells modernos, echoé chamada uma função embutida (que geralmente possui recursos estendidos). typerealmente diz qual é.
orion 4/15

Respostas:


88

Em muitos sistemas, llexiste um alias de ls -l:

$ type ll
ll is aliased to `ls -l'

Eles são os mesmos.


3
ll é alias para `ls -ltr '- estou usando o red hat 6
rdp 27/05

3
no Ubuntu 14.04 ll é alias para 'ls -alF'
Viktor

3
Também ls -alFno Ubuntu 12.04, 16.04 e provavelmente muito mais.
Paul

3
Para mim, no MacOS Sierra ll é alias parals -lh
Zorgatone

13

Como observado, llgeralmente é definido como um apelido de ls -l. De fato, lsmuitas vezes é um apelido em si:

$ which ls
alias ls='ls --color=auto'
/usr/bin/ls

O comando real é o lsque está acima em /usr/bin. llfoi concebido como uma conveniência, mas você não pode confiar na definição em todos os sistemas * nix; portanto, é bom saber o que realmente está fazendo.


Ótima resposta. Não posso deixar de acrescentar que essa é uma das razões pelas quais confiar lsna automação (especialmente as one-liners ad-hoc) geralmente é uma má idéia. Possui várias opções que alteram sua saída e várias maneiras de especificá-las. Com distribuições diferentes escolhendo padrões diferentes, tende a levar a dores de cabeça.
ctt

Eu não vi nenhuma distribuição popular para alias lspara outra coisa senão ls --color=auto. É isso ou não há apelido.
Phoops

4

Ubuntu 14.04

laike9m@laike9m1:~$ type ll
ll is aliased to `ls -alF'

1
Também 12.04 e 16.04, mas é tudo o que tenho disponível para testar agora.
Paul

3

Na maioria dos casos, llnão funciona em scripts de shell.


1
O que acontece é que normalmente comandos como llrealmente são aliases, que não são definidos ao executar scripts.
vonbrand

3
Algumas pessoas têm o alias no .profile e o alias está trabalhando em um shell interativo. Após depurar / testar um novo script, o script falha repentinamente no crontab. Cron não lê o .profile.
Walter A

1
Esta não é uma resposta para a pergunta, mas deve ser um comentário. Do meu pequeno entendimento, os aliases são preteridos nos scripts de shell.
cornflakes24

Eu digo "a maioria", mas isso não acontece na minha, e eu usols -l
travelingbones

1

llé um alias para ls -l.

A opção -linforma ao comando para usar um formato de lista longa. Ele retorna várias colunas, não mostradas quando o lscomando simples é usado. Essas colunas incluem:

  • Permissões

  • Número de hardlinks

  • Proprietário do arquivo

  • Grupo de arquivos

  • Tamanho do arquivo

  • Modificação

  • Tempo

  • Nome do arquivo


0

ll é na verdade alias para `ls -l 'Se você executar ll, ele mostrará os arquivos no shell e você deverá pressionar Enter para ver os próximos arquivos (mais .. opção). Se você executar ls -l, todos os arquivos serão exibidos por vez.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.