SóProvas


ID
823810
Banca
VUNESP
Órgão
SPTrans
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Analise o resultado do comando executado em ambiente Linux e responda às questões.
               mimbar:/usr/share/linux.see:13> ls -ld /
               drwxr-xr-x 21 root root 1024 Aug 5 15:59 /

Assinale a alternativa com o número de subdiretórios existentes no diretório raiz.

Alternativas
Comentários
  • Alternatica C.
    Não sei se a melhor nomenclatura para o resultado do comando seria entrada ou arquivo, optei pelo segundo.
    Decompondo o comando e os resultados:
    ls: lista o conteúdo de um diretório
    -ld: l: mostra várias informações (permissões, donos, tamanho, data da última modificação); d: lista os diretórios ao invés do conteúdos
    d: tipo do arquivo (diretório)
    rwx: permissões do dono do arquivo
    r-x: permissões do grupo de usuários dono do arquivo
    r-x: usuários que é o dono do arquivo nem faz parte do grupo que é dono do arquivo
    21: número de subdiretórios do arquivo
    root: usuário dono do arquivo (não tenho certeza)
    root: grupo de usuário dono do arquivo (não tenho certeza)
    1024: tamanho do arquivo
    Aug 5 15:59: data de última alteração do arquivo
    Fonte: http://linux.about.com/od/commands/l/blcmdl1_ls.htm; http://www.tuxfiles.org/linuxhelp/filepermissions.html
  • Questão mal elaborada, já que o atributo 21 exibido pelo comando "ls -ls /" não representa o número de subdiretórios, mas sim o número de hardlinks deste diretório. Por coincidência, esse número pode representar a quantidade de subdiretórios, pois para cada subdiretório criado é acrescentado um hardlink que aponta para o diretório pai, representado pelo "..". Faça um teste criando um diretório vazio e execute o comando ls -ld sobre esse diretório. Você verá o número 2 no atributo hardlink, que significa que esse diretório vazio tem dois hardlinks: a entrada "." e a entrada "..". E não dois subdiretórios como a questão sugere.

  • Na maior parte concordo com Rômulo Albuquerque: 21 não é o número de subdiretórios daquele diretório (raiz, /), mas também não é o número de hardlinks presentes no diretório.

    Nem . (o próprio diretório) nem .. (seu pai) são hardlinks porque não é possível criar hardlink para diretório. Esse é um conceito relacionado a arquivos. https://stackoverflow.com/questions/23242004/what-is-double-dot-and-single-dot-in-linux

    Aquele número, exibido pelo comando ls -ld, informa o número de subdiretórios (diretórios dentro do diretório) + o próprio diretório (.) + seu pai (..). Ou seja, a resposta correta seria 21 -2 = 19. Questão sem resposta. Então, não é que a questão está mal elaborada. Considero até uma questão boa, porém sua resposta está errada.

    Dito isso, ao se criar um diretório (vazio), e usar o comando ls -ld, será exibido, logo após as permissões, o número 2.

    Experimente:

    $ mkdir /tmp/teste_ls_ld
    $ ls -la /tmp/teste_ls_ld
    total 8
    drwxr-xr-x  2 eu eu 4096 jul 11 09:27 ./
    drwxrwxrwt 17 root   root   4096 jul 11 09:27 ../
    $ ls -ld /tmp/teste_ls_ld
    drwxr-xr-x 2 eu eu 4096 jul 11 09:27 /tmp/teste_ls_ld/

    Criando um subdiretório (perceba que incrementará para 3):
    $ mkdir /tmp/teste_ls_ld/subdir
    $ ls -la /tmp/teste_ls_ld
    total 12
    drwxr-xr-x  3 eu eu 4096 jul 11 09:30 ./
    drwxrwxrwt 17 root   root   4096 jul 11 09:27 ../
    drwxr-xr-x  2 eu eu 4096 jul 11 09:30 subdir/
    $ ls -ld /tmp/teste_ls_ld
    drwxr-xr-x 3 eu eu 4096 jul 11 09:30 /tmp/teste_ls_ld/

    Criando um hardlink após a criação de um arquivo qualquer (perceba que não altera aquele número 3):
    $ touch /tmp/regular_file
    $ ln /tmp/regular_file /tmp/teste_ls_ld/
    $ ls -la /tmp/teste_ls_ld
    total 12
    drwxr-xr-x  3 eu eu 4096 jul 11 09:32 ./
    drwxrwxrwt 17 root   root   4096 jul 11 09:32 ../
    -rw-r--r--  2 eu eu    0 jul 11 09:32 regular_file
    drwxr-xr-x  2 eu eu 4096 jul 11 09:30 subdir/
    $ ls -ld /tmp/teste_ls_ld
    drwxr-xr-x 3 eu eu 4096 jul 11 09:32 /tmp/teste_ls_ld/

    https://unix.stackexchange.com/questions/103114/what-do-the-fields-in-ls-al-output-mean#comment469961_103118

  • Questão deveria ser anulada, pois está incorreta. Dentro do diretório / temos 15 diretórios em uma distribuição Red Hat:

    dr-xr-xr-x.  5 root root 4096 Feb 7 21:57 boot

    drwxr-xr-x. 20 root root 3140 Feb 8 08:15 dev

    drwxr-xr-x. 97 root root 8192 Feb 8 08:16 etc

    drwxr-xr-x.  3 root root  21 Feb 5 14:53 home

    drwxr-xr-x.  2 root root  6 Apr 23 2020 media

    drwxr-xr-x.  3 root root  18 Feb 4 23:17 mnt

    drwxr-xr-x.  5 root root  55 Feb 5 15:01 opt

    dr-xr-xr-x. 243 root root  0 Feb 8 08:15 proc

    dr-xr-x---.  2 root root 165 Feb 5 14:49 root

    drwxr-xr-x. 29 root root 880 Feb 8 08:16 run

    drwxr-xr-x.  2 root root  6 Apr 23 2020 srv

    dr-xr-xr-x. 13 root root  0 Feb 8 08:15 sys

    drwxrwxrwt. 17 root root 4096 Feb 8 09:40 tmp

    drwxr-xr-x. 12 root root 144 Feb 4 23:15 usr

    drwxr-xr-x. 21 root root 4096 Feb 4 23:24 var

    Todos os outros arquivos que se encontram nessa pasta ao rodar ls -a são links de outros diretórios que não estão diretamente em /, por exemplo o diretório lib que está dentro de usr/lib.