Andre_Santarell
23-09-2008, 12:35
ciao a tutti, nell'ultimo esame che ho fatto di sistemi operativi, c'erano anche delle domande su linux, in particolare relative al comando lsusb.
Io non ho idea di quali siano le risposte
Domani ho un secondo appello, e probabilmente ci saranno domande molto simili.
Vi prego, potete aiutarmi ? Potete darmi le risposte ai seguenti quesiti ?
Grazie infinite
Andrea
ricordando che:
head -N copia sugli sntandard output le prime n righe provenienti dallo standard input
il comando tail -n N copia sullo standard output le ultime N righe provenienti dallo standard input
il comando mkfifo file crea un oggetto fifo identificato sul file system dal nome file
il comando lsusb scrive sullo standard output la lista delle periferiche usb collegate al pc
ad esempio su un certo pc l'output di lsusb è:
$lsus
bus 002 device 004: id 03f0:1200 hewlett pakard deskjet
bus 002 device 003: id 046d:c051 logitech inc
bus 002 device 002: id 06bd:0001 agfa scan
bus 002 device 001: id 0000:0000
bus 001 device 004: id 059f:0641 Lacie
bus 001 device 002: id 0ccd:005e terratec hard drive
bus 001 device 001: id 0000:0000
dove Bus bbb device ddd: ---indica che il numero di bus e di periferica sono rispettivamente aaa e bbb
Id xxxx:yyyy This is a description --- indica che il la periferica yyyy è costituita dal produttore xxxx
Domande:
1) come si consulta il manuale in linea di lsusb?
2) Cosa fa il seguente comando ?
$ grep "Bus 001" <(lsusb)
Spiegane in dettaglio la sintassi
3) Cosa fa il comando seguente?
$ A=$(lsusb | grep "Device 001"); Echo $A
3) Come di fa avisualizzare solo le ultime due device sul bus 001 ?
4) Come si fa a scrivere sul file /home/pippo/mydevices.txt la lista delle device escludendo quelle con id 0000:0000 ?
5) suppondendo che la variabile A contenga il nome di profuttore , ad esempio logitech.inc, come si ottiene la lista delle sue devices installate ?
6) descrivere la sequenza di comandi:
$ mkfifo /tmp/fifo
$lsusb >/tmp/fifo &
$ cat /tmp/fifo
7) Come si compila il seguente codice, supponendo che sia salvato nel file main.c per ottenere un eseguibile main ?
#include <stdio.h>
int main(int argc, char ** argv) aperta graffa
char c=fgetc(stdin)
while(c!=EOF) aperta graffa // while not at the end of file
fputc(c,stdout);
c=fgetc(stdin);
chiusa graffa
chiusa graffa
8) Cosa succede eseguendo il comando
$lsusb | ./main
grazie ancora
ciao
Andrea
Io non ho idea di quali siano le risposte
Domani ho un secondo appello, e probabilmente ci saranno domande molto simili.
Vi prego, potete aiutarmi ? Potete darmi le risposte ai seguenti quesiti ?
Grazie infinite
Andrea
ricordando che:
head -N copia sugli sntandard output le prime n righe provenienti dallo standard input
il comando tail -n N copia sullo standard output le ultime N righe provenienti dallo standard input
il comando mkfifo file crea un oggetto fifo identificato sul file system dal nome file
il comando lsusb scrive sullo standard output la lista delle periferiche usb collegate al pc
ad esempio su un certo pc l'output di lsusb è:
$lsus
bus 002 device 004: id 03f0:1200 hewlett pakard deskjet
bus 002 device 003: id 046d:c051 logitech inc
bus 002 device 002: id 06bd:0001 agfa scan
bus 002 device 001: id 0000:0000
bus 001 device 004: id 059f:0641 Lacie
bus 001 device 002: id 0ccd:005e terratec hard drive
bus 001 device 001: id 0000:0000
dove Bus bbb device ddd: ---indica che il numero di bus e di periferica sono rispettivamente aaa e bbb
Id xxxx:yyyy This is a description --- indica che il la periferica yyyy è costituita dal produttore xxxx
Domande:
1) come si consulta il manuale in linea di lsusb?
2) Cosa fa il seguente comando ?
$ grep "Bus 001" <(lsusb)
Spiegane in dettaglio la sintassi
3) Cosa fa il comando seguente?
$ A=$(lsusb | grep "Device 001"); Echo $A
3) Come di fa avisualizzare solo le ultime due device sul bus 001 ?
4) Come si fa a scrivere sul file /home/pippo/mydevices.txt la lista delle device escludendo quelle con id 0000:0000 ?
5) suppondendo che la variabile A contenga il nome di profuttore , ad esempio logitech.inc, come si ottiene la lista delle sue devices installate ?
6) descrivere la sequenza di comandi:
$ mkfifo /tmp/fifo
$lsusb >/tmp/fifo &
$ cat /tmp/fifo
7) Come si compila il seguente codice, supponendo che sia salvato nel file main.c per ottenere un eseguibile main ?
#include <stdio.h>
int main(int argc, char ** argv) aperta graffa
char c=fgetc(stdin)
while(c!=EOF) aperta graffa // while not at the end of file
fputc(c,stdout);
c=fgetc(stdin);
chiusa graffa
chiusa graffa
8) Cosa succede eseguendo il comando
$lsusb | ./main
grazie ancora
ciao
Andrea