De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

O comando ls (1)

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 28 de Setembro de 1998

Um dos comandos mais utilizados em sistemas unix é o comando ls. Forma uma dupla inseparável com o comando "cd".

Embora simples de se usar, existem algumas características do comando "ls" que podem nos ajudar a economizar tempo e trabalhar mais produtivamente.

Geralmente trabalhamos com o comando ls da seguinte forma:

  % ls
  CCUECMAG             XF86Config.gz        lib
  DSC                  a                    links
  DicasL               a2ps.tar.gz          mail
  EFR                  amanda               mirror
  FOB                  bin                  packages
  Futuro_do_Livro      conteudo.html        recode-3.4
  Informix.ps.gz       dicas-l              revista.tar.gz
  JAVA                 dicas-l.tar.gz       src
  Mail                 dicas.pl             thankyou.html
  Manaus               dicasl.new.tar.gz    tmp
  P60081-98A.xls.gz    efr                  xmodmap.txt
  Projeto_Treinamento  efr01.zip            xxx
  TMP                  email.txt            y
  XF86Config.1.gz      formmail.pl

Desta forma, listamos os arquivos do diretório corrente pelo nome. O comando ls, sem nenhum argumento, não lista todos os arquivos. Os arquivos iniciados por "." são omitidos. Estes arquivos são criados pelos aplicativos que usamos, tal como netscape, elm, pine, shells e outros. São omitidos visto que não precisamos vê-los toda vez que listamos nosso diretório home. Veja só:

  % ls -a
   .                    .pine-debug2         TMP
   ..                  .pine-debug4         XF86Config.gz
   .Xauthority          .pinerc              a
   .acrorc              .procmail            a2ps.tar.gz
   .addressbook         .procmailrc          amanda
   .addressbook.lu      .profile             bin
   .at17                .rhosts              conteudo.html
   .at23                .sh_history          dicas-l
   .cetables            .shlogout            dicas-l.tar.gz
   .cshrc               .ssh                 dicas.pl
   .cshrc.220997        .subscribers         dicasl.new.tar.gz
   .desksetdefaults     .tt                  efr
   .dt                  .twinrc              efr01.zip
   .dtprofile           .wastebasket         email.txt
   .elm                 .xinitrc             formmail.pl
   .env                 .xsun.obelix:0       lib
   .exrc                CCUECMAG             links
   .fm                  DSC                  mail
   .forward             DicasL               mirror
   .gimprc              EFR                  packages
   .history             FOB                  recode-3.4
   .kshrc               Futuro_do_Livro      revista.tar.gz
   .login               Informix.ps.gz       src
   .mail                JAVA                 thankyou.html
   .ncftp               Mail                 tmp
   .netscape            Manaus               xmodmap.txt
   .openwin-init        P60081-98A.xls.gz    xxx
   .pine-debug1         Projeto_Treinamento  y

Como você pode ver, a listagem ficou consideravelmente maior.

Tomemos agora apenas as primeiras duas linhas da listagem anterior:

   .                    .pine-debug2         TMP
   ..                   .pine-debug3         XF86Config.1.gz

As entradas "." e ".." indicam respectivamente o diretório corrente e o diretório um nível acima. Todos os diretórios em sistemas Unix contém estas duas entradas. Ou seja, são perfeitamente dispensáveis de qualquer listagem.

O comando

  % ls -A

gera uma listagem completa, inclusive com os arquivos escondidos, porém não exibe as entradas para o diretório corrente "." e o diretório acima "..".

Outro problema quando se emite apenas o comando ls sem argumentos. é que não conseguimos identificar o tipo de arquivos. Para remediar este problema podemos emitir o comando:

  % ls -l
  lrwxrwxrwx   1 queiroz  supsof        29 Aug 18 12:33 efr -> /www/ns-home/docs/r
  -rw-r--r--   1 queiroz  supsof   1307554 Aug 11 08:54 efr01.zip
  -rw-r--r--   1 queiroz  supsof      8031 Sep  4 10:55 email.txt
  -rw-r--r--   1 queiroz  supsof     13358 Sep 11 15:28 formmail.pl
  drwxr-xr-x   2 queiroz  supsof       512 Apr 22  1996 lib
  dr-xr-xr-x   2 queiroz  supsof       512 Sep 20  1997 links

O primeiro caracter indica o tipo de arquivo:

  l	link
  d	diretório
  r	arquivo regular
  e outros

Entretanto, se a minha intenção é apenas saber o tipo de arquivo, a opção "-l" me fornece muito mais informação do que eu realmente preciso.

O comando

  % ls -F
  CUECMAG/              XF86Config.gz         lib/
  DSC/                  a                     links/
  DicasL@               a2ps.tar.gz           mail/
  EFR/                  amanda/               mirror/
  FOB/                  bin/                  packages/
  Futuro_do_Livro/      conteudo.html@        recode-3.4/
  Informix.ps.gz        dicas-l@              revista.tar.gz
  JAVA/                 dicas-l.tar.gz        src/
  Mail/                 dicas.pl              thankyou.html
  Manaus/               dicasl.new.tar.gz     tmp/
  P60081-98A.xls.gz     efr@                  xmodmap.txt
  Projeto_Treinamento/  efr01.zip             xxx/
  TMP/                  email.txt             y/
  XF86Config.1.gz       formmail.pl

me fornece a mesma informação, porém de forma muito mais sucinta. Os nomes de diretórios são seguidos por "/", os links por "@" e os arquivos regulares são apresentados normalmente.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Rubens Queiroz de Almeida