Comandi principali II

« Older   Newer »
 
  Share  
.
  1. charly
        +1   -1
     
    .

    User deleted


    Ora che abbiamo visto come muoverci nel filesystem e come vedere il contenuto di una directory, concentriamocoi sui singoli file e sulle operazioni che possiamo fare su di essi: vedremo quindi i comandi per copiare, spostare ed eliminare i file presenti sul disco; inoltre, vedremo come eseguire le stesse operazioni sulle directory, imparando anche come crearle.

    Il primo comando è cp, utilizzato per copiare file e directory. La sua sintassi è molto semplice:

    cp file_sorgente destinazione



    oppure, per la copia multipla di file, si usa:

    cp file1 file2 file3 ... fileN destinazione



    che permetterà di copiare i file file1 .. fileN nella directory di destinazione. Vediamo un esempio:

    cp miofile /tmp

    che copierà 'miofile' nella directory /tmp. Nel caso in /tmp esista già un file chiamato miofile, questo verrà sovrascritto dal nuovo file. Vediamo ora le opzioni più importanti di cp:

    -b Esegue automaticamente una copia di backup di ogni file di destinazione esistente.
    -f Forza la sovrascrittura dei file, senza richiedere interventi da parte dell'utente.
    -i Attiva la modalità interattiva, che chiede conferma prima dell'evanutale sovrascrittura di file di destinazione preesistenti; il suffisso usato è il classico simbolo della tilde, ~.
    -p Mantiene, se possibile, gli attributi (permessi, ownership ecc.) del file.
    -r Permette di attivare la modalità ricorsiva, che permette la copia di directory.
    -v Attiva la modalità verbose, che visualizza in output quello che il sistema ha fatto in seguito al nostro comando.
    Dopo aver visto come copiare file e directory, dedichiamoci allo spostamento ed al cambio di nome dei file; tutto questo è fatto con un solo comando: mv, la cui sintassi è:

    mv SORGENTE DESTINAZIONE (per rinominare) mv SORGENTE DIRECTORY (per spostare un file) mv SORGENTE1 .. SORGENTE-N DESTINAZIONE (per spostare più file)

    Tramite mv, oltre a cambiare il nome di un file, è anche possibile rinominare una directory o muovere più directory in un'altra directory. Le opzioni di mv sono molto simili a quelle di cp, sebbene in numero minore. Quelle che a noi interessano sono le stesse viste per il comando cp, con l'esclusione di -p che per mv non esiste.

    Come ultimo, ci rimane il comando rm, che permette di eliminare file o directory. La sua sintassi è abbastanza semplice:

    rm FILE (per eliminare un file) rm FILE1 .. FILE-N (per eliminare più file)

    Le opzioni di rm sono anch'esse simili a quelle di mv; le più utili sono le stesse che sono state viste per cp, con l'esclusione di "-p" che qui non ha alcun senso pratico.

    Deve qui essere aperta una parentesi relativa alle directory: di norma, se siete sicuri di poter elimimare una directory non vuota, potete utilizzare il comando

    rm -rf directory



    che forza l'eliminazione della directory 'directory' e dei suoi contenuti. Per eliminare una directory vuota, si usa invece il comando:

    rmdir directory



    A volte, però, tale comando non sembra sortire gli effetti desiderati: nonostante la directory sembri vuota, quanto scritto sopra ci restituisce un errore, dove il sistema si lamenta perchè esistono dei file all'interno della directory che vogliamo eliminare.

    Accade spesso, infatti, che per controllare il contenuto di una directory si usi solamente "ls" che, per sua natura, non visualizza i file nascosti! A questo punto si può procedere in due modi: entrare nella directory e cancellare tali file oppure, se si è sicuri che i file nascosti all'interno di tale directory non sono importanti, si può procedere con rm -rf.

    Come ultima cosa, vediamo come creare le directory: il comando è mkdir, la cu isintassi è:

    mkdir DIRECTORY (per creare una directory) mkdir DIRECTORY1 .. DIRECTORY-N (per creare più directory).



    Vediamo un esempio: nella nostra home directory, supponiamo /home/utente, è presente la directory "dir" e vogliamo creare "sottodir" come sottodirectory della precedente. La prima cosa che viene in mente di fare è di entrare in "dir" e lanciare il comando:

    mkdir sottodir



    È però possibile, e anche molto più comodo, utilizzare direttamente il comando:

    mkdir dir/sottodir



    con una sola attenzione: il comando

    mkdir dir/sottodir sottodir2 sottodir3

    non fa quello che ci si potebbe aspettare, ossia creare sottodir, sottodir2 e sottodir3 come sottodirectory di "dir"; quello che qui accade, invece, è la creazione di "sottodir" come sottodirectory di "dir" e la creazione di "sottodir2" e "sottodir3" allo stesso livello di "dir"!

    Quindi, per non dover scrivere:

    mkdir dir/sottodir dir/sottodir2 dir/sottodir3

    in questo caso è più comodo entrare in dir e lanciare:

    mkdir sottodir sottodir2 sottodir3

    Con queste nozioni, potrete certamente iniziare a fare gli esperimenti sulla creazione, rimozione e spostamento di file e directory.Permetteteci però qualche consiglio:

    utilizzate touch per creare file vuoti con cui operare; il comando "touch file" crea il file vuoto "file"; utilizzate invece il comando "mkdir" (mkdir nomedirectory) per la creazione delle directory;
    spostatevi in /tmp per le prove; è più sicuro e vi eviterà di lasciare file e directory inutili sparsi per il filesystem o, peggio, di eliminare file importanti o di sistema per qualche disattenzione;
    non, ripeto, NON utilizzate l'utente root per queste prove: uno stupido errore di digitazione può, come si dice in gergo, "rasare" un intero filesystem!
    In conclusione, ricordiamo che tutti i comandi fino a qui visti permettono di specificare caratteri jolly, quali ad esempio l'asterisco o il punto di domanda. Ad esempio:

    rm ab*

    rimuoverà tutti i file il cui nome inizia con "ab" seguiti da zero o più caratteri. Invece, il comando:

    rm ab?

    eliminerà tutti i file il cui nome inizia con ab seguiti da un qualsiasi carattere.

    Lezione successiva

    Lezioni:
    ... < 20 21 22 > ... Indice Versione Stampa
    RSS
    Segnala
     
    Top
    .
0 replies since 5/10/2009, 08:43   76 views
  Share  
.