comandi per vi - Comune di Vernate

Transcript

comandi per vi - Comune di Vernate
COMANDI PER VI
Ci sono due modalità: COMANDI e INSERIMENTO. La modalità COMANDI [Esc] serve per
eseguire i comandi all’interno dell’editor, mentre la modalità INSERIMENTO [Esc i] serve per
scrivere.
Per eseguire le operazioni all’interno dell’editor, posizionarsi in modalità COMANDI premendo il
tasto “Esc”. Usare le frecce per muoversi all’interno del testo.
Esc i
modalità inserimento
cw
cancella una parola e permette di riscrivere
dw
cancella una parola
dd
cancella/taglia la riga.
Numerorighedd
cancella/taglia un numero di righe dalla posizione del cursore in giù
o
inserisce una riga e mi permette di scrivere
p
incolla una riga
:q!
anche se il file è stato cambiato, esce perdendo le modifiche del file
r
mi permette di cambiare il carattere di una lettera
u
undo
:w
salva il file
:wq
salva il file ed esce dall’editor
x
cancella un carattere
yy
copia la riga nella cache, poi con “p” la vado ad incollare
/parola
esempio /ciao – cerca la parola ciao nel testo, poi con “n” vado avanti
nella ricerca della parola ciao nel testo
$
mi porta a fine riga
:$
mi porta a fine documento
:1
mi porta ad inizio documento
:1,$d
cancella tutto il documento
:1,$sparola1/sostituzione/g parte dalla riga 1 e arriva a fine documento. Mi sostituisce la
“parola1” con “sostituzione”. Lo /g indica di non fermarsi alla prima
ricorrenza che compare sulla medesima riga.
ESEMPIO: Sostituire la stringa http://www.ciao.it con un’altra parola
:1,$s/http:\/\/www.ciao.it/altraparola/g
:!bash
apre una bash
:numeroriga
esempio :7 – vado alla riga 7
:numerorigad
esempio :7d – cancella la riga 7 del documento
:set number
per vedere i numeri delle righe
:split nomefile
apre un altro file in metà schermo vi. Per passare da una metà
schermo all’altra “ctrl ww”
Se voglio impostare come editor predefinito VI, nella bash scrivo il seguente comando:
export EDITOR=”vim”
COMANDI SULLE PARTIZIONI
mount [device] [dove]
mount –t ntfs [device] [dove]
mount /dev/hda1 /mnt/hard_disk
per partizioni in ntfs
ESEMPIO:
mount –t ntfs /dev/hda1 /mnt/win
mount –t vfat [device] [dove]
per montare win xp
per partizioni in vfat (floppy, cd, chiavette usb)
ESEMPIO:
mount –t vfat /dev/sda1 /mnt/usb1
mount /dev/fd0 /mnt/floppy
mount –t nfs [device] [dove]
mount –t smbfs [device] [dove]
df –h
du –hs
du –h
per partizioni nfs, condivisi da altre macchine
per partizioni samba, cartella condivisa su server
visualizza le partizioni montate
visualizza lo spazio occupato da una cartella
visualizza le cartelle e lo spazio occupato
Il file contenente tutti i mount si trova in /etc/fstab.
Per montare una partizione senza star a scrivere il comando ogni volta si procede come segue:
MONTARE XP:
/dev/hda1 /mnt/win ntfs ro,user,auto 0 0
(=readonly,tutti gli utenti montano la partizione, viene
montata all’avvio del sistema operativo)
/dev/sda1
rw
(readwrite: SCONSIGLIATO)
Una volta aggiunta tale riga al file fstab, per poter montare winxp, si scrive il seguente comando:
mount /mnt/win
per smontarlo:
umount /mnt/win
MONTARE LA CHIAVETTA USB:
/dev/sda1 /mnt/usb1 vfat rw,user,noauto 0 0 (=noauto indica che non viene montata al boot)
Una volta aggiunta tale riga al file fstab, per poter montare la chiavetta usb o qualsiasi altro
dispositivo usb formattato in vfat, si scrive il seguente comando:
mount /mnt/usb1
per smontarlo:
umount /mnt/usb1.
CRONTAB – SCHEDUALA LE APPLICAZIONI A DETERMINATI ORARI
crontab –e
crontab –l
crontab –r
edita il file crontab
visualizza il file crontab
cancella il file crontab
Per avere il manuale completo scrivere nella bash: man 5 crontab
SINTASSI DEL COMANDO
[minuto] [ora] [giorno_del_mese] [mese] [giorno settimana] [percorso_completo_del_comando]
0;59;* 0;23;*
1;12;*
1;31;* (=ogni giorno)
0 o 7=domenica; 1=lunedì, 2=martedì, 3=mercoledì, 4=giovedì, 5=venerdì, 6=sabato, *=sempre
Il carattere * indica sempre. Ad esempio se scrivo nel campo [minuto] *, indico ogni minuto.
Il carattere – indica un lasso di tempo o un lasso di giorni. Ad esempio se scrivo nel campo [minuto]
12-34, indico dal minuto 12 al minuto 34.
Se nel campo [ora] scrivo “*/2” indico ogni 2 ore anziché ogni ora. Posso anche specificare le ore in
cui eseguire un comando: 2,3,9 indica alle ore 2, alle 3 e alle 9.
ESEMPIO: AVVIARE L’ESECUZIONE DI UNO SCRIPT AD UN DETERMINATO ORARIO
Nel file crontab scrivo la seguente riga:
45 20 * * * /home/andrea/test.sh
(alle 20:45 di tutti i giorni, di ogni mese, di ogni giorno della settimana, esegue lo script test.sh)
Mi sposto in /home/andrea
Con il programma VI edito il seguente file test.sh:
#!/bin/bash
indica che lo script sarà eseguito tramite bash
/bin/ls –l > /home/andrea/log
l’output di ls –l lo memorizzerà nel file log che sarà creato
dallo script test.sh in /home/andrea
Si salva il file e si esce dal programma VI.
Ora bisogna rende eseguibile lo script cambiandogli i permessi tramite chmod (es: chmod 744).
Dopodiché per eseguire lo script si dovrà digitare: ./test.sh
Alle ore 20.45 il mio script sarà eseguito e troverò l’output di ls –l nel file log.
CONFIGURAZIONE DELLA RETE – IFCONFIG
lspci
ifconfig
dhclient
visualizza tutte le periferiche pci, controlli usb, ide
mostra le interfacce di rete
l’indirizzo ip viene assegnato tramite DHCP
Si può procedere in 2 modi: abilitare l’interfaccia di rete senza salvare i parametri oppure abilitare
l’interfaccia di rete in modo permanente. In entrambi i casi, successivamente, si dovranno
aggiungere i dns editando il file /etc/resolv.conf.
ABILITARE L’INTERFACCIA DI RETE
Questi commandi servono per abilitare l’interfaccia di rete e per aggiungere il gateway, ma la
configurazione viene persa quando il pc viene spento.
ifconfig eth0 [ip_address] netmask [subnet]
route add default gw [gateway]
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
route add default gw 192.168.0.254
CONFIGURAZIONE L’INTERFACCIA DI RETE IN MODO PERMANENTE
Il file è contenuto in /etc/network/interfaces
Se aggiungono i parametri in questo file, l’interaccia di rete verrà abilitata con i relativi parametri in
fase di boot.
Il file è strutturato in tal modo:
iface eth0 inet static
address [ip_address]
netmask [subnet]
network [maschera di rete]
broadcast [broadcast]
gateway [default_gateway]
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
opzionale
opzionale
gateway 192.168.0.254
auto eth0
auto eth0
AGGIUNGERE I DNS
Il file è contenuto in /etc/resolv.conf
nameserver [ip_dns] nameserver 213.140.2.21
Nel caso in cui bisogna riavviare il servizio di networking o un qualsiasi altro servizio, bisognerà
entrare nella cartella /etc/init.d/ Al suo interno sono presenti tutti i demoni dei servizi.
./networking start
avvia il servizio di networking
./networking restart
riavvia il servizio (!! da usare nella maggior parte dei casi !!)
./networking stop
arresta il servizo
ATTENZIONE: nel caso in cui sono in telnet su una macchina remota, non usare il comando
./networking stop poiché mi ferma il servizio di networking e in tale maniera non riesco più a
rientrare in telnet.
APT – INSTALLARE E RIMUOVERE PACCHETTI
Il file contenete i mirror per scaricare i programmi è contenuto in /etc/apt/sources.list
SEQUENZA DEL COMANDO APT
apt-get update
scrive in un file di testo la lista dei pacchetti che sono installabili
apt-get upgrade
aggiorna i pacchetti che sono installati sulla macchina
Oltre a questi comandi base, ci sono altri comandi che permettono ulteriori operazioni
apt-setup
apre la schermata di setup in cui inserire i mirror di apt
apt-cache search parola es:browser cerca nel file di testo scaricato con apt-get update tutti i
programmi contenenti la parola browser
apt-get install nome_pacchetto
installa un pacchetto specifico
apt-get remove nome_pacchetto
rimuove un pacchetto specifico
apt-get dist-upgrade
esegue l’upgrade della distribuzione
INSTALLARE E RIMUOVERE I PACCHETTI DEBIAN (.DEB)
dpkg –i nomefile.deb
dpkg –r nomefile.deb
INSTALLARE IL KERNEL
apt-get update
apt-cache search kernel-image
apt-get install kernel-image-x.y.z-686
(per installare il kernel dei processori intel)
RIMUOVERE IL KERNEL
apt-get remove kernel-image-x.y.z-686
Un’altra soluzione può essere la seguente:
/boot
cancellare tutti i file relativo al vecchio kernel
/boot/grub
editare il file menu.lst eliminando le voci del vecchio kernel
/lib/modules/ cancellare la cartella del vecchio kernel
COMPILARE I SORGENTI
Scompattare il file tar oppure tar.gz ed entrare nella cartella. Leggere attentamente il file readme
oppure install che è presente nella cartella. Molte volte la sequenza è questa:
./configure
make
successivamente si può procedere su due strade:
make install
che installa i file nel sistema e può essere difficoltoso andarli a ripescare oppure usare
checkinstall
da usare al posto di “make install” non fa altro che creare un pacchetto rpm (o altro, a seconda della
distro) che poi viene installato. Così la rimozione del pacchetto è molto più semplice.
COMANDI VARI
CREARE GLI UTENTI
adduser nome
crea il profilo utente comprensivo della cartella sotto /home. Inoltre nel file
/etc/passwd è presente la riga con tutti i parametri dell’utente.
useradd nome
crea l’utente ma senza la cartella in /home. Modifica il file /etc/passwd.
Struttura del file /etc/passwd
Nomeutente:x:uid:gid:nome_completo,parametri_vari:home/cartellautente:/bin/bash
GroupID
UserID
E’ presente una password di accesso
dove si deve loggare
indica la shell da usare
ATTENZIONE:
/bin/false = in questo caso l’utente non ha la shell per accedere.
CREARE I GRUPPI
addgroup nome
Struttura del file /etc/group
Nomegruppo:x:gid:nome_utente,nome_utente
GroupID (assegnato dal sistema)
E’ presente una password di accesso
ESEGUIRE UNA PULIZIA DEI FILE TEMPORANEI
I file temporanei vengono cancellati dalle maggiori distribuzioni all'avvio e si trovano sotto /tmp
I log vengono rotati. In teoria non li devi eliminare, vengono cancellati da soli.
Si può provare con il programma KleanSweep che funziona di sicuro con kde, è grafico e basta
stare un po' attenti a quello che si vuole pulire. E’ reperibile all’indirizzo:
(http://www.kde-apps.org/content/show.php?content=28631)
ESEGUIRE PROGRAMMI O SERVIZI IN FASE DI BOOT
Come posso fare partire servizi o programmi all'avvio del computer, per esempio xorg?
Oppure dire di non fare piu partire ogni volta samba?
I servizi che metti o hai in /etc/init.d puoi aggiungerli con update-rc.d
man update-rc.d è abbastanza semplice e fa anche i vari esempi
INIT E DEMONI
Il file dei demoni è contenuto in /etc/inittab
Gli init vanno da 0 (halt) fino al 6 (reboot). Gli inti da 1 a 5 sono quelli relativi all’avvio.
/etc/rc0.d fino al rc6.d sono tutti i link simbolici usati in fase di boot in base all’init.
Se da console digito init 0 arresto il pc.
IPTABLES
Nel caso in cui ho 2 schede di rete e voglio farle comunicare tra loro
# echo 1 > /proc/sys/net/ipv4/ip_forward
Se il file contiene 0 vuol dire che le schede non fanno forward tra loro, altrimenti se contiene 1 le
schede fanno forward tra loro.
INSTALLARE I DRIVER DELLA SCHEDA AUDIO (ALSA)
apt-get update
apt-get upgrade
apt-get install modconf
(da editare tramite vi modules.conf)
apt-get install alsa-source alsa-base alsa-tools alsa-utils
Se tutto è proceduto senza problemi, con il commando alsaconf si procederà a rilevare la scheda
audio e a settare i relative parametri.
Nel caso in cui si hanno ancora problemi, è meglio installare un nuovo kernel tramite il comando
dpkg –i nomekernel.deb
RICERCARE LA POSIZIONE DI UN COMANDO NEL FILE SYSTEM
type comando oppure which comando
SCOMPATTARE I FILE
tar –xvzf nomefile.tar.gz
tar –xvf nomefile.gz
VISUALIZZARE I PROGRAMMI IN ESECUZIONE
Per vedere un programma in esecuzione con tutti i programmi generati. Il processo padre è il primo.
ps aux | grep nome_programma
Per terminare il processo con tutti i processi generati
kill -9 numeropid.
link in ordine di importanza
http://www.hwudebianclan.org/
http://a2.swlibero.org/
http://web.tiscali.it/meskalamdug/
http://linux.html.it/guide/leggi/72/guida-linux/
http://mcz.altervista.org/
firewall in linux
(http://forum.html.it/forum/showthread.php?s=0e81a0be24f4007819be6d30a17b2b94&threadid=98
8062)