<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>