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