.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Sistemi operativi I (http://www.dsy.it/forum/forumdisplay.php?forumid=269)
-- Preparazione per la prova di laboratorio (http://www.dsy.it/forum/showthread.php?threadid=40613)


Posted by Guccio on 17-06-2010 22:12:

Unhappy Preparazione per la prova di laboratorio

scusate raga in questo esercizio : Trovare l'utente col minor numero di file nel sistema

io ho fatto in questo modo:

#! /bin/sh

indice=0
listaCut=$(cut -f 3 -d : /etc/passwd)
for USER in $listaCut; do
cont[$[{indice}]=0
listaFind=$(find / -user "${USER}" -type -f)
indiceTemp=0
for FILE in listaFind; do
cont[${indice}]=$(expr ${indiceTemp} + 1)
done
cat /etc/passwd | grep "$USER"
echo "--------"
echo "$cont[${indice}]"
indice=$(expr ${indice} + 1)
done

L'ordinamento me lo volevo tenere per dopo, volevo vedere prima se funzionava

Ma l'output di minix è:

cont[0]=0: no such file or directory
./primo.sh: Out of space

Dove ho sbagliato?


Posted by xSharKMaNx on 18-06-2010 13:29:

http://www.dsy.it/forum/showthread....&threadid=39121

vedi se può esserti di aiuto

__________________
Perché, mentre il manganello può sostituire il dialogo, le parole non perderanno mai il loro potere; perché esse sono il mezzo per giungere al significato, e per coloro che vorranno ascoltare, all'affermazione della verità. E la verità è che c'è qualcosa di terribilmente marcio in questo paese. (V)

I popoli non dovrebbero aver paura dei propri governi, sono i governi che dovrebbero aver paura dei popoli. (T.J)


Posted by lordghost on 18-06-2010 13:37:

ripeto la mia risposta qui:

credo che il problema sia questo:
listaFind=$(find / -user "${USER}" -type -f)

l'interprete cerca di scrivere tutti i file come:
listaFind=f1 f2 f3 f4..... f4097 --> overflow

perchè i parametri hanno un limite.

dovresti provare con il costrutto "find / | while read f; do ...$x... done;

__________________
My 3D blog: http://www.webgl.it


Posted by lordghost on 18-06-2010 13:43:

ho un problema con questo esercizio:

"Trovare tutti i file modificati di venerdì (sia un venerdì particolare che di venerdì in generale)"

qualcuno ha idea di come risalire alla data di modifica? Possibile che bisogna convertire il timestamp da secondi a day of the week?

__________________
My 3D blog: http://www.webgl.it


Posted by Rocky on 18-06-2010 13:53:

stat -Mtime per la data di modifica


Posted by lordghost on 18-06-2010 13:57:

grazie avevo trovato nel frattime, in modo quasi casuale. Non avevo capito che Mtime fosse diverso da mtime :D

__________________
My 3D blog: http://www.webgl.it


Posted by Guccio on 18-06-2010 18:04:

Re: Preparazione per la prova di laboratorio

Originally posted by Guccio
scusate raga in questo esercizio : Trovare l'utente col minor numero di file nel sistema

io ho fatto in questo modo:

#! /bin/sh

indice=0
listaCut=$(cut -f 3 -d : /etc/passwd)
for USER in $listaCut; do
cont[$[{indice}]=0
listaFind=$(find / -user "${USER}" -type -f)
indiceTemp=0
for FILE in listaFind; do
cont[${indice}]=$(expr ${indiceTemp} + 1)
done
cat /etc/passwd | grep "$USER"
echo "--------"
echo "$cont[${indice}]"
indice=$(expr ${indice} + 1)
done

L'ordinamento me lo volevo tenere per dopo, volevo vedere prima se funzionava

Ma l'output di minix è:

cont[0]=0: no such file or directory
./primo.sh: Out of space

Dove ho sbagliato?


Sono arrivato ad una soluzione. E' un po' barbara ma gira :)

#! /bin/sh
if ls toOrder; then rm toOrder; fi
if ls listaCut; then rm listaCut; fi
cut -f 1,3 -d : /etc/passwd >> listaCut
echo "Calcolo in corso..."

for USER in $(cut -f 2 -d : ./listaCut); do
N=$(find / -user $USER -type f | wc -l)
echo "User $(grep $USER ./listaCut | head -1): $N files" >> toOrder
done

sort +2 -nr -t: ./toOrder | head -1


Posted by lordghost on 19-06-2010 18:38:

Partizionamento:
come si fanno a fare 5 partizioni? Come nell'esercizio di preparazione che ci ha dato Monga. Il problema è che part ha una lista di sole 4 voci.

Oggi ho pensato di creare delle sottopartizioni, ma non so se è la soluzione giusta.

E nel caso delle sottopartizioni, nella s1 è necessario lasciare il primo cilindro libero? Ho pensato che ci memorizzasse la tabella delle sottopartizioni.

__________________
My 3D blog: http://www.webgl.it


Posted by Guccio on 19-06-2010 19:01:

Originally posted by lordghost
Partizionamento:
come si fanno a fare 5 partizioni? Come nell'esercizio di preparazione che ci ha dato Monga. Il problema è che part ha una lista di sole 4 voci.

Oggi ho pensato di creare delle sottopartizioni, ma non so se è la soluzione giusta.

E nel caso delle sottopartizioni, nella s1 è necessario lasciare il primo cilindro libero? Ho pensato che ci memorizzasse la tabella delle sottopartizioni.


Quella delle sottopartizioni è la scelta giusta. Basta lasciare un blocco libero nella prima sottopartizione


Posted by Guccio on 19-06-2010 19:03:

Domandona:
Come trovo i file di manuale? che estensione hanno?


Posted by Rocky on 19-06-2010 19:03:

Originally posted by lordghost
Partizionamento:
come si fanno a fare 5 partizioni? Come nell'esercizio di preparazione che ci ha dato Monga. Il problema è che part ha una lista di sole 4 voci.

Oggi ho pensato di creare delle sottopartizioni, ma non so se è la soluzione giusta.

E nel caso delle sottopartizioni, nella s1 è necessario lasciare il primo cilindro libero? Ho pensato che ci memorizzasse la tabella delle sottopartizioni.


Le partizioni primarie sono sempre 4. Occorre usare la 4 partizione come logica, se vuoi più di 4 partizioni (es. 5) per creare una tabella di sottopartizioni. Quindi non devi lasciare libero il primo cilindro di s1


Posted by franky_fs on 20-06-2010 11:22:

Originally posted by Guccio
Domandona:
Come trovo i file di manuale? che estensione hanno?


prova un bel
find / -type f | grep ".*man.*"
ti appare la lista dei file dove ci sia qualsiasi cosa che abbia la parola man... dovrebbero tutti essere in subdirectory di nome man!

__________________
Volere è potere
Memento audere semper
Sia che tu creda di farcela, o che tu creda di non farcela, hai comunque ragione!


Posted by lordghost on 20-06-2010 17:30:

Come si fa a creare i filesystem? mkfs mi sembra che crei solo fs di tipo minix. Ma può richiedere un altro tipo di filesystem, ho visto che tra gli esempi c'era la scelta minix/swap?

Come si crea quindi un fs swap?

__________________
My 3D blog: http://www.webgl.it


All times are GMT. The time now is 17:51.
Show all 13 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.