28Jun
Se si desidera rimuovere diverse sottodirectory in un'altra directory utilizzando la riga di comando in Linux, in genere è necessario utilizzare il comando rm più volte. Tuttavia, c'è un modo più veloce per farlo.
Diciamo che abbiamo una directory chiamata htg con cinque sottodirectory al suo interno e vogliamo eliminarne tre. In una situazione normale, utilizzeremmo il comando rm tre volte.
Tuttavia, possiamo rendere questo processo ancora più breve combinando i tre comandi rm in uno. Ecco come.
Per rimuovere le tre sottodirectory è sufficiente digitare il seguente comando al prompt e premere Invio( ovviamente, cambiare i nomi delle directory in quello che si desidera rimuovere).
rm -r ~ /Documents/htg/{ done, ideas, notes}Le parole tra parentesi fanno parte della "lista di espansione delle controventi".Ciascuno degli elementi nell'elenco di espansione delle controventi viene aggiunto separatamente al percorso precedente( ~ /Documents/htg/).Ad esempio, il comando precedente è espanso in ~ /Documents/htg/ fatto, ~ idee /Documents/htg/ e ~ note /Documents/htg/, le tre sottodirectory nella directory htg che vogliamo rimuovere. Come puoi vedere nello screenshot qui sotto, queste tre sottodirectory sono state rimosse.
Il flag -r è richiesto quando si utilizza il comando rm per rimuovere una directory anziché un file. Se si lascia il flag -r fuori dal comando precedente, si otterrà un errore che dice che le directory non possono essere rimosse.
Se tutte le sottodirectory che si desidera rimuovere sono vuote, è possibile utilizzare il comando rmdir, come mostrato di seguito.
rmdir ~ /Documents/htg/{ done, ideas, notes}Se risulta che nessuna delle sottodirectory non è vuota, verrà visualizzato un errore che indica che la rimozione non è riuscita e la sottodirectory in questione e le relative sottodirectory non vengono rimosse. Tuttavia, qualsiasi sottodirectory vuota viene rimossa.
Stai molto attento con il comando rm. Usarlo nel modo sbagliato può cancellare tutti i file sul tuo disco rigido.
È anche possibile creare una directory contenente diverse sottodirectory o un albero di directory, utilizzando un solo comando.