l, ls & la - quais são as diferenças, e existem mais desses comandos?

23

Então, ao digitar vários comandos, descobri que não há apenas ls , mas l e la também. Não parece haver nenhuma entrada man no Ubuntu 12.14. Todos eles parecem fazer coisas semelhantes com pequenas diferenças:

$ ls
app        config     CONTRIBUTING.md  doc       Gemfile       Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   script  tmp     VERSION
CHANGELOG  config.ru  db               features  Gemfile.lock  lib        log      PROCESS.md      public    README.md  spec    vendor
$ la
app      CHANGELOG  config.ru        db   features  Gemfile       .git        Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   .rspec  .secret     spec  .travis.yml  VERSION
.bundle  config     CONTRIBUTING.md  doc  .foreman  Gemfile.lock  .gitignore  lib        log      PROCESS.md      public    README.md  script  .simplecov  tmp   vendor
$ l
app/       config/    CONTRIBUTING.md  doc/       Gemfile       Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   script/  tmp/     VERSION
CHANGELOG  config.ru  db/              features/  Gemfile.lock  lib/       log/     PROCESS.md      public/   README.md  spec/    vendor/

Assim como um pouco de trivialidades, há mais dessas e o que elas fazem? Existe algum lugar para descobrir isso? Infelizmente, o google que pesquisa esses comandos é ignorado porque eles são muito curtos.

    
por Seiyria 13.01.2014 / 23:24

3 respostas

23

Aliases

ls é um comando, l e la são provavelmente aliases que usam o comando ls . Se você executar o comando alias , poderá encontrar todos os aliases em seu sistema.

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

Isso retornará todos os aliases que correspondem ao padrão l=... ou la=... .

Depurando mais

Você também pode usar o comando type para ver como um determinado comando está sendo executado. É um comando, um alias ou uma função.

Exemplo

No meu sistema eu tenho o comando ls aliased para que ele chame ls , mas também inclui um monte de switches extras, assim:

$ type -a ls
ls is aliased to 'ls --color=auto'
ls is /usr/bin/ls
ls is /bin/ls

Na saída acima, você pode ver que ls é aliases, mas também no $ PATH do meu sistema nos diretórios /usr/bin e /bin .

    
por 13.01.2014 / 23:46
8

Eles são apenas alias do comando ls com algumas opções.

man ls listará todas as opções e seus propósitos. Você pode criar seu próprio alias, executando no terminal ou adicionando .bashrc algo como:   alias lsl = 'ls -lrt'

    
por 14.01.2014 / 17:53
0

Teste la -help nos sistemas BSD Unix para obter mais informações sobre la . Também encontrei la como resultado de um erro de digitação.

    
por 04.06.2015 / 16:20