comando di ricerca si blocca su / dev / fd / *

1

L'utilizzo di sudo find ha temporaneamente smesso di funzionare per me. Funzionava come previsto ma ora si blocca per sempre e dice semplicemente:

find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory

ls -lOeR /dev/fd/* dice che / dev / fd / 0, / dev / fd / 1 e / dev / fd / 2 sono file speciali di carattere e che 3 e 4 sono directory, tutti di proprietà di root.

Quindi dice:

/dev/fd//3:
ls: 3: Not a directory
ls: 4: directory causes a cycle

/ dev / fd // 3 ha due barre prima delle tre che non capisco neanche io. Qualcuno sa cosa sta succedendo con find e perché è iniziato in modo casuale. Non sono più in grado di utilizzare find e in precedenza non avevo mai nemmeno sentito parlare di / dev / fd.

    
posta David Smith 09.09.2017 - 01:41
fonte

1 risposta

2

Trova non ha smesso a caso di funzionare, ma funziona come dovrebbe. Il problema è che stai eseguendo un comando che non comprendi completamente. Sembra probabile che tu non voglia affatto trovare la ricerca nella directory / dev.

Il motivo per cui ottieni risultati diversi con find e ls è che la directory / dev / fd non rappresenta una directory fisica su disco. Invece è un file system virtuale che contiene i descrittori di file che hanno ottenuto il processo su / dev / fd.

Questo significa che ls vede uno / dev / fd mentre find ne vede un altro (e simile per tutti gli altri processi in esecuzione).

In sostanza, si vuole dare un'occhiata al comando find e assicurarsi che sia costruito correttamente per l'attività che si desidera eseguire. Se vuoi chiederlo a proposito di SO, ricorda di includere il comando completo che stai cercando di eseguire e quello che ti aspetti che quel comando faccia per te.

    
risposta data 09.09.2017 - 09:38
fonte

Leggi altre domande sui tag