|
|
|
|
 |
|  |
 |
n3o |
| [QUOTE][i]Originally posted by ^Belzebu^ [/i]
... |
16-07-2007 23:59 |
|
 |
n3o |
tanto c'è SPASS...

Registered: Oct 2005
Posts: 134 (0.02 al dì)
Location: Brescia
Corso: Informatica Magistrale
Anno: 1°
Time Online: 1 Day, 19:26:05: [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by ^Belzebu^
e come sarebbe per copiare anche tutto il path dei file?
grazie!
ByezAll
^Belzebu^ Sappi che (ovviamente) in Linux la cosa è mooooooolto semplice cp -p --parents * dir
In Minix non ho trovato qualcosa del genere...mi sono inventato uno script:
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
Spiegazione, riga per riga:
0) interprete script
1) NEWPATH contiene la directory di destinazione (anche composta...)
2) pwd restituisce il percorso corrente e passato a tr '/' ' ', gli slash vengono sostituiti con degli spazi, in modo che il for riesca a scorrere ogni singola sotto directory che crea il percorso corrente
3) creo a "pezzetti" il sottoalbero anche nella directory destinazione, aggiungendo via via le sottodirectory più profonde della directory attuale
4) Aggiorno la directory di destinazione con l'ultimo ramo aggiunto
5) fine for
6) scorro ogni file nella directory
7) copio salvaguardando i permessi ogni file dalla sorgente alla destinazione
8) fine for
Ricordate di creare prima la directory di destinazione e consiglio di modificare le istruzioni (3) e (7) durante la prima volta per vedere cosa fa lo script:
3) echo mkdir ${NEWPATH}/${SUBDIR}
7) echo cp -p ${FILE} ${NEWPATH}/${FILE}
Esempio:
Destinazione = /dir2
Directory corrente = /root/dir1 (sarà il risultato di pwd)
Output del programma con gli echo:
mkdir /dir2/root
mkdir /dir2/root/dir1
cp -p prova /dir2/root/dir1/prova
cp -p script.sh /dir2/root/dir1/script.sh
__________________
The answer is blowing in the wind...
|
|
16-07-2007 23:59 |
|
|
|  |
 |
Simaldeff |
| io lego in
... |
17-07-2007 09:29 |
|
 |
Simaldeff |
.fedelissimo.
Registered: Jun 2004
Posts: 41 (0.01 al dì)
Location: Monza
Corso: Informatica
Anno: terzo
Time Online: 7:20:14 [...]
Status: Offline
Edit | Report | IP: Logged |
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-
|
|
17-07-2007 09:29 |
|
|
|  |
 |
n3o |
| Se riesci a cavarci qualcosa facci sapere!
... |
17-07-2007 10:20 |
|
 |
n3o |
tanto c'è SPASS...

Registered: Oct 2005
Posts: 134 (0.02 al dì)
Location: Brescia
Corso: Informatica Magistrale
Anno: 1°
Time Online: 1 Day, 19:26:05: [...]
Status: Offline
Edit | Report | IP: Logged |
Se riesci a cavarci qualcosa facci sapere!
La soluzione più semplice è quasi sempre la migliore! 
__________________
The answer is blowing in the wind...
|
|
17-07-2007 10:20 |
|
|
|  |
 |
Vid |
| Anch'io stavo sbattendo la testa su cpdir ma non r ... |
18-07-2007 15:18 |
|
 |
Vid |
.interista.
Registered: Jan 2004
Posts: 8 (0.00 al dì)
Location: Milano
Corso: Informatica
Anno: n(lg n)
Time Online: 8:56:53 [...]
Status: Offline
Edit | Report | IP: Logged |
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.
|
|
18-07-2007 15:18 |
|
|
|  |
 |
GiKappa |
| ciao,
... |
18-07-2007 15:44 |
|
 |
GiKappa |
Dubbioso a Progetto
Registered: Oct 2004
Posts: 1800 (0.23 al dì)
Location: Brescia
Corso: Informatica
Anno: Laureato Triennale
Time Online: 9 Days, 22:40:44 [...]
Status: Offline
Edit | Report | IP: Logged |
ciao,
sapete quale altro comando serve per compattare i file oltre a tar?
|
|
18-07-2007 15:44 |
|
|
|  |
 |
n3o |
| In minix ci sono [B]tar, ar, vol e compress[/B] co ... |
18-07-2007 16:24 |
|
 |
n3o |
tanto c'è SPASS...

Registered: Oct 2005
Posts: 134 (0.02 al dì)
Location: Brescia
Corso: Informatica Magistrale
Anno: 1°
Time Online: 1 Day, 19:26:05: [...]
Status: Offline
Edit | Report | IP: Logged |
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...
|
|
18-07-2007 16:24 |
|
|
|  |
 |
