GNU/Linux >> Linux Esercitazione >  >> Linux

Rimuovi un file su Linux usando il numero di inode

Alcuni altri metodi includono:

sfuggendo ai caratteri speciali:

[~]$rm \"la\*

usa il comando find e cerca solo nella directory corrente. Il comando find può cercare numeri di inode e ha un pratico -delete interruttore:

[~]$ls -i
7404301 "la*

[~]$find . -maxdepth 1 -type f -inum 7404301
./"la*

[~]$find . -maxdepth 1 -type f -inum 7404301 -delete
[~]$ls -i
[~]$

Forse mi sto perdendo qualcosa, ma...

rm '"la*'

Ad ogni modo, i nomi dei file non hanno inode, i file sì. Cercare di rimuovere un file senza rimuovere tutti i nomi di file che puntano ad esso danneggerà il tuo filesystem.


Se davvero vuoi farlo - e il tuo caso d'uso non sembra affatto necessario, potresti provare gli strumenti di debug del file system. Se sei disposto a perdere tutto, cioè.

Ad esempio, per ext2/3/4 il debugfs Il comando ha un'opzione "kill_file" che sembra prendere un inode. Come menzionato in altre risposte, questo sarà danneggiare il tuo file system, poiché ci saranno voci di directory che puntano a un file inesistente. Esecuzione di fsck in seguito potrebbe essere in grado di riparare questo problema. È improbabile che tu possa farlo su un file system montato.

Ma lo consiglio vivamente basta usare l'escape/quoting appropriato ed eliminare tali file con il normale rm comando come menzionato in una risposta precedente - e usa rm -i per maggiore sicurezza quando si ha a che fare con nomi di file contenenti caratteri glob come *


Linux
  1. Usando la forza sulla riga di comando di Linux

  2. Come estrarre il file tar.gz in Linux utilizzando la riga di comando

  3. Che cos'è il numero di inode in Linux?

  4. Esempi essenziali del comando file in Linux

  5. Qual è il comando per copiare, leggere e rimuovere file in Linux

Come utilizzare il comando touch in Linux

Come utilizzare il comando head di Linux

Come usare il comando diff di Linux

Usando il comando gratuito di Linux

Scollega comando in Linux (Rimuovi file)

Tutorial sull'uso del comando Timeout su Linux