Come eliminare file e directory nel terminale Linux

Contenuti

Terminal Bash sul concetto di laptop Ubuntu

il rm e rmdir I comandi eliminano file e directory in Linux, macOS e altri sistemi operativi simili a Unix. Sono simili a del e deltree comandi in Windows e DOS. Questi comandi sono molto potenti e hanno molte opzioni.

È essenziale prestare attenzione che i file e le directory vengano eliminati tramite rm e rmdir non spostarti nel cestino. Vengono immediatamente rimossi dal tuo computer. Se elimini accidentalmente dei file con questi comandi, l'unico modo per ripristinarli è da un backup.

Come eliminare i file con rm

Il caso più semplice è eliminare un singolo file nella directory corrente. Scrivi la rm comando, uno spazio e poi il nome del file che si desidera eliminare.

rm file_1.txt

Se il file non si trova nella directory di lavoro corrente, fornire un percorso alla posizione del file.

rm ./percorso/del/file/file_1.txt

Puoi passare più di un nome di file a rm. Così facendo, tutti i file specificati vengono eliminati.

rm file_2.txt file_3.txt

I caratteri jolly possono essere utilizzati per scegliere gruppi di file da eliminare. il * rappresenta vari personaggi e il ? rappresenta un singolo carattere. Questo comando eliminerebbe tutti i file di immagine png nella directory di lavoro corrente.

rm *.png

Questo comando rimuoverà tutti i file che hanno un'estensione di un singolo carattere. Come esempio, questo rimuoverebbe File.1 e File.2, ma non File.12.

rm *.?

Se un file è protetto da scrittura, ti verrà chiesto prima di eliminarlo. Devi rispondere con y oh n e tocca “accedere”.

comando rm con file protetto da scrittura

Per ridurre il rischio di utilizzo rm con i caratteri jolly usa il -i opzione (interattivo). Questo richiede che tu confermi la cancellazione di ogni file.

rm -i *.dat

comando rm in modalità interattiva

il -f L'opzione (forza) è l'opposto di interattivo. Non chiede conferma anche se i file sono protetti da scrittura.

rm -f nome file

Come eliminare le directory con rm

Per eliminare una directory vuota, usa el -d opzione (directory). Puoi usare i caratteri jolly (* e ?) nei nomi delle directory proprio come puoi con i nomi dei file.

rm -d directory

Fornendo più di un nome di directory, tutte le directory vuote specificate vengono rimosse.

rm -d directory1 directory2 /percorso/della/directory3

Per eliminare le directory che non sono vuote, usa el -r opzione (ricorsivo). per essere chiari, questo rimuove le directory e tutti i file e le sottodirectory in esse contenuti.

rm -r directory1 directory2 directory3

Se una directory o un file è protetto da scrittura, ti verrà chiesto di confermare la cancellazione. Per eliminare le directory che non sono vuote e sopprimere questi messaggi, usa el -r (ricorsivo) e -f (forza) opzioni insieme.

rm -rf directory

La cura è necessaria qui. Fai un errore con il rm -rf Il comando potrebbe causare la perdita di dati o il malfunzionamento del sistema. È pericoloso e la prudenza è la migliore politica. Comprendere la struttura delle directory e i file che verranno eliminati dal rm -rf comando, usa el tree comando.

Utilizzo apt-get per installare questo pacchetto sul tuo sistema se stai usando Ubuntu o un'altra distribuzione basata su Debian. Su altre distribuzioni Linux, usa lo strumento di gestione dei pacchetti della tua distribuzione Linux.

sudo apt-get install tree

correndo il tree Il comando produce un diagramma di facile comprensione della struttura della directory e dei file nella directory da cui viene eseguito.

albero

output del comando ad albero

Può anche fornire un percorso per tree comando per fargli avviare l'albero da un'altra directory sul filesystem.

percorso dell'albero/alla/directory

il rm il comando ha anche --one-file-system, --no-preserve-root, --preserve-root opzioni, ma consigliato solo per utenti avanzati. Se ti sbagli su qualcosa, potrebbe cancellare accidentalmente tutti i file di sistema. Vedi comando pagina man per maggiori informazioni.

Come eliminare le directory con rmdir

