GNU/Linux >> Linux Esercitazione >  >> Linux

Linux – Directory danneggiate, problemi nell'eliminazione?

C'è una directory nel mio sistema Linux a causa di alcuni malfunzionamenti del software vengono create alcune directory con il nome spazzatura come puoi vedere di seguito, ho problemi a eliminarle,

$ ll
total 1532
drwxr-xr-x   2 sensage sensage   4096 Apr 19 16:56 -?$??
drwxrwxr-x 248 sensage sensage   4096 Apr 23 11:37 .
drwxrwxr-x  99 sensage sensage   4096 Apr 16 14:23 ..
drwxr-xr-x   2 sensage sensage   4096 Apr  6 14:54 }???;?
drwxr-xr-x   2 sensage sensage   4096 Apr 19 03:01 }??=?|
-rw-r--r--   1 sensage sensage     88 Apr 22 13:37 $
drwxr-xr-x   2 sensage sensage   4096 Apr  2 12:43 ?
drwxr-xr-x   2 sensage sensage   4096 Mar 20 02:51 ?=??&?
drwxr-xr-x   2 sensage sensage   4096 Apr 11 08:40 ?;%??;
drwxr-xr-x   2 sensage sensage   4096 Apr 14 09:38 ?:????
drwxr-xr-x   2 sensage sensage   4096 Mar 22 17:21 ?(?>~?
drwxr-xr-x   2 sensage sensage   4096 Apr  1 13:45 ?[???%
drwxr-xr-x   2 sensage sensage   4096 Apr  3 14:03 [email protected]????
drwxr-xr-x   2 sensage sensage   4096 Apr 12 16:18 ??
drwxr-xr-x   2 sensage sensage   4096 Apr 17 16:38 ??&???
drwxr-xr-x   2 sensage sensage   4096 Mar 25 02:43 ??+???
drwxr-xr-x   2 sensage sensage   4096 Apr 19 00:46 Ü¡?,??
drwxr-xr-x   2 sensage sensage   4096 Mar 28 18:54 ÚŸ??"?
drwxr-xr-x   2 sensage sensage   4096 Mar 27 01:04 ???(?
drwxr-xr-x   2 sensage sensage   4096 Apr 19 22:41 ??ͨ?`
drwxr-xr-x   2 sensage sensage   4096 Apr 15 11:44 ?????-

come puoi vedere i nomi delle directory in blu. quando voglio eliminarli ottengo il seguente errore:

$ ls -1  | grep -v 20 | xargs rm -rf 
xargs: unmatched double quote; by default quotes are special to xargs unless you use the -0 option
rm: invalid option -- ¼
Try `rm ./'-¼$Þ¸Í'' to remove the file `-274$336270315'.
Try `rm --help' for more information.

cosa devo fare con loro?

Risposta accettata:

ls stamperà caratteri non ASCII (o meglio, caratteri non supportati nella locale corrente) come ? . Questo è uno dei motivi per cui analizzare l'output di ls è una brutta cosa da fare. L'output da ls è pensato per essere guardato . In alcuni casi, come questo, quelli non sono i nomi effettivi che esistono nel filesystem.

Prova invece qualcosa di simile (questi cancelleranno tutto file e directory, inclusi /path/to/dir )

rm -rf /path/to/dir

o

find /path/to/dir -delete

o

find /path/to/dir -exec rm -rf {} +

o

find /path/to/dir -print0 | xargs -0 rm -rf

Modifica in base alle tue esigenze. Per eliminare solo i file, aggiungi -type f dopo il percorso nel find esempi, per esempio.

Facendo solo rm -rf * all'interno di quella directoryimportante , anche la directory di lavoro corrente deve essere la directory di cui si desidera eliminare i file e le directory).

Correlati:in Microsoft Access come si eliminano tutti i valori in una singola colonna senza eliminare l'intero campo.?
Linux
  1. 8 suggerimenti per aiutare i non tecnici a passare a Linux

  2. Creazione, eliminazione e gestione di directory su Linux

  3. 5 comandi Linux che inizierò a usare

  4. Linux Elimina file e directory

  5. Eliminazione di .rbenv da Linux

Come rinominare le directory in Linux

Come confrontare le directory con Meld su Linux

Come navigare nelle directory più velocemente in Linux

Trova facilmente file e directory su Linux

Comando mkdir:crea nuove directory in Linux

Come elencare solo le directory in Linux