<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 12/05/2012 12:49 PM, Roberto Polli
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAP9qbHWS8pVh00e8-Xd6eKPO=99cG2_PPQKEq4UE9qyFn0RFYw@mail.gmail.com"
      type="cite">
      <pre wrap="">Esercizio 1

a. Cosa fa' il comando # cp ; ?
</pre>
    </blockquote>
    Copia un file da una locazione del disco ad un'altra<br>
    <br>
    <blockquote
cite="mid:CAP9qbHWS8pVh00e8-Xd6eKPO=99cG2_PPQKEq4UE9qyFn0RFYw@mail.gmail.com"
      type="cite">
      <pre wrap="">b. Cosa fanno i comandi della riga seguente? Spiegare dove vi siete
documentati.
 #  alias cp=’cp -i’ ; touch ~/pippo /tmp/pippo; cp  ~/pippo /tmp/pippo</pre>
    </blockquote>
    <ul>
      <li>Imposto un alias di cp in modo che esegua effettivamente cp
        -i;</li>
      <li>Creo un file di nome pippo nella home dell'utente ed un file
        di nome nella directory /tmp;</li>
      <li>Copio il file di nome pippo dalla home dell'utente nella
        directory /tmp;</li>
      <li>L'alias di cp fa in modo di eseguire il comando cp -i ~/pippo
        /tmp/pippo invece del comando cp diretto.</li>
    </ul>
    <p><br>
    </p>
    <blockquote
cite="mid:CAP9qbHWS8pVh00e8-Xd6eKPO=99cG2_PPQKEq4UE9qyFn0RFYw@mail.gmail.com"
      type="cite">
      <pre wrap="">b1. (facoltativo) Ipotizzate motivando il contenuto della syscall
execve() che viene eseguita da bash nel terzo comando del punto b</pre>
    </blockquote>
    La syscall execve() esegue il comando cp passando come argomenti il
    -i e i due file riportati<br>
    <br>
    <blockquote
cite="mid:CAP9qbHWS8pVh00e8-Xd6eKPO=99cG2_PPQKEq4UE9qyFn0RFYw@mail.gmail.com"
      type="cite">
      <pre wrap="">c. Come cambia il comportamento di  #cp</pre>
    </blockquote>
    Il comportamento standarda di cp segue l'assunto dei sistemi *nix
    che e` "l'utente sa sempre cosa sta facendo". L'opzione -i invece
    cambia questo assunto facendo in modo che cp chieda conferma per la
    sovrascrittura del file<br>
    <br>
    <blockquote
cite="mid:CAP9qbHWS8pVh00e8-Xd6eKPO=99cG2_PPQKEq4UE9qyFn0RFYw@mail.gmail.com"
      type="cite">
      <pre wrap="">d. Una volta impostato l'alias come posso eseguire #cp col suo
comportamento standard?</pre>
    </blockquote>
    Eseguendolo scrivendo il suo percorso assoluto sul disco
    (solitamente /bin/cp )<br>
    <br>
    <blockquote
cite="mid:CAP9qbHWS8pVh00e8-Xd6eKPO=99cG2_PPQKEq4UE9qyFn0RFYw@mail.gmail.com"
      type="cite">
      <pre wrap="">e. Come posso accorciare il comando precedente usando la History Expansion?
</pre>
    </blockquote>
    Usando il tasto TAB per espandere i percorsi (non ho capito bene la
    domanda)?<br>
    <br>
    Enrico<br>
    P.S. si, mi sono fatto venire la voglia di rispondere alla mail
    (l'alternativa era scrivere codice java e non ne ho
    assolutissimamente voglia) :P<br>
  </body>
</html>