-
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.