2010
Jan
12

Shell, i comandi “mv”, “cp”, “rm” e “mkdir”

Sempre più spesso le GUI entrano a far parte della nostra esperienza lato utente soppiantando” i comandi della shell, soprattutto quelli più elementari. Forse non tutti sanno che alla fine le GUI per GNU/Linux si appoggiano ai meno utilizzati comandi shell. In questo breve articolo ne vedremo alcuni, i più importanti.

Il comando “mv”

Con il comando “mv” (move) possiamo spostare i file o le directory da un luogo sorgente ad una destinazione. Tutte le operazioni compiute con il comando “mv” vengono eseguite in locale. La sintassi del comando è la seguente:

[user@localhost:~]$ mv file_sorgente /percorso/destinazione/locale/.

Nel caso volessimo spostare un file da una directory precisa nella directory in cui ci troviamo sarà sufficiente digitare:

[user@localhost:~]$ mv /percorso/sorgente/locale/file_sorgente .

Il punto finale è molto importante e significa “qui“, sposta il file “qui“.

Per spostare più file in un unica destinazioni usare questo comando:

[user@localhost:~]$ mv file_1 file_2 file_3 /percorso/destinazione/locale/.

La stessa sintassi si usa per spostare le directory:

[user@localhost:~]$ mv -r dir_1 dir_2 dir_3 /percorso/destinazione/locale/.

Il parametro “-r” verrà visto in seguito, serve per spostare le directory non vuote. In tutti i casi il file o la directory viene “spostato“, sarà disponibile nella destinazione e non all’origine.

Il comando “cp”

Analogamente al comando “mv“, con il comando “cp” (copy) siamo in grado di copiare i file o le directory da un luogo sorgente ad una destinazione. Anche il comando “cp” opera esclusivamente in locale. La sintassi è la seguente:

[user@localhost:~]$ cp file_sorgente /percorso/destinazione/locale/.

Anche qui per spostare un file da una directory precisa nella directory in cui ci troviamo sarà sufficiente digitare:

[user@localhost:~]$ mv /percorso/sorgente/locale/file_sorgente .

Come prima il punto finale è molto importante. La sintassi per la copia di più file o directory è la medesima usata con il comando “mv“. Con il comando “cp” copiamo il file, il file verrà lasciato nella directory sorgente e duplicato nella directory destinazione.

Alcuni parametri da passare a “cp” e “mv”:

-b Creauna copia di backup di ogni file di destinazione esistente
-f Forza la sovrascrittura dei file
-i Attiva la modalità interattiva, chiede conferma prima dell’evanutale sovrascrittura di file di destinazione preesistenti
-p Mantiene, gli attributi (permessi, ownership, etc.) del file
-r Permette copia ricorsivamente le directory
-v Visualizza in output quello che il sistema ha fatto in seguito al nostro comando

Il comando “rm”

Con il comando “rm” (remove) eliminiamo file o directory. Per eliminare file e directory vuote è usata la seguente sintassi:

[user@localhost:~]$ rm file_1 file_2 directory_1

Per eliminare le directory contenenti oggetti bisogna specificare i parametri “-Rf” come segue:

[user@localhost:~]$ rm -Rf dir_1 dir_2

Se i parametri “-Rf” non vengono specificati la shell restituirà un errore.

Il comando “mkdir”

Con “mkdir” (make directory) viene creata una nuova directory. La sintassi è la seguente:

[user@localhost:~]$ mkdir nuova_directory_1

E’ possibile specificare anche un percorso (esistente o meno):

[user@localhost:~]$ mkdir /dir_esistente/nuova_dir/nuova_sottodir/

Con questa sintassi verranno create una directory e una sottodirectory nella directory madre “dir_esistente“.

Conclusioni

Sapere i comandi della shell è molto importante. Se operiamo in locale non è necessario sapere come si crea una directory o come si elimina, ma se operiamo su un computer remoto, o ad esempio su un server è necessario avere una certa conoscenza almeno dei più comuni comandi.

Add comment

Fill out the form below to add your own comments

User data





Add your comment


Admin