Eu sou relativamente novo em programação como um todo e alguns tutoriais têm me dito para usar ls -l
para 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?
shell
shell-script
ls
Jon
fonte
fonte
which ll
. Você provavelmente descobrirá quell
é realmente um apelido parals -l
.ls
qualquer outro comando que eu coloquei no shell? Se eu digitarwhich ls
, receboalias ls='ls --color=auto' /bin/ls
, mas se digitar (por exemplo)which cd
, recebo/usr/bin/which: no cd in (........)
. EDIT: Eu tentei novamentewhich mkdir
e consegui/bin/mkdir
. Qual é a distinção entre esses comandos em que alguns deles estão armazenados (?)/usr/bin
E outros aparentemente nã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
). Sewhich
não foi possível encontrarcd
, então algo parece terrivelmente errado.cd
é uma palavra-chave interna do shell, não um programa encontrado em um sistema de arquivos. Usetype cd
etype ls
para ver o que quero dizer. Alguns comandos são simplesmente substituídos por shell builtins:echo
existe/bin/echo
, mas nabash
maioria dos shells modernos,echo
é chamada uma função embutida (que geralmente possui recursos estendidos).type
realmente diz qual é.Respostas:
Em muitos sistemas,
ll
existe um alias dels -l
:Eles são os mesmos.
fonte
ls -alF
no Ubuntu 12.04, 16.04 e provavelmente muito mais.ls -lh
Como observado,
ll
geralmente é definido como um apelido dels -l
. De fato,ls
muitas vezes é um apelido em si:O comando real é o
ls
que está acima em/usr/bin
.ll
foi 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.fonte
ls
na 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.ls
para outra coisa senãols --color=auto
. É isso ou não há apelido.Ubuntu 14.04
fonte
Na maioria dos casos,
ll
não funciona em scripts de shell.fonte
ll
realmente são aliases, que não são definidos ao executar scripts.ls -l
ll
é um alias parals -l
.A opção
-l
informa ao comando para usar um formato de lista longa. Ele retorna várias colunas, não mostradas quando ols
comando 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
fonte
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.
fonte