antares85 |
| DOMANDA DELL?ULTIMO MINUTO!
... |
18-07-2007 16:38 |
|
 |
antares85 |
.illuminato.
Registered: Oct 2005
Posts: 197 (0.03 al dì)
Location: milano
Corso: informatica
Anno: 2
Time Online: 1 Day, 6:16:58 [...]
Status: Offline
Edit | Report | IP: Logged |
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!
|
|
18-07-2007 16:38 |
|
|
|  |
 |
Paul03 |
| Ciao ragazzi a me all'esame aveva chiesto di trova ... |
18-07-2007 16:39 |
|
 |
Paul03 |
.arcimaestro.
Registered: Feb 2005
Posts: 290 (0.04 al dì)
Location: Oleggio
Corso: Informatica
Anno: 3
Time Online: 1 Day, 19:39:12 [...]
Status: Offline
Edit | Report | IP: Logged |
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?
|
|
18-07-2007 16:39 |
|
|
|  |
 |
Simaldeff |
| ho fatto una scoperta :
... |
18-07-2007 16:40 |
|
 |
Simaldeff |
.fedelissimo.
Registered: Jun 2004
Posts: 41 (0.01 al dì)
Location: Monza
Corso: Informatica
Anno: terzo
Time Online: 7:20:14 [...]
Status: Offline
Edit | Report | IP: Logged |
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-
|
|
18-07-2007 16:40 |
|
|
|  |
 |
Laüra |
| [B]Esercizio:
... |
18-07-2007 16:43 |
|
 |
Laüra |
.simpatizzante.
Registered: Dec 2004
Posts: 14 (0.00 al dì)
Location:
Corso: Informatica
Anno: 3
Time Online: 13:03:02: [...]
Status: Offline
Edit | Report | IP: Logged |
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!
|
|
18-07-2007 16:43 |
|
|
|  |
 |
antares85 |
| Grazie Simaldeff , per me non era per niente scont ... |
18-07-2007 17:04 |
|
 |
antares85 |
.illuminato.
Registered: Oct 2005
Posts: 197 (0.03 al dì)
Location: milano
Corso: informatica
Anno: 2
Time Online: 1 Day, 6:16:58 [...]
Status: Offline
Edit | Report | IP: Logged |
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 )
|
|
18-07-2007 17:04 |
|
|
|  |
 |
Vid |
| Scusate ma mi è sorto un dubbio su [B]du[/B]:
... |
18-07-2007 17:14 |
|
 |
Vid |
.interista.
Registered: Jan 2004
Posts: 8 (0.00 al dì)
Location: Milano
Corso: Informatica
Anno: n(lg n)
Time Online: 8:56:53 [...]
Status: Offline
Edit | Report | IP: Logged |
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...
Last edited by Vid on 18-07-2007 at 17:20
|
|
18-07-2007 17:14 |
|
|
|  |
 |
NoWhereMan |
| per quanto riguarda stampare il messaggio quando u ... |
18-07-2007 17:15 |
|
 |
NoWhereMan |
.illuminato.

Registered: Jul 2003
Posts: 222 (0.03 al dì)
Location: Segrate (MI)
Corso: Dottorato in Informatica
Anno:
Time Online: 1 Day, 21:56:46 [...]
Status: Offline
Edit | Report | IP: Logged |
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)
|
|
18-07-2007 17:15 |
|
|
|  |
 |
vittorio |
| ragazzi, on ho mai toccato minix...come cavolo si ... |
18-07-2007 17:16 |
|
 |
vittorio |
.fedelissimo.
Registered: Jul 2007
Posts: 43 (0.01 al dì)
Location: San donato Milanese
Corso: Informatica
Anno: dunque...ieri era?
Time Online: 12:43:36 [...]
Status: Offline
Edit | Report | IP: Logged |
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?
|
|
18-07-2007 17:16 |
|
|
|  |
 |
vittorio |
| ragazzi, on ho mai toccato minix...come cavolo si ... |
18-07-2007 17:27 |
|
 |
vittorio |
.fedelissimo.
Registered: Jul 2007
Posts: 43 (0.01 al dì)
Location: San donato Milanese
Corso: Informatica
Anno: dunque...ieri era?
Time Online: 12:43:36 [...]
Status: Offline
Edit | Report | IP: Logged |
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?
|
|
18-07-2007 17:27 |
|
|
|  |
 |
| All times are GMT. The time now is 10:17. |
|
|
 |
|
 |
|
|
|  |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|