Pages (39): « First ... « 3 4 5 6 [7] 8 9 10 11 » ... Last » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Sistemi operativi I (http://www.dsy.it/forum/forumdisplay.php?forumid=269)
-- Esame di laboratorio (Giugno 2007) - Domande (http://www.dsy.it/forum/showthread.php?threadid=31182)
Originally posted by ^Belzebu^Sappi che (ovviamente) in Linux la cosa è mooooooolto semplice cp -p --parents * dir
e come sarebbe per copiare anche tutto il path dei file?
grazie!
ByezAll
^Belzebu^
Spiegazione, riga per riga:code:
0) #!/bin/sh 1) NEWPATH="/dir2" 2) for SUBDIR in $(pwd | tr '/' ' '); do 3) mkdir ${NEWPATH}/${SUBDIR} 4) NEWPATH=${NEWPATH}/${SUBDIR} 5) done 6) for FILE in $(ls); do 7) cp -p ${FILE} ${NEWPATH}/${FILE} 8) done
__________________
The answer is blowing in the wind...
io lego in
man cpdir
in opzioni
-m Merge trees. The first synopsis for is assumed, and the files from one tree are merged into the other. There is not "If it's a directory then put it into that directory." trickery here.
Non si potrebbe usare questa?
__________________
There is no way to happyness, happyness is the way. -Buddha-
Se riesci a cavarci qualcosa facci sapere!
La soluzione più semplice è quasi sempre la migliore!
__________________
The answer is blowing in the wind...
Anch'io stavo sbattendo la testa su cpdir ma non riesc oa farlo funzionare come voglio.
Personalmente ho risolto anch'io tramite il seguente script (tipo di esercizio: copiare file che inziano con un certo pattern da un ramo del FS ad un altro, mantenendo la struttura delle dir):
--------
#!/usr/bin/sh
# uso: <nomescript> origine destinazione pattern
for i in $(find $1 -type d) # dir del ramo passato come arg 1
do
mkdir -p "$2/$i" # ricrea la struttura nel path passato come arg 2
done
for j in $(find $1 -type f -name "$3*") #i files da copiare
do
cp "$j" "$2/$j"
done
----------
La soluzione però non mi piace per più motivi, fra tutti il fatto che ricreo la struttura del ramo scelto partendo comunque da / e che creo anche directory vuote. Se qualcuno riuscisse a usare cpdir...
Poi, tornando al problema dei files eseguibili, credo che la soluzione che prevede ls -F abbia un problema: provate a fare un touch "prova*", il file non sarà eseguibile ma verrà comunque incluso dallo script.
ciao,
sapete quale altro comando serve per compattare i file oltre a tar?
In minix ci sono tar, ar, vol e compress controlla i relativi manuali!
(anche se credo che solo compress comprima oltre che collezionare...)
@Vid: L'esercizio era: copiare tutti i file di una directory mantendo la gerarchia dei parenti.
Che copi l'albero da root va bene; il find va in profondità, cosa non richiesta dal problema (ma rimane buono nel caso richieda qualcosa di più complesso).
Per quanto riguarda l'algoritmo di ricerca dei file eseguibili, ce ne sono in giro 3 versioni, ognuna con il suo side-effect, ma credo che tutte e tre ai prof andranno benissimo!!!
__________________
The answer is blowing in the wind...
DOMANDA DELL?ULTIMO MINUTO!
come si fa a sapere ad un certo utente che numero UID corrisponde?
ES: file appartenenti all'utente 'ast':
find / -user 8 -type f | wc
TKS!
Ciao ragazzi a me all'esame aveva chiesto di trovare i tre file piu grossi per ogni singolo utente. Io avevo in mente di utilizzare la find con l'opzione -user e poi concatenarla con il du però non sono riuscito ancora a mettere giu niente. Mi sapreste aiutare?
ho fatto una scoperta :
malgrado tutti sembrino usare una cosa del tipo (inquesto thread almeno)
ID=$(grep "^$!" /etc/passwd | cut -d : -f 3)
per estrare l'id dello user dallo file password.
sapiate che i comandi minix come find accetano il nome dello user in lettere
find / -user root
find / -user 0
hanno lo stesso risultato.
forse sto puntando qualcosa che tutti hanno gia scoperto ... ma mi sembrava importante dirlo tutto visto che nessuno ne parlava.
__________________
There is no way to happyness, happyness is the way. -Buddha-
Esercizio:
Aggiungere 10 uteneti prendendo la lista da un file di testo.
Scusate se per caso è già stato risolto.....
Ho creato un file di nome utenti di questo tipo:
u0 other /usr/u0
.....ecc fino a u9
cat utenti | while read i; do adduser $i; done
Come vi sembra?
Grazie!
Grazie Simaldeff , per me non era per niente scontato! (anche se mi sembra che ci sia scritto già da qlk parte in qst thread ma ormai è enorme e ci si perde :p )
Scusate ma mi è sorto un dubbio su du:
man non dice come sono espressi i risultati numerici, se blocchi, bytes, kbytes o caramelle, però confrontando i risultati di du e di ls ottengo dei dati incoerenti.
Per esempio ho un file archivioroot.tar che occupa 7874 secondo du e 8062976 secondo ls (rapporto di 1:1024).
ho poi un file test1k (da 1024 bytes guardacaso... ) che occupa 2 secondo du e 1024 secondo ls (rapporto di 1:512).
Ora, credo che si possa dare l'esame anche rimanendo con questo dubbio... ma qualcuno sa spiegarmi perchè?
EDIT: forse ho capito... du credo indichi i blocchi usati, anche parzialmente, e avendo scelto in fase di installazione blocchi da 1024, un file da 1024bytes occupa 2 blocchi. Infatti creando un file da 1536 bytes (3x512) du mi ritorna comunque 2.
Non so se sia giusto ma me la tengo buona, meglio dedicare il tempo alle modifiche del kernel...
per quanto riguarda stampare il messaggio quando un processo termina in qualsiasi modo è sufficiente che la printf sia all'interno della procedura pm_exit() (ovviamente nei sorgenti del PM) che viene chiamata in qualsiasi caso: syscall exit() oppure SIGKILL o SIGTERM
NOTA: ho notato con un amico che qemu tende a crashare se il messaggio della exit non termina con un newline, quindi vi conviene che il messaggio sia sempre qualcosa del tipo
printf("\nMESSAGGIO\n");
che per inciso produce anche un output più leggibile (per quanto possa interessare leggere "MESSAGGIO" mille volte)
ragazzi, on ho mai toccato minix...come cavolo si fa a spostarsi da una cartella a un'altra? quali sono i comandi di minix basilari?
ragazzi, on ho mai toccato minix...come cavolo si fa a spostarsi da una cartella a un'altra? quali sono i comandi di minix basilari?
All times are GMT. The time now is 17:34. | Pages (39): « First ... « 3 4 5 6 [7] 8 9 10 11 » ... Last » Show all 571 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.