C'è un altro comando, chiamato rmdir, che puoi usare per eliminare le directory. La differenza tra rm e rmdir è questo rmdir può eliminare solo le directory vuote. Non cancellerà mai i file.

Il caso più semplice è eliminare una singola directory vuota. Allo stesso modo di con rm, puoi passare più nomi di directory a rmdir o il percorso di una directory.

Elimina una singola directory nella directory corrente passando il suo nome a rmdir :

directory rmdir

Elimina più directory passando un elenco di nomi a rmdir :

rmdir directory1 directory2 directory3

Rimuovi una directory che non si trova nella directory corrente specificando il percorso completo di quella directory:

rmdir /percorso/della/directory

Se provi a eliminare una cartella che non è vuota, rmdir ti darà un messaggio di errore. Nel seguente esempio rmdir con successo, e in silenzio, Rimuovi il clients directory ma si rifiuta di eliminare il projects directory perché contiene file. il projects La directory viene lasciata esattamente com'era e i file che contiene non vengono modificati.

comando rmdir con una cartella non vuota

quando rmdir dà un errore “Directory non vuota”, interrompere l'elaborazione delle directory passate ad esso sulla riga di comando. Se ti è stato chiesto di rimuovere quattro directory e la prima contiene file, rmdir ti darebbe il messaggio di errore e non farebbe nient'altro. Puoi forzarlo a ignorare questi errori con il --ignore-fail-on-non-empty opzione per l'elaborazione di altre directory.

Nell'esempio seguente sono state passate due cartelle a rmdir, questi sono work/reports e work/quotes . il --ignore-fail-on-non-empty L'opzione è stata inclusa nel comando. il work/reports la cartella contiene file, così rmdir non può essere rimosso. il --ignore-fail-on-non-empty forze di opzione rmdir per ignorare l'errore e passare alla cartella successiva che devi elaborare, Che cos'è work/quotes. Questa è una cartella vuota e rmdir lo rimuove.

Questo era il comando usato.

rmdir --ignore-fail-on-non-empty work/reports /work/quotes

rmdir con l'opzione --ignore-fail-on-non-empty

Puoi usare il -p (genitori) opzione per eliminare una directory e anche per eliminare le sue directory principali. Questo trucco funziona perché rmdir inizia con la directory di destinazione e poi torna al genitore. Quella directory dovrebbe ora essere vuota, quindi può essere rimosso da rmdir, e si ripete la procedura risalendo lungo il percorso che era stato previsto per rmdir.

Nel seguente esempio, il comando che viene passato a rmdir è:

rmdir -p lavoro/fatture

Comando rmdir con opzione per rimuovere i genitori

Entrambi invoices e il work le directory vengono rimosse, come richiesto.


Sia che tu stia usando Bash o qualsiasi altra shell, Linux fornisce comandi flessibili e potenti per rimuovere directory e file direttamente dalla riga di comando del terminale. Alcune persone preferiscono avere un flusso di lavoro che ruota attorno al terminale. Altri potrebbero non avere alternative in questo senso.. Potrebbero funzionare su server senza una GUI installata o in una sessione remota su un sistema headless come un Raspberry Pi. Questi comandi sono perfetti per quel gruppo di persone.

Ma qualunque sia il tipo di flusso di lavoro che preferisci, questi comandi si prestano bene ad essere inclusi negli script di shell. Se uno script viene attivato da a cron lavoro, può aiutare ad automatizzare le attività di pulizia di routine, come il debug di file di registro indesiderati. Se indaghi su quel caso d'uso, ricorda il potere di questi comandi, prova tutto attentamente e mantieni sempre un backup recente.

impostaTimeout(funzione(){
!funzione(F,B,e,v,n,T,S)
{Se(f.fbq)Restituzione;n=f.fbq=funzione(){n.callMethod?
n.callMethod.apply(n,argomenti):n.queue.push(argomenti)};
Se(!f._fbq)f._fbq = n;n.push=n;n.loaded=!0;n.version='2.0′;
n.coda=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(T,S) } (window, documento,'copione',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('dentro', '335401813750447');
fbq('traccia', 'Visualizzazione della pagina');
},3000);

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.