dfisa2.ts.infn.it> ls -l (l sta per lungo!)Nella directory pgm si ottiene molta informazione circa il contenuto della directory.
Ad ogni file ( e quindi anche ad ogni directory) sono associati diritti di accesso che possono essere elencati con ls -l. Un' altra variante, ls -lg ange anche l' informazione circa il gruppo cui appartiene ilk file (beng95 nel seguente esempio):
-rwxrw-r-- 1 ee51ab beng95 2450 Sept29 11:52 file1Nella colonna piu' a sinistra appai dieci lettere consistenti nei caratteri d, r, w, x, -, e qualche volta, s o S. Se compare la d sara' la prima lettera e indica che si tratta di una directory. Altrimenti comparira' il -.
-rwxrwxrwx file che puo' essere letto, scritto ed eseguito da tutti -rw------- file che puo' essere letto e scritto solo dal proprietario
chmod (changing a file mode)
Olo il proprietario del file puo' usare chmod per cambiare i permessi di un file. Le opzioni di chmod sono le seguenti
Simbolo Significato
u user
g group
o other
a all
r read
w write (and delete)
x execute
+ aggiungi il permesso
- cancella il permessoer esempio, per cancellare il permesso di scrittura (w) ed eseguibilita' (x) al file biglist per gruppo ed altri, si dia:dfisa2.ts.infn.it>% chmod go-rwx biglistGli altri permessi non saranno alterati.Per dare il permesso di lettura e scrittura a tutti sul file biglist,
dfisa2.ts.infn.it>% chmod a+rw bigfile
Provare a cambiare i permessi di un file
Usare ls -l per verificare che i permessi sono cambiati.
Un processo e' qualsiasi programma che e' in esecuzione, identificato da un PID (process identifier) univoco. Per visualizzare informazione sui processi, incluso il loro PID e stato, dare in comando:dfisa2.ts.infn.it> psUn processo puo' essere in "foreground", "background" oppure "sospeso". In genere non si ritorna a vadare il prompt di UNIX finche' l' esecuzione del processo non e' terminata.Alcuni processi richiedono un tempo lungo per terminare e, nel frattempo, impegnao completamente una finestra terminale. In tali casi, e' utile il meccanismo di esecuzione "in background" di UNIX. Mettendo in background un job lungo, si riottiene il prompt di UNIX e quindi si possono eseguire altri comandi, mentre il processo in "background" continua ad eseguire.
Mettere in background un processo
Per mettere in background un processo aggiungere un & alla fine della linea di comando. Per esempio il comando sleep attende un dato numero di secondi pima di continuare. Provare condfisa2.ts.infn.it> sleep 10Il processo attendendera' 10 secondi prima di ridare il prompt. Finche' non torna il prompt, non si puo' far nulla.
Per eseguire in background:dfisa2.ts.infn.it> sleep 10 & [1] 6259Il & esegue in background permettendo di lanciare piu' jobs mentre si attende che altri programmi finiscano. La prima linea dell' esempio precedente e' data dall' utente; la linea successiva, indicante il numero di un job ed il corrispondente PID, proviene dalla macchina.Mettere in background un processo
Al prompt dare:dfisa2.ts.infn.it> sleep 100Si puo' sospendere un processo in foreground digitando control Z . Dopo di che dare il comandodfisa2.ts.infn.it> bgNota: non mettere in background processi intrinsecamente interattivi.
Quando un processo e' attivo, in background o sospeso, gli viene associato un numero di job. Per esaminare la lista dei job attividfisa2.ts.infn.it> jobsUn esempio di output potrebbe essere il seguente:[1] Suspended sleep 100 [2] Running netscape [3] Suspended picoPer far riprendere un processo sospeso (mettere in foreground)dfisa2.ts.infn.it> fg %job_numberPer esempio per far riprendere "sleep 100"dfisa2.ts.infn.it> fg %1
Talvolta e' necessario cancellare un processo (per esempio se un programma sta eseguendo un loop infinito)Per eliminare un job in foreground basta dare ^C (control c). Per esempio, dopo aver dato il comando
sleep 100, lo si puo' cancellare con ^C.Per jobs sospesi o in background, si puo' dare
dfisa2.ts.infn.it> kill %job_numberPer provare, dare sleep 100 & e poi dare jobs per vederne il numero di job. Se il corrispondente numero e' 4dfisa2.ts.infn.it> kill %4Esaminare la lista dei jobs per vedere se ha funzionato.Alternativamente, i processi possono essere cancellati dopo aver ricavato il loro identificatore (PIDs) mediante ps ed
usando poi il comando kill PIDSe un processo non scompare con kill, usare l' opzione -9 option, dando cioe':
dfisa2.ts.infn.it> kill -9 PIDNota: Non e' possibile eliminare i processi di altri utenti.
ls -lag lista i permessi di accesso per tutti i files chmod [options] file modifica i permessi di accesso per il file "file" command & esegue comandi in background ^C elimina il job che esegue in foreground ^Z sospende il job che esegue in foreground bg pone in background il job sospeso jobs elenca i jobs correnti fg %1 pone in foreground il job numero 1 kill %1 elimina il job numero 1 ps elenca i processi correnti kill 26152 elimina il processo numero