O processo que está fazendo a recursão na extremidade remota está sendo executado como superusuário e recursou em /dev/fd
. Vários de seus descritores de arquivos abertos são para diretórios que estão em processo de leitura como parte da recursão. Uma vez que eles se parecem com subdiretórios enquanto percorrem /dev/fd
, eles estão sendo recursivos novamente.
É até mesmo possível determinar quais descritores de arquivos abertos estão abertos para quais diretórios:
-
O descritor de arquivo
- # 3 está aberto para
/
O descritor de arquivo - # 5 está aberto para
/dev/fd
O descritor de arquivos - # 31 está aberto para
/dev
Alcançou, por meio de uma rota longa e tortuosa, um ponto em que está tentando abrir e copiar /dev/rd/c6d16
, que não corresponde a um dispositivo físico.
Sempre tenha cuidado com os comandos, especialmente aqueles executados com privilégios de superusuário, que acabarão tentando abrir e copiar ingenuamente todos os arquivos em /dev
, /device
, /proc
, /sys
e assim por diante. Isso tem sido insensato desde os dias em que /dev
estava cheio de dispositivos de fita (às vezes com retrocesso automático / retensionamento automático) e dispositivos de terminal que bloqueariam uma chamada aberta até que a portadora fosse detectada.
Garanta que, se você realmente quiser copiar /dev
, o que provavelmente não , dado que nos sistemas operacionais modernos seu conteúdo é determinado dinamicamente em tempo de execução, use um comando que copie arquivos de dispositivos especiais, FIFOs, soquetes e links simbólicos como eles próprios, em vez de tentar abrir e ler arquivos como se fossem arquivos normais. (Ou que open()
deles e, em seguida, fstat()
para determinar se eles são dispositivos especiais, o que falhará nos arquivos do dispositivo que geram erros em open()
.)