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)