Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi N - Z > Sistemi operativi I
 
Preparazione per la prova di laboratorio
Clicca QUI per vedere il messaggio nel forum
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?

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

vedi se può esserti di aiuto

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

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

michele.c
stat -Mtime per la data di modifica

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

Guccio
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

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.

Guccio
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

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

michele.c
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

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

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

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate