2012-07-11 19 views

risposta

9
rm -i <directory>/* 

questo dovrebbe fare il trucco

EDIT: -i aggiunto solo nel caso (sicurezza al primo posto). directory deve essere un percorso completo o relativo (ad es /tmp/foo o ../trash/stuffs)

+0

C'è un modo per eliminare senza fornire un percorso? Io vengo dalla directory che hai cd-d? – BIOS

+0

ovviamente, puoi sempre fare il cd nella tua directory e poi eseguire un "rm -i *" tieni presente che il flag -i imporrà la conferma di ogni cancellazione, è solo per sicurezza (cose brutte si verificano se si smarrisce un/nella tua linea di comando e fornisci un flag -r ...) – BigMike

+0

Sto usando rm -r * ma sta chiedendo una conferma per ogni eliminazione di file. Per interrompere questo è rm -rf * sì? Cercando di eliminare tutto dalla directory corrente. – BIOS

5

provare

rm -r yourDirectory/* 

cancella tutti i file all'interno della directory "YourDirectory"

+0

C'è un modo per cancellare senza fornire un percorso? Io vengo dalla directory che hai cd-d? – BIOS

+0

se si è già all'interno della directory è sufficiente digitare "rm -r *" – Amxx

+0

Non suggerirei a un newbie unix di utilizzare l'opzione -r, cosa succede se OP posiziona erroneamente un/sulla riga di comando? – BigMike

2

è possibile rimuovere tutti i file costituiscono la directory corrente utilizzando rm * se si desidera rimuovere da una directory specifica, digitare rm /path/*

0

è possibile utilizzare rm -r /UrDir/*.* Ciò ignorare i file nelle sottodirectory

0

Questo vi aiuterà,

rm path/* 

esempio:

rm ../mydir/* 

In questo comando, se mydir ha alcun sub_directory! genererà un messaggio di errore e salterà quella sottodirectory e rimuoverà il resto dei file nella directory principale.

3

È possibile utilizzare find /path/to/your/folder/ -delete per eliminare tutto all'interno di tale cartella.

Mentre un carattere jolly rm può contenere troppi file ("Elenco argomenti troppo lungo"), questo funziona indipendentemente dal numero di file presenti.

Si può anche rendere eliminare solo i file ma conserva tutte le sottodirectory:

find /path/to/your/folder/ -type f -delete 

Si potrebbe anche specificare qualsiasi altro criterio find sostiene per limitare i "risultati".

+0

Questa è la migliore risposta in quanto conserva la struttura della directory. –

+0

Questo è il più vicino alla risposta corretta perché ogni altra soluzione proposta ignora i file nascosti (con il prefisso "."). Tuttavia, il comando 'find' agisce anche sugli argomenti della riga di comando, a meno che non si specifichi' -mindepth 1'. Con questa aggiunta la soluzione è corretta. – Parakleta

1

Se ci si trova nella directory in cui si desidera rimuovere tutti i file quindi il seguente comando funziona bene:

rm * 
0

Se si desidera eliminare tutti i file così come tutti Directory che significa che tutte le cose quindi provare this:

rm -rf * 
Problemi correlati