Acho que porque quando se faz ls -ld você só está listando o conteúdo do
diretório local, e .. é interpretado como sendo outro diretório.
O mesmo acontece no "find .-type d", que só busca diretórios no diretório
local (path "."), não em outro diretório ("..").

Ricardo

2009/4/17 Daniel Carlos <[email protected]>

>
>
> Olá Bruna,
>
> Concordo com o seu ponto vista, principalmente, em relação a pergunta "*Acho
> que a questão aqui é, podemos chamar . e .. de subdiretórios de uma
> pasta?".*
>
> A resposta a esta pergunta é a chave pra se decidir entre a letra D ou E.
>
> Questão bastante interessante mesmo, porém não adequada para exames de
> certificação, pois é muito ambígua.
> Aproveitando o ensejo e colocando mais lenha na fogueira, porque será que
> os comandos "ls" e "find" não interpretam o ".." como um diretório. Alguém
> tem idéia? Vejam a sequência de comandos abaixo:
>
> 001:/tmp>mkdir apagar
> 001:/tmp>cd apagar
> 001:/tmp/apagar>ls -la
> total 32
> drwxr-xr-x   2 root     other        117 Apr 17 07:50 .
> *d*rwxrwxrwt  11 root     sys         5086 Apr 17 07:50 *..
> *
> 001:/tmp/apagar>ls -lda
> drwxr-xr-x   2 root     other        117 Apr 17 07:50 .
> 001:/tmp/apagar>find . -type d
> .
> Abs,
> Daniel Carlos
> RHCE, LPIC-3
> Petrobras S.A
> 2009/4/16 Bruna Griebeler <[email protected]>
>
>>
>>
>> Essa é uma questão muito interessante, não apenas pela questão técnica,
>> mas pela questão de interpretação.
>>
>> Vamos pensar juntos e analisar as possíveis respostas certas:
>>
>>
>> *(d) o total de subdiretórios do diretório a um nível acima*
>> Se ele considerar que . e .. são subdiretórios ( *e de fato . e .. são
>> diretórios *e* também hardlinks*) então essa opção está correta.
>>
>>
>> *(e) o total de subdiretórios do diretório a um nível acima mais 2*
>> Se ele refere-se a subdiretórios apenas como as "pastinhas tradicionais",
>> então essa seria a certa.
>>
>>
>> *Acho que a questão aqui é, podemos chamar . e .. de subdiretórios de uma
>> pasta?*
>>
>> Todos sabemos que eles* são diretórios* porém se também *são hardlinks*,
>> podemos dizer que teste é um subdiretório dele mesmo?
>>
>> Ou que a pasta acima de teste é um subdiretório de teste?
>>
>> Assim como em muitas questões, acho que o problema é saber interpretar a
>> expressão "subdiretório".
>>
>> Se subdiretório for necessariamente algo que está *um nível abaixo*,
>> então a letra *e* seria a correta.
>> Como eu acho que é *sub* quer referenciar justamente isso, ou seja, um *nível
>> abaixo*, então fico com a letra e mesmo.
>>
>> E apenas esclarecendo:
>>
>> O "." e o ".." são uma exceção à regra:
>> Eles são diretórios e também hard links, coisa que nós, mortais usuários
>> não podemos criar com o comando ln.
>> Ou seja, . e .. são criados pelo prórprio sistema.
>>
>> Questãozinha muito intrigante essa, adorei, rs...
>>
>>
>  
>

Responder a