Imparare a muoversi nella shell di linux
IMHO una cosa indispensabile, visto che ad usare il maus son tutto buoni
Qui trovate una guida in inglese (PDF) assai ben fatta per avere delle basi MINIME.
Studiate che poi v’interrogo
La vita e' un workaround
Posts tagged ‘shell’
IMHO una cosa indispensabile, visto che ad usare il maus son tutto buoni
Qui trovate una guida in inglese (PDF) assai ben fatta per avere delle basi MINIME.
Studiate che poi v’interrogo
Tempo addietro sulla lista del Lug alle cui riunioni purtroppo non partecipo da mesi, per la cronica mancanza di tempo, è passata una cosa carina: questo comando
history | awk ‘{a[$2]++ } END{for(i in a){print a[i] ” ” i}}’ | sort -rn | head
mette in ordine di frequenza i comandi di shell che sono stati usati più spesso.
la mia lista sul mo portatile di lavoro è questa:
110 cd
63 su
37 ls
36 ping
32 ssh
21 rdesktop
19 exit
17 cat
10 mkdir
7 vi
e la vostra ?
Spesso mi ritrovo a lanciare comandi da shell piuttosto corposi, copie di svariti giga o tar gzip sempre di svariti giga, che mi impegnano la console del pc (di solito remoto) su cui lavoro perche’ mi dimentico sistematicamente di mettere la & al comando per avviarlo in background.
Per continuare a fare altre cose sulla macchina posso aprire un’altra sessione remota ma linux mette a disposizione un metodo per mettere in background i processi che impegnano la console.
Poniamo di avere un super tar di una decina di giga in corso
pastiglia:/CTH_WEB# tar cvzf.tgz cth *
che sta’ lavorando.
Io posso dare un Ctrl-Z (control Z) e lui mi rispondera’
[1]+ Stopped tar cvzf cth.tgz *
pastiglia:/CTH_WEB#
il processo e’ stato stoppato e lui mi ha reso il prompt della shell
Adesso con il comando jobs vedo che:
pastiglia:/CTH_WEB# jobs
[1]+ Stopped tar cvzf cth.tgz *
pastiglia:/CTH_WEB#
il mio tar e’ fermo ma ancora vivo, quindi non sta’ facendo nulla e non consuma cpu, e’ congelato.
A questo punto posso fare tre cose:
1) lasciarlo in quello stato di stasi perche’ mi servono tutte le risorse del sistema, lo rilascero’ in seguito
2) sono arrivato ad “in seguito” e lo faccio ripartire con:
fg 1
che tradotto vuol dire “rimetti in foreground il processo fermo numero 1″, il numero lo vedo dal comando jobs, e’ il numerello fra parentesi quadre, e non ha nulla a che vedere con l’id del processo che si vede con “ps”
3) lo faccio ripartire in background:
bg 1
cioe’ il processo riparte, ma viaggia senza impegnarmi la shell, come se lo avessi lanciato con la & alla fine del comando.