A resposta de John1024 responde à pergunta, no entanto, eu diria que o raciocínio não é totalmente preciso. É correto que, por padrão, o comando
cp
não copie os diretórios, mas a implicação de que isso é principalmente para proteger o usuário de "copiar demais" parece improvável.
O Ubuntu opera um sistema de arquivos no estilo Unix, que usa o conceito de inodes
para descrever um filesystem
objeto, seja um arquivo ou um diretório.
Um diretório é simplesmente uma lista de nomes atribuídos a inodes
. Nesse sentido, a representação visual fornecida pela GUI é um pouco ilusória, ou seja, um diretório não é realmente um 'container' de outros arquivos, mas uma lista de nomes de arquivos e inode pointers
.
.....a directory entry contains only a name for the associated file and a pointer
to the file itself. This pointer is an integer called the i-number (for index
number) of the file. When the file is accessed, its i-number is used as an index
into a system table (the i-list) stored in a known part of the device on which the
directory resides. The entry found thereby (the file's i-node) contains the
description of the file:...
— The UNIX Time-Sharing System, The Bell System Technical Journal, 1978
Dessa perspectiva, podemos ver que copiar um diretório simplesmente copiaria uma lista de nomes e associávamos inodes
; Isso seria semelhante a criar um link rígido para o diretório. Esta (provavelmente) não é a intenção real do usuário ao copiar um diretório. Com toda a probabilidade, ao copiar um diretório usando o comando cp
, o usuário pretende fazer uma cópia física dos arquivos de dados reais.
Portanto, eu diria que usar a opção -r
ao copiar diretórios, torna o comando explícito.