Pages (39): « First ... « 10 11 12 13 [14] 15 16 17 18 » ... 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)
altro esercizietto
ciao a tutti, vi sottopongo un'altro esercizietto che ho sentito:
creare 10 nuovi utenti prendendoli da un file di testo???
idee???
come si a passare i valori presi da un file di testo???
Questa domanda era già stata risolta sul sito del corso ma lì è un un po' un casino, ti consiglio piuttosto di guardare QUI .
Le estensioni hanno poco significato in minix: quindi se tu crei user.list o user.txt non cambia nulla.
Se usi lo script devi lanciarlo così:
<nomescript> <nomefilelistautenti>
Ciao
Re: Re: domandina
Originally posted by Bennyk
Sei sicuro di questa domanda? Su Linux non sarebbe un problema ma i comandi di MINIX sono molto limitati, io non ne sono ancora venuto a capo.
Qualcuno ha idee?
code:
#! /bin/sh cpdir -pr /bin /bin2 rm $(find /bin2 -type f)
Dimensione totale dei file per utente
Ciao, secondo voi può andar bene una cosa del genere per trovare l'occupazione totale per un utente?
#!/bin/sh
for NUM in $( find / -type f -user UTENTE | xargs du -s | cut -f 1); do
COUNT=$( expr $COUNT + $NUM)
done
echo "Totale: $COUNT"
a me sembra funzionare....
l'unica cosa, come faccio ad inserire l'utente come parametro quando lancio lo script? E' una cosa fattibile?
Grazie.
Re: Re: Re: domandina
Originally posted by jeremy.1983
Ho fatto uno script, pensando di replicare la directory "/bin"[...]
code:
#!bin/sh if [ $# -lt 2 ]; then echo “syntax: $0 path1 path2 exit 1 fi echo “Copying folders...” find $1 -type d | sort | while read $DIR; do mkdir -p $2/$DIR chmod $(stat -mode $DIR | cut -d ',' -f 1) $2/$DIR done echo “Finished copying.” exit 0
Re: Dimensione totale dei file per utente
Originally posted by banjoo
Ciao, secondo voi può andar bene una cosa del genere per trovare l'occupazione totale per un utente?
[...]
a me sembra funzionare....
l'unica cosa, come faccio ad inserire l'utente come parametro quando lancio lo script? E' una cosa fattibile?
code:
#!bin/sh if [ $# -lt 1 ]; then echo “syntax: $0 userID exit 1 fi find / -type f -user $1 | xargs du -s | cut -f 1 | while read $NUM; do ...
X jeremy.1983
sono andato a vedere la pagina che mi hai indicato e in effetti lo script non è complicato
1) #!/bin/bash
2) NUM=$(cat $1 | wc -l)
3) COUNT=0
4) while [ $NUM -ne $COUNT ]; do
5) COUNT=$(expr $COUNT + 1)
6) adduser $(cat $1 | awk "NR == $COUNT")
7) done
l'unica cosa che non ho capito è il $1, mi spiego meglio:
se per esempio chiamo il mio script NuovoUtente e il file FileUtenti.txt, come faccio a lanciarlo per far si che il cat $1 prenda come parametro il mio file???
forse cosi:
./NuovoUtente FileUtenti.txt
oppure manca qualcosa?
Grazie.
Io faccio ./ nome script ma dice no such file or directory,ma se faccio find - type f lo trovo....come mai?????
Prova così, facendo attenzione agli spazi:
./NOMESCRIPT NOMEFILE
io personalmente non ho provato a dare estensione .txt al file di testo, ma questo non dovrebbe influire.
Attenzione anche alla directory in cui ti trovi al momento dell'esecuzione.
allora
io creo il mio file con elvis (ad esempio nfile)
poi faccio chmod +x nfile
e se faccio ./ nfile mi dice no such file or directory
ma se faccio . /root/nfile funziona....
Come faccio a sapere la directory in cui sto eseguendo?
basta lanciare il comando pwd
ok e se non sto eseguendo su root cosa faccio?
Originally posted by Bennyk
Ciao a tutti,
aggiungo un'altra domanda fatta all'esame:
- Quali e quante estensioni ci sono nel sistema?
(per estensioni si intende qualsiasi cosa ci sia dopo il carattere “.”, es: archivio.gz)
La soluzione è questa:
find / | rev | cut -f 1 -d '.' | grep -v / | rev | sort | uniq -c | sort -n
Spiegazione:
find / trova tutto (files e directories) a partire dalla root dir
rev inverte ogni riga dell'output
cut -f 1 -d '.' estrae il primo campo di ogni riga usando il . come separatore
grep -v / eliminazione delle sole directories
rev inverte di nuovo ogni riga dell'output
sort ordina l'output
uniq -c elimina righe duplicate contandole, ora l'output è del tipo 123 gz
sort -n (non necessario) ordina i risultati numericamente
Nota:
Si può evitare il grep -v / usando cut -f 1 -d '.' -s.
Originally posted by Peach
allora
io creo il mio file con elvis (ad esempio nfile)
poi faccio chmod +x nfile
e se faccio ./ nfile mi dice no such file or directory
ma se faccio . /root/nfile funziona....
Come faccio a sapere la directory in cui sto eseguendo?
Originally posted by Assochespasso
Okkio che così trovi anche tutte le cartelle e file nascosti ( del tipo .cartella o .file).
Ho fatto uno script simile al tuo, escludendo cartelle e file nascosti:
find / -type f -name *.* | tr -s '/' ' ' | rev | cut -d ' ' -f 1 | rev | grep -v "^\." | rev | cut -d '.' -f 1 -s | rev | sort | uniq -c
...
code:
find / | while read i; do basename $i; done | grep -v “^\.” |rev| cut -f 1 -d '.' -s |rev|sort|uniq -c|sort -nr
All times are GMT. The time now is 02:44. | Pages (39): « First ... « 10 11 12 13 [14] 15 16 17 18 » ... Last » Show all 571 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.