[LatinaLUG] Corso di Bash: impressioni e primo esercizio
Enrico Bianchi
enrico.bianchi@ymail.com
Mar 8 Gen 2013 21:50:05 CET
On 12/05/2012 12:49 PM, Roberto Polli wrote:
> Esercizio 1
>
> a. Cosa fa' il comando # cp ; ?
Copia un file da una locazione del disco ad un'altra
> 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
* Imposto un alias di cp in modo che esegua effettivamente cp -i;
* Creo un file di nome pippo nella home dell'utente ed un file di nome
nella directory /tmp;
* Copio il file di nome pippo dalla home dell'utente nella directory /tmp;
* L'alias di cp fa in modo di eseguire il comando cp -i ~/pippo
/tmp/pippo invece del comando cp diretto.
> b1. (facoltativo) Ipotizzate motivando il contenuto della syscall
> execve() che viene eseguita da bash nel terzo comando del punto b
La syscall execve() esegue il comando cp passando come argomenti il -i e
i due file riportati
> c. Come cambia il comportamento di #cp
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
> d. Una volta impostato l'alias come posso eseguire #cp col suo
> comportamento standard?
Eseguendolo scrivendo il suo percorso assoluto sul disco (solitamente
/bin/cp )
> e. Come posso accorciare il comando precedente usando la History Expansion?
Usando il tasto TAB per espandere i percorsi (non ho capito bene la
domanda)?
Enrico
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
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/latina/attachments/20130108/3dee04ca/attachment.html>
Maggiori informazioni sulla lista
latina