[BGLug VS] Problemi con la shell
Emiliano Giovanni Vavassori
testina@sssup.it
Ven 10 Ago 2007 23:36:35 CEST
Il giorno Fri, Aug 10, 2007 at 11:14:55PM +0200, Alberto Bonacina ha scritto:
> 1)Come si fa a creare un file di testo (per esempio con estensione .txt
> o .tex) e poi "entrare" nel file per modificarlo/salvarlo direttamente
> da shell?
Quelli che hai usato fin'ora (credo echo e cat) non ti bastano per
*modificare* un file di testo, ma hai bisogno di un editor di testo vero
e proprio (non è completamente corretto, ma semplifico per non mettere
troppa carne al fuoco).
Ce ne sono un'infinità, credo i più usati siano
Vim (http://www.vim.org) e Emacs (http://www.gnu.org/software/emacs).
Entrambi questi due sono molto complessi da imparare ma sono molto più
potenti di altri editor e sono disponibili sia su linea di comando che
in ambiente grafico. Puoi sempre usare l'editor grafico del tuo Desktop
Environment (kedit su KDE o gedit su GNOME) oppure, da linea di comando,
usare altri editor un pochino più 'friendly' ma (ovviamente) meno
potenti: nano, pico e joe fra gli altri. Credo che nano sia installato
di default in tutte le distribuzioni (o quasi).
L'uso tipico di nano è:
$ nano -w nomefile.txt
Se il file esiste, ne vedrai il contenuto e lo potrai modificare; in
caso contrario, il file verrà creato e potrai ugualmente scrivere a tuo
piacimento. I comandi per usare correttamente nano sono presentati nella
parte bassa della sua schermata. Ed esiste sempre la manpage.
> per ora riesco solo ad entrare in un file di testo già esistente con il
> comando cat, non riuscendo però a modificarlo, e a eliminarlo con il
> comando rm.
cat manda in standard output il contenuto del file e ci puoi fare ben
poco se non con un filtro (concetto un po' complesso e che forse non è
il caso di approfondire ora). Ti basti sapere che cat è uno strumento
'read-only'.
Giusto per darti un esempio di cosa si può fare,
$ sed -i -e 's/pippo/pluto/g' nomefile.txt
Sostituisce tutte le occorrenze di 'pippo' nel file 'nomefile.txt' con
'pluto'. Ovviamente ha ben poco di interattivo e devi avere conoscenza
delle Regular Expressions.
> 2)Come si fa per eliminare una directory?
> per ora so solo crearla con il comando mkdir
O la svuoti del suo contenuto e poi usi:
$ rmdir nomedir
Oppure, più semplicemente:
$ rm -r nomedir
Prima di lanciare il comando controlla 4 volte cosa stai cancellando!
Per maggiori informazioni sull'opzione '-r' di rm, `man rm`.
> So perfettamente che per fare tutte queste cose basterebbe fare due clic
> con il mouse e utilizzare un editor di testo ma lo spirito di conoscenza
> mi spinge a chiedermi come si può fare da shell.
Molto di più di quello che ti immagini, ma credo sia cosa buona e giusta
che tu proceda a piccoli passi.
Se vuoi una mia personale opinione, investi tempo su un editor di testo
complesso (emacs o vim, consiglio il secondo) e, dopo esserti fatto una
cultura sui comando *nix, su 'sed' e 'awk'. Ci sono un sacco di pagine
che ne parlano sulla rete.
Ciao, a presto e happy bashing,
--
Emiliano Giovanni Vavassori - http://syntaxerrormmm.altervista.org/
GuIT --- Home page: http://www.guit.sssup.it/
Please, no Word or PowerPoint attachments. Do so only if it's
extremely necessary.
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: non disponibile
Tipo: application/pgp-signature
Dimensione: 189 bytes
Descrizione: non disponibile
Url: http://lists.linux.it/pipermail/bglugvs/attachments/20070810/23c05805/attachment.pgp
Maggiori informazioni sulla lista
BglugVS