|
|
Riga 319: |
Riga 319: |
| | | |
| = Comandi a briglia sciolta = | | = Comandi a briglia sciolta = |
− |
| |
− | Un ottimo testo di riferimento per usare Linux da linea di comando (shell): [http://www.manualinux.com/italia/manualinux.htm Manualinux] e poi una serie di utili combinazioni di tasti presa da [http://www.wowarea.com/italiano/linux/shell.htm wowarea].
| |
− |
| |
− | cd
| |
− | cd (da solo) torna nella homedir (~ o $HOME)
| |
− |
| |
− | cd ..
| |
− | porta alla directory precedente (da cui dipende)
| |
− |
| |
− | cd /
| |
− | torna alla radice da qualsiasi punto ci si trovi
| |
− |
| |
− | ls
| |
− | visualizza il contenuto di una directory orizzontalmente
| |
− |
| |
− | ls | more
| |
− | visualizza il contenuto x pagina e verticalmente (tramite enter prosegue con una singola linea x volta) (tramite space prosegue x pagina)
| |
− |
| |
− | ls -l
| |
− | l'opzione -l visualizza molti dettagli
| |
− |
| |
− | ls -la
| |
− | l'opzione -a visualizza le directory precedute da un punto (questo e' il comando consigliato)
| |
− |
| |
− | cp -av
| |
− | copia intere directory es. partenza (/usr) destinazione (/mnt/dove_vuoi_tu)
| |
− |
| |
− | cp -r
| |
− | per copiare directory
| |
− |
| |
− | mkdir
| |
− | per creare una directory
| |
− |
| |
− | rmdir
| |
− | per rimuovere directory vuote
| |
− |
| |
− | rm -r
| |
− | elimina le dir/sottodir e tutto in esse contenuto
| |
− |
| |
− | rm -r -f
| |
− | elimina le dir/sottodir e tutto in esse contenuto senza chiedere conferma
| |
− |
| |
− | pwd
| |
− | per controllare in quale directory ci si trova
| |
− |
| |
− | tree nomedir
| |
− | visualizza le directory dipendenti da quella indicata
| |
− |
| |
− | reset
| |
− | se xterm non risponde più ai comandi, il comando reset lo sbloccherà
| |
− |
| |
− | cp
| |
− | per copiare file
| |
− |
| |
− | rm
| |
− | per cancellare i file
| |
− |
| |
− | mv
| |
− | per spostare/rinominare file
| |
− |
| |
− | mv nome nomenuovo
| |
− | rinomina il file (es. mv cri.txt cro.txt)
| |
− |
| |
− | mv nomefile /nomedir
| |
− | sposta il file nella dir indicata (es. mv cri.txt /usr)
| |
− |
| |
− | cat nomefile
| |
− | mostra il contenuto di un file
| |
− |
| |
− | touch nomefile
| |
− | per creare un file vuoto all'istante
| |
− |
| |
− | wc
| |
− | per vedere le statistiche su un file di testo.
| |
− |
| |
− | split
| |
− | per dividere un file in più parti.
| |
− |
| |
− | diff
| |
− | per trovare la differenza di testo all'interno di 2 files (es. diff 1.txt 2.txt)
| |
− |
| |
− | !!
| |
− | riesegue l'ultimo comando appena eseguito
| |
− |
| |
− | !n
| |
− | riesegue l'ennesimo comando presente nella storia, dove 'n' e' il numero del comando da rieseguire
| |
− |
| |
− | !stringa
| |
− | riesegue l'ultimo comando che inizia con i caratteri specificati in 'stringa'
| |
− |
| |
− | !stringa:p
| |
− | visualizza l'ultimo comando che inizia con i caratteri specificati in 'stringa'
| |
− |
| |
− | !?comando?
| |
− | ricerca il comando specificato tra punti interrogativi
| |
− |
| |
− | fc 4
| |
− | permette di modificare in comando numero 4 con l'editor predefinito (solitamente vi)
| |
− |
| |
− | fc -e 'nome' 4
| |
− | permette di modificare in comando numero 4 con l'editor 'nome' specificato
| |
− |
| |
− | ^comando1^comando2
| |
− | riesegue l'ultimo comando eseguito che contiene la parola 'comando1' sostituendola con 'comando2'.
| |
− |
| |
− | history
| |
− | visualizza l'elenco di tutti i comandi eseguiti
| |
− |
| |
− | CTRL-U
| |
− | cancella tutta la riga dalla posizione del cursore all'inizio della riga
| |
− |
| |
− | CTRL-K
| |
− | cancella tutta la riga dalla posizione del cursore alla fine della riga
| |
− |
| |
− | CTRL-W
| |
− | cancella una parola dalla posizione del cursore all'inizio della riga
| |
− |
| |
− | ALT-D
| |
− | cancella una parola dalla posizione del cursore alla fine della riga
| |
− |
| |
− | freccia sinistra
| |
− | sposta il cursore di un carattere a sinistra
| |
− |
| |
− | freccia destra
| |
− | sposta il cursore di un carattere a destra
| |
− |
| |
− | freccia su
| |
− | scorre la storia dei comandi a ritroso
| |
− |
| |
− | freccia giu'
| |
− | scorre la storia dei comandi in avanti
| |
− |
| |
− | tasto home
| |
− | sposta il cursore all'inizio della riga
| |
− |
| |
− | CTRL-A
| |
− | sposta il cursore all'inizio della riga
| |
− |
| |
− | tasto fine
| |
− | sposta il cursore alla fine della riga
| |
− |
| |
− | CTRL-E
| |
− | sposta il cursore alla fine della riga
| |
− |
| |
− | ALT-F
| |
− | sposta il cursore alla fine della parola successiva (F sta per forward, successivo)
| |
− |
| |
− | CTRL-B
| |
− | sposta il cursore all'inizio della parola precedente (B sta per backward, precedente)
| |
− |
| |
− | CTRL-T
| |
− | inverte gli ultimi due caratteri a sinistra del cursore, cioe' ab diventa ba (T sta per transpose)
| |
− |
| |
− | ALT-T
| |
− | inverte le ultime due parole a sinistra del cursore, cioe' cp pippo pluto diventa cp pluto pippo
| |
− |
| |
− | ALT-U
| |
− | trasforma in maiuscolo la parola su cui si trova il cursore (U sta per uppercase, cioe' maiuscolo)
| |
− |
| |
− | ALT-L
| |
− | trasforma in minuscolo la parola su cui si trova il cursore (L sta per lowercase, cioe' minuscolo)
| |
− |
| |
− | tasto TAB
| |
− | espande il nome di un file o di un comando
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | Altri consigli presi da [http://www.manualinux.com/italia/manualinux.htm Manualinux]
| |
− |
| |
− | # COMANDI COMUNI PER MUOVERE I PRIMI PASSI SU LINUX
| |
− |
| |
− | *# I comandi dati possono essere riscritti, sulla riga di comando, semplicemente premendo i tasti di direzione.
| |
− |
| |
− | *# Tramite il comando "history" e' possibile vedere tutti i comandi dati
| |
− |
| |
− | *# se dopo gli viene inserito un numero, visualizza gli ultimi n. comandi dati
| |
− |
| |
− | 3 - Spesso lanciando dei comandi, si generano file di testo. Per uscirne, bisogna premere "q"
| |
− | oppure, qualora si voglia fermarne il processo perche' l'esecuzione del comando genera caratteri incomprensibili o non vengono accettati altri input da tastiera, bisogna premere "Ctrl+c"
| |
− |
| |
− | 4 - Spesso, i comandi lanciati, forniscono una serie di dati che superano la visualizzazione di una sola schermata, mostrando cosi', solo una parte di essi. Per ovviare a questo fenomeno, si usa una opzione "|more" o "| less" aggiunta alla fine del comando (ls -la | more) oppure dopo il nome del file (cat nomefile | more)
| |
− |
| |
− | 5 - Inoltre, dopo avere utilizzato alcune procedure sopracitate, bisogna sapere che premendo il tasto "Invio", continua la visualizzazione per riga e premendo il tasto "space" continua per pagina.
| |
− |
| |
− |
| |
− | shutdown -r now = riavvio del sistema
| |
− |
| |
− | reboot = come sopra
| |
− |
| |
− | shutdown -h now = chiusura del sistema
| |
− |
| |
− | halt = come sopra
| |
− |
| |
− | halt -p = fa shutdown e spegne il sistema
| |
− |
| |
− | exit = chiude la consolle
| |
− |
| |
− | startx = avvia l'esecuzione del server grafico
| |
− |
| |
− | ctrl+alt+backspace = riavvia la modalita' grafica riportando al login iniziale
| |
− |
| |
− | ctrl+alt+F1 = apre una consolle non emulata
| |
− |
| |
− | ctrl+alt+F7 = passa semplicemente sullo screen 0 se c'e' un server X attivo. Non chiude la console da cui si proviene.
| |
− |
| |
− |
| |
− | PER HELP E INFORMAZIONI
| |
− |
| |
− | - comandi
| |
− |
| |
− | nomecomando --help = mostra la sintassi del comando (un aiuto generico)
| |
− |
| |
− | man nomecomando = mostra la spiegazione in dettagli
| |
− |
| |
− | (enter ;prosegue per linea - space ;per pagina -
| |
− |
| |
− | q ;per uscire e tornare alla riga di comando)
| |
− |
| |
− | info nomecomando = idem
| |
− |
| |
− |
| |
− |
| |
− | - file installati
| |
− |
| |
− | makewhatis = crea un database con le informazioni che riguardano i file installati (senza visualizzare nulla), poi con
| |
− | il comando
| |
− |
| |
− | " apropos tipofile " viene restituito un elenco di quello che riguarda il tipo di file (es. apropos edit).
| |
− |
| |
− |
| |
− |
| |
− | - kernel
| |
− | uname -a = per sapere la versione del kernel
| |
− |
| |
− | - sistema e kernel
| |
− |
| |
− | lsmod = visualizza i moduli caricati nel kernel
| |
− |
| |
− | du -h = quantita' di spazio usata nella directory e sottodirectory in kb e mb.
| |
− |
| |
− | top = mostra i processi in uso dalla cpu (per interrompre Ctrl+c).
| |
− |
| |
− | ps aux = Visualizza i programmi e demoni in corso con i relativi pid
| |
− |
| |
− | pidof nome programma/demone (per es. pidof kdm)
| |
− |
| |
− | df = mostra le partizioni montate
| |
− |
| |
− | free -mt = mostra la memoria ram e swap occupata, libera e totali
| |
− |
| |
− | free (-t ;x i totali -m ;x i megabytes)
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | uname = mostra le informazioni sul sistema.
| |
− |
| |
− | uname -m = tipo di macchina
| |
− |
| |
− | uname -n = nome della macchina sulla rete
| |
− |
| |
− | uname -r = release del sistema operativo (versione kernel)
| |
− |
| |
− | uname -s = nome del sistema operativo
| |
− |
| |
− | uname -v = versione del sistema operativo
| |
− |
| |
− | uname -a = riepilogo generale delle opzioni sopra descritte
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | ALTRI COMANDI PER LA VISUALIZZAZIONE DI FILE E PRECISAZIONI
| |
− |
| |
− | Oltre al comando "cat", ci sono altri comandi, spesso piu' utili, per visualizzare il contenuto di un file.
| |
− |
| |
− | more nomefile = per i file di grandi dimensioni
| |
− |
| |
− |
| |
− |
| |
− | oppure
| |
− |
| |
− | less nomefile
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | more /dev/hda = verra' visalizzata la mappa delle partizioni
| |
− |
| |
− | less /dev/hda = viene visualizzato di aggiungere l'opzione -f
| |
− |
| |
− | less -f /dev/hda = questo e' il caso in cui non si capisce nulla
| |
− |
| |
− | (premere "q")
| |
− |
| |
− | cat /dev/hda = questo e' il caso in cui bisogna fermare il processo (Ctrl+c)
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | IL CARATTERE JOLLY "*"
| |
− |
| |
− | * = significa tutto
| |
− |
| |
− | Se introdotto a fianco di una parola, fa riferimento alla parola e quelle che hanno caratteri aggiunti
| |
− |
| |
− | es. pippo* = pippo pippo1 pippociao pippopluto pippo..............
| |
− |
| |
− |
| |
− |
| |
− | Bisogna stare attenti quando lo si usa per eliminare file o directory, perche', un comando sbagliato come:
| |
− |
| |
− | "rm pippo * "; elimina il file pippo e anche tutti i file dentro quella directory. Meglio controllare con:
| |
− |
| |
− | ls -a pippo* prima di cancellare qualcosa; in questa maniera, si potra' controllare cosa verra' eliminato.
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | IL COMANDO CAT
| |
− |
| |
− | (precisazioni)
| |
− |
| |
− |
| |
− |
| |
− | Può essere usato per creare
| |
− |
| |
− | file di testo :
| |
− |
| |
− | cat > nomefile
| |
− |
| |
− | digitare il testo
| |
− |
| |
− | ctrl+d = per chiudere il file
| |
− |
| |
− | cat nomefile = per guardare il contenuto del file
| |
− |
| |
− |
| |
− |
| |
− | Può essere usato per riassemblare files divisi o unire vari files :
| |
− |
| |
− | es.:
| |
− |
| |
− | cat file1.txt file2.txt file3.txt > ris.txt
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | IL COMANDO CP
| |
− |
| |
− | (precisazioni)
| |
− |
| |
− | Può essere usato anche per trasferire un file esistente in un file che viene creato all'istante:
| |
− |
| |
− | cp fileesistente file creatoadesso
| |
− |
| |
− |
| |
− |
| |
− | La stessa cosa avviene per le directory
| |
− |
| |
− | cp -r diresistente dircreataadesso
| |
− |
| |
− |
| |
− |
| |
− | I COLLEGAMENTI
| |
− |
| |
− | ln nome nomelink = per creare collegamenti fisici
| |
− |
| |
− | ln -s nome nomelink = per creare collegamenti simbolici
| |
− |
| |
− |
| |
− |
| |
− | ==COMANDI VARI==
| |
− |
| |
− | pushd (Dice in che directory eravate prima)
| |
− |
| |
− | popd (vi porta nella directory dove eravate prima)
| |
− |
| |
− | cd - (come sopra)
| |
− |
| |
− |
| |
− |
| |
− | ==OCCUPAZIONE DEL DISCO==
| |
− |
| |
− | du -h (per visualizzare la quantita' in kilobyte e megabyte)
| |
− |
| |
− |
| |
− |
| |
− | ==I PROCESSI==
| |
− |
| |
− | & (da mettere a fine riga di comando) per eseguire un comando in background ossia dietro le quinte e darà questo
| |
− | risultato:
| |
− |
| |
− | [3] 32566 Dove 3 e' il numero del processo mentre 32566 e' l'ID del processo.
| |
− |
| |
− |
| |
− |
| |
− | && (da inserire tra 2 comandi, il secondo comando si avvierà solo quando il primo sarà terminato, ad esempio dir && top).
| |
− |
| |
− |
| |
− |
| |
− | bg (avvia il comando in background, la sintassi è: bg numero_id_del_comando).
| |
− |
| |
− | fg (esegue un processo con priorità alta, la sintassi è: fg numero_id_del_comando).
| |
− |
| |
− |
| |
− |
| |
− | nohup (esegue un comando anche se si è usciti dalla sessione o è stata persa la connessione, la sintassi è: nohup dir
| |
− | &), alla fine creerà un file chiamato nohup.out con all'interno il risultato del comando.
| |
− |
| |
− |
| |
− |
| |
− | ps -ax = per visualizzare i processi in memoria.
| |
− |
| |
− | kill = per uccidere un processo (con kill -l si visualizzano i segnali da mandare a morte.
| |
− |
| |
− | kill -9 (n°processo) = forza la morte del processo.
| |
− |
| |
− | killall = uccide tutti i processi).
| |
− |
| |
− |
| |
− |
| |
− | ==RAM==
| |
− |
| |
− | Per poter visualizzare la ram scrivere:
| |
− |
| |
− | free
| |
− |
| |
− | Per avere informazioni sulla ram utilizzata scrivere:
| |
− |
| |
− | top
| |
− |
| |
− | Controllare la parte in alto a sinistra dello schermo.
| |
− |
| |
− |
| |
− |
| |
− | ==MANIPOLAZIONE DEI DIRITTI DI ACCESSO==
| |
− |
| |
− | Se un file o una directory è di mia proprietà allora posso impostare a mio piacimento i suoi attributi (= diritti di
| |
− | accesso). Il comando per fare ciò è chmod (change modes). La sua sintassi è la seguente:
| |
− |
| |
− | chmod chi azione cosa nomefile
| |
− |
| |
− | dove:
| |
− |
| |
− | il parametro chi può essere u (user) g (groups) o (others) a (all)
| |
− |
| |
− | il parametro azione può essere + (aggiungere) - (togliere)
| |
− |
| |
− | il parametro cosa può essere r (read) w (write) x (execute)
| |
− |
| |
− | il campo nomefile è il file o la directory oggetto del cambiamento.
| |
− |
| |
− | (*) all indica contemporaneamente i tre tipi di utente.
| |
− |
| |
− | Vediamo ora degli esempi pratici.Supponiamo di voler aggiungere accesso, lettura e scrittura a tutti nella directory.
| |
− |
| |
− | drwx------ verdi users 512 pippo
| |
− |
| |
− | Il modo più semplice è:
| |
− |
| |
− | chmod a+rwx pippo
| |
− |
| |
− | ovvero a parole "aggiungi (+) a tutti (a) lettura (r) scrittura (w) e accesso (x) al file pippo " (che poi è una
| |
− | directory perché c'è d).
| |
− |
| |
− | Il risultato è:
| |
− |
| |
− | drwxrwxrwx verdi users 512 pippo
| |
− |
| |
− | Altro esempio. Supponiamo di voler rendere il file
| |
− |
| |
− | -r-------- verdi users 4096 paperino
| |
− |
| |
− | leggibile da tutti e scrivibile solo dal proprietario :
| |
− |
| |
− | chmod a+r paperino
| |
− |
| |
− | chmod u+w paperino
| |
− |
| |
− | E il risultato è:
| |
− |
| |
− | -rw-r--r-- verdi users 4096 paperino
| |
− |
| |
− | Altro esempio. Supponiamo di avere il file
| |
− |
| |
− | -rw-rw-rw- rossi superuser 1234 pluto
| |
− |
| |
− | Se eseguiamo:
| |
− |
| |
− | chmod o-rw pluto
| |
− |
| |
− | invece di ottenere:
| |
− |
| |
− | -rw-rw---- rossi superuser 1234 pluto
| |
− |
| |
− | si ottiene il messaggio:
| |
− |
| |
− | Permission denied
| |
− |
| |
− | Questo perché io (verdi) sto tentando di modificare gli attributi di un file che non mi appartiene (è di rossi)
| |
− |
| |
− |
| |
− | ==MANIPOLAZIONE DEI DIRITTI DI ACCESSO - METODO ALTERNATIVO==
| |
− |
| |
− | Un metodo più sbrigativo per assegnare gli attributi ad un file si basa su questo ragionamento. Supponiamo di attribuire
| |
− | dei valori
| |
− |
| |
− | numerici ai permessi possibili:
| |
− |
| |
− | Lettura = 4 (r)
| |
− |
| |
− | Scrittura = 2 (w)
| |
− |
| |
− | Esecuzione = 1 (x)
| |
− |
| |
− |
| |
− |
| |
− | (Ricordatevi che per una directory x significa accesso). In tale maniera, eseguendo delle semplicissime somme:
| |
− |
| |
− | 0 = Nessun permesso -
| |
− |
| |
− | 1 = Esecuzione x
| |
− |
| |
− | 2 = Scrittura w
| |
− |
| |
− | 3 = Scrittura + Esecuzione wx
| |
− |
| |
− | 4 = Lettura r
| |
− |
| |
− | 5 = Lettura + Esecuzione rx
| |
− |
| |
− | 6 = Lettura + Scrittura rw
| |
− |
| |
− | 7 = Lettura + Scrittura + Esecuzione rwx
| |
− |
| |
− |
| |
− |
| |
− | Se affianchiamo i tre codici di accesso user / groups / others
| |
− |
| |
− | otteniamo dei numeri di tre cifre, ognuna delle quali indica i permessi di ogni tipo di utente in modo sintetico. Per
| |
− | esempio:
| |
− |
| |
− | rwxrwxrwx 777
| |
− |
| |
− | rw-rw-rw- 666
| |
− |
| |
− | r--r--r-- 444
| |
− |
| |
− | rwx------ 700
| |
− |
| |
− | rw-r--r-- 644
| |
− |
| |
− |
| |
− |
| |
− | e così via.... Perciò è possibile inglobare in un solo colpo tutti gli accessi di ogni singolo tipo di utente. Esiste
| |
− | allora la sintassi
| |
− |
| |
− | alternativa di chmod:
| |
− |
| |
− | chmod codice nomefile
| |
− |
| |
− |
| |
− |
| |
− | Esempio. Il secondo esempio sulla prima sintassi di chmod voleva
| |
− |
| |
− | trasformare
| |
− |
| |
− | -r-------- verdi users 4096 paperino
| |
− |
| |
− |
| |
− |
| |
− | nel file:
| |
− |
| |
− | -rw-r--r-- verdi users 4096 paperino
| |
− |
| |
− |
| |
− |
| |
− | e necessitava di 2 chmod consecutivi, il primo per assegnare a+r e il secondo per assegnare u+w. Con la sintassi
| |
− | alternativa di chmod è
| |
− |
| |
− | possibile fare il tutto in un solo colpo, usando:
| |
− |
| |
− |
| |
− |
| |
− | chmod a+r,u+w paperino -#-#-#-(attenzione alla virgola)-#-#-#-
| |
− |
| |
− |
| |
− |
| |
− | oppure nella maniera più semplice:
| |
− |
| |
− |
| |
− |
| |
− | chmod 644 paperino
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | ==CAMBIARE LA PROPRIETA' DI UN FILE==
| |
− |
| |
− | Se sono proprietario di un file e volessi "regalarlo" a qualcuno, cioè fare in modo che questo qualcuno ne divenga il
| |
− | nuovo proprietario, esiste il comando chown (change owner). La sua sintassi è:
| |
− |
| |
− | chown nuovoproprietario.nuovogruppo file
| |
− |
| |
− | Vediamo gli esempi. Supponiamo che rossi, dopo aver depositato nella mia directory il file:
| |
− |
| |
− | -rw-rw-rw- rossi superuser 1234 pluto
| |
− |
| |
− | voglia fare in modo che esso divenga di mia proprietà. Dovrà allora eseguire:
| |
− |
| |
− | chown verdi.users pluto
| |
− |
| |
− | Il risultato sarà:
| |
− |
| |
− | -rw-rw-rw- verdi users 1234 pluto
| |
− |
| |
− |
| |
− |
| |
− | ==CREARE ED AGGIUNGERE GRUPPI ED UTENTI==
| |
− |
| |
− | Fare tutto come utente root.
| |
− |
| |
− | Ad es. creare un gruppo chiamato supporto:
| |
− |
| |
− | groupadd supporto
| |
− |
| |
− |
| |
− |
| |
− | Ad es. creare un utente ed inserirlo nel gruppo supporto
| |
− |
| |
− | useradd utente -c (commento) -d (home directory) -g (gruppo)
| |
− |
| |
− | useradd cristian -c ordinato -d /reparto -g supporto
| |
− |
| |
− |
| |
− |
| |
− | Adesso bisogna inserire una password:
| |
− |
| |
− | passwd cristian
| |
− |
| |
− |
| |
− |
| |
− | E' possibile usare anche:
| |
− |
| |
− | adduser (completo di tutto, pure di inserimento password).
| |
− |
| |
− | Verranno proposti i parametri di default , sono possibili delle modifiche.
| |
− |
| |
− |
| |
− |
| |
− | Modificare il gruppo di appartenenza di un utente:
| |
− |
| |
− | usermod -gnome_gruppo cristian
| |
− |
| |
− |
| |
− |
| |
− | Inserire l'utente in altri gruppi:
| |
− |
| |
− | usermode -Ggruppo1 gruppo2 gruppo3 cristian
| |
− |
| |
− |
| |
− |
| |
− | Per eliminare utente e gruppo scrivere:
| |
− |
| |
− | groupdel supporto
| |
− |
| |
− | userdel cristian (usando userdel -r verranno cancellati tutti i files e la directory dell'utente)
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | ==CONTROLLARE L'EFFICIENZA DEI DISCHI IDE==
| |
− |
| |
− | Un grazie a Riccardo Pelizzi (r.pelizzi@virgilio.it)
| |
− |
| |
− | Controllare l'efficienza dei propri dischi ide.
| |
− |
| |
− | nota: queste opzioni possono danneggiare i vostri dischi ide
| |
− |
| |
− | Se il dispositivo ide (che può essere sia un hard disk sia un cd-rom sia un dvd) e la vostra scheda madre sono recenti,
| |
− | il vostro disco supporta la modalità di trasferimento a 32-bit, la modalità ultra-DMA e l'irq unmasking. Il kernel è
| |
− | molto conservativo sotto questo punto di vista (poichè attivando queste opzioni su schede o su dispositivi che non le
| |
− | supportano si rischia di rovinarli) e se non ci ha pensato la vostra distro a configurare a puntino i vostri dischi, lo
| |
− | faremo noi con il comando hdparm:
| |
− |
| |
− | -Capire a che dispositivo corrisponde ciascun disco usiamo il comando:
| |
− |
| |
− | hdparm -i /dev/hdX
| |
− |
| |
− | dove X sta per il dispositivo che dovete controllare. Di solito sono a, b, c, d.
| |
− |
| |
− | Una delle prime voci di output sarà il modello del vostro dispositivo, così potrete capire che dispositivo IDE state
| |
− | interrogando.
| |
− |
| |
− | -Controlliamo che il supporto per il nostro chipset sia attivo. Non sarà possibile interagire con i dischi senza avere
| |
− | il supporto per il proprio chipset
| |
− |
| |
− | integrato nel kernel o caricato come modulo. Per esempio avendo un chipset Via ed avendo compilato il driver come
| |
− | modulo, prima di ogni altra operazione bisogna scrivere "modprobe via82cxxx".
| |
− |
| |
− | -Controlliamo lo stato dei nostri dischi. Il comando:
| |
− |
| |
− | hdparm /dev/hdX
| |
− |
| |
− | darà un output simile a questo:
| |
− |
| |
− | multcount = 16 (on)
| |
− |
| |
− | IO_support = 1 (32-bit)
| |
− |
| |
− | unmaskirq = 1 (on)
| |
− |
| |
− | using_dma = 1 (on)
| |
− |
| |
− | keepsettings = 0 (off)
| |
− |
| |
− | readonly = 0 (off)
| |
− |
| |
− | readahead = 8 (on)
| |
− |
| |
− | geometry = 9964/255/63, sectors = 160086528, start = 0
| |
− |
| |
− | Questo è l'output di un disco che dovrebbe essere già configurato a puntino. L'unica opzione importante ma non visibile
| |
− | da questo menù è la modalità udma. Con il comando precedente potete vedere se la modalità dma è attivata, ma non che
| |
− | modalità è attivata.
| |
− |
| |
− | Ma a questo penseremo alla fine.
| |
− |
| |
− | -Configuriamo il nostro dispositivo
| |
− |
| |
− | Cominciamo dando il comando:
| |
− |
| |
− | hdparm -t /dev/hdX
| |
− |
| |
− | e segnatevi il vostro transfer rate. Se IO_Support è uguale a 0, attiviamolo con il comando:
| |
− |
| |
− | hdparm -c1 /dev/hdX.
| |
− |
| |
− | Alcune combinazioni di schede madri / dispositivi richiedono il parametro c3. Questa opzione dovrebbe da sola
| |
− | raddoppiare il transfer rate del vostro dispositivo. Unmaskirq serve per mantenere il sistema operativo "responsive"
| |
− | (come lo traduco? Scattante? Pronto? Sono orribili...)
| |
− |
| |
− | mentre si legge dal dispositivo, utile soprattutto per cd/dvd. Si attiva con:
| |
− |
| |
− | hdparm -u1 /dev/hdX
| |
− |
| |
− | E ora passiamo alla parte più interessante: la modalità dma. Date il comando:
| |
− |
| |
− | hdparm -t /dev/hdX
| |
− |
| |
− | dopo ogni operazione.
| |
− |
| |
− | Ogni operazione dovrebbe aumentare il vostro transfer rate. Se così non è, dovrete tornare all'opzione precedente,
| |
− | perchè la corrente non è supportata. Cominciamo con:
| |
− |
| |
− | hdparm -d1 /dev/hdX
| |
− |
| |
− | Questa opzione non porta necessariamente ad un aumento di prestazioni, se non è stata attivata una modalità dma valida:
| |
− | andiamo a settarla.
| |
− |
| |
− | Questa è la tabella dei parametri da fornire ad hdparm (rubata ai gentili signori della intel):
| |
− |
| |
− | (ATA/33) -X66
| |
− |
| |
− | (ATA/66) -X68
| |
− |
| |
− | (ATA/100) -X69
| |
− |
| |
− | Per esempio per attivare la modalità ATA/66, date il comando:
| |
− |
| |
− | hdparm -X68 /dev/hdX.
| |
− |
| |
− | C'è un ultima opzione da settare, un poco più pericolosa delle altre: multicount. Date il comando:
| |
− |
| |
− | hdparm -i /dev/hdX
| |
− |
| |
− | e leggete la voce max_multicount. Sarà il valore da settare come:
| |
− |
| |
− | hdparm -mY /dev/hdX
| |
− |
| |
− | Ovviamente questa opzione non è settabile per i cd/dvd che hanno una sola testina, il laser. A questo punto dovreste
| |
− | avere un transfer rate di almeno 40MB al secondo con un disco ATA/66. Confrontatelo con quello ottenuto prima di ogni
| |
− | operazione. Godete o rimanete impassibili a seconda del risultato :-)
| |
− |
| |
− | NOTA: Queste opzioni non sono permanenti, per cui dovrete mettere tutti i vostri bei comandi in uno script e eseguirlo
| |
− | all'avvio mettendo il nome del file in fondo a:
| |
− |
| |
− | /etc/rc.d/rc.local
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | ==HARDWARE INSTALLATO==
| |
− |
| |
− | Dare i seguenti comandi come utente root:
| |
− |
| |
− | lspci
| |
− |
| |
− | dmesg
| |
− |
| |
− | cat /proc/cpuinfo
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | ==RICERCA FILE==
| |
− |
| |
− | - find (directory-file) es. find / -name cri.txt (/ cerca in tutto il file system, -name seguito dal nome del file)
| |
− |
| |
− | - find /root -size 990k ( trova un file di dimensione 990k nella directory /root)
| |
− |
| |
− | - locate file (es. locate cri.txt) maniera velocissima di trovare un file (dare prima il comando updatedb e poi il
| |
− | comando locate).
| |
− |
| |
− | - which cri.txt in varie directory predeterminate ( which cri.txt /usr /tmp/root)
| |
− |
| |
− | - grep cerca una parola all'interno di un documento (es. grep "casa" *.txt )
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | ==ARCHIVIAZIONE E COMPRESSIONE FILES==
| |
− |
| |
− |
| |
− |
| |
− | ESTENSIONE COMPRIMERE DECOMPRIMERE
| |
− |
| |
− |
| |
− |
| |
− | .Z compress cri.txt uncompress cri.Z
| |
− |
| |
− | .zip zip cri.txt cri.zip unzip cri.zip
| |
− |
| |
− | .gz gzip cri.txt gunzip cri.gz
| |
− |
| |
− | .bzip2 bzip2 cri.txt bunzip2 -d cri.bz2
| |
− |
| |
− | .tar.gz tar zcvf cri.tar.gz</dir/files> tar zxvf cri.tar.gz
| |
− |
| |
− | .lzh lha a cri.lzh</dir/files> lha x cri.lzh
| |
− |
| |
− | .rar rar a cri.rar</dir/files> unrar x cri.rar
| |
− |
| |
− | .zoo zoo -add cri.zoo</dir/files> zoo -extract cri.zoo
| |
− |
| |
− |
| |
− |
| |
− | ==MONTARE UN CDROM==
| |
− |
| |
− | Per montare un cdroom il comando è:
| |
− |
| |
− | mount -t iso9660 /dev/hdc /mnt/cdrom (nome dir che devi crearecon mkdir)
| |
− |
| |
− | Controlla che il tuo cdrom sia hdc o hdd o scd0 o scd1 (se SCSI) e ricordati di creare una directory di nome cdrom.
| |
− |
| |
− |
| |
− | ==MONTARE UNA PARTIZIONE LINUX==
| |
− |
| |
− | Per montare una partizione linux il comando e':
| |
− |
| |
− | mount /dev/sda1 /mnt/linux (nome dir che devi creare con mkdir)
| |
− |
| |
− | mount -w -n -o remount / montare il file system in scrittura
| |
− |
| |
− | mount -r -n -o remount / montare il file system in lettura
| |
− |
| |
− | [[Category: Howto]]
| |
Introduzione
Una shell è un software provvisto di un'interfaccia da riga di comando attraversi il quale digitando un comando si avvia l'esecuzione di un programma.
Sui sistemi Microsoft (DOS e Windows) è chiamata prompt dei comandi.
La maggior parte delle distribuzioni Linux utilizza la Bourne Again Shell (bash), una versione avanzata della vecchia Bourne shell (sh).
Altre shell:
- Almquist shell (ash, sh, dash): veloce e minimale, shell di default di Android, è usata su Debian e derivate per eseguire gli script di avvio.
- TENEX C Shell (tcsh): shell predefinita di FreeBSD, compatibile con la vecchia C shell (csh).
- Korn shell (ksh): shell predefinita di NetBSD ed OpenBSD.
- Z shell (zsh): compatibile con bash, incorpora varie funzionalità della tcsh e ksh
Nota:
su Linux tutto è un file: cartelle, file, partizioni, dischi, periferiche, interfacce, sono trattati allo stesso modo. Una cartella si distingue da un file perché contiene al suo interno due elementi: «punto» e «punto punto».
.
collegamento ricorsivo a se stessa
..
collegamento alla cartella sovrastante
Comandi principali
man
Anteposto ad un comando ne mostra la guida
Gestione di file e cartelle
cd ..
Permette di tornare alla cartella di livello superiore
ls
Mostra la lista di elementi contenuti in una directory.
ls -a
Mostra la lista di tutti gli elementi di una directory inclusi quelli nascosti.
ls -l
Mostra gli elementi contenuti in una directory sotto forma di lista, descrivendone il tipo (file, cartella o link), i diritti, il proprietario, il gruppo e la data di modifica.
ls -h
Mostra la lista di tutti gli elementi di una directory indicando la dimensione dei file in modo “human readable”, ovvero espressa in Kbyte o Mbyte anziché in byte.
mkdir nome_cartella
Crea una directory
ls -alh
Combina i tre comandi precedenti.
cp file_o_directory destinazione
Copia file o cartelle. Con l'opzione -R (ricorsività) il comando cp copia anche i file nelle sottocartelle, fino al livello più basso.
mv file_o_directory destinazione
Permette di spostare e rinominare i file.
Come per il comando cp, l'opzione -R, ne applica una ricorsività.
rm file → cancella il file.
rm -r cartella
Applica il comando cancella ricorsivamente all'interno delle sottocartelle cancellandone il contenuto.
rm -f
Cancella forzatamente il file ma solo se si hanno i permessi giusti sul file in questione. Non chiede la conferma prima di eliminare!
rm -rf cartella
Cancella una cartella e tutto il suo contenuto senza chiedere conferma per ogni file.
ln -s file destinazione
Crea un link statico al file specificato.
w
indica gli utenti che in quel momento stanno lavorando sulla macchina, il tipo di console TTY (tele type terminal) da cui si connettono, l'ora di login e la macchina da cui hanno effettuato la connessione.
pwd
Print Working Directory mostra il percorso (path) della cartella in cui ci troviamo.
Spengimento e Riavvio
systemctl poweroff = Spenge il PC
reboot = Riavvia il PC
Sistema e kernel
du -h = quantità di spazio usata nella directory e sottodirectory in kb e mb.
top = mostra la percentuale di CPU utilizzata dai vari processi.
ps aux = Visualizza i programmi e demoni in corso con i relativi pid
df -h = mostra le partizioni montate
free -m = mostra la memoria ram e swap occupata, libera e totale
uname -a = indica la versione del kernel
lsmod = visualizza i moduli (driver) caricati nel kernel
Altro
history
Visualizza l'elenco degli ultimi comandi eseguiti
cat nomefile
Mostra il contenuto di un file
less nomefile
Simile a cat, ma permette di scorrere il file avanti ed in dietro. Utile per file lunghi.
Il carattere JOLLY *
Introdotto a fianco di una parola, fa riferimento alla parola e quelle che hanno caratteri aggiunti
es. pippo* = pippo pippo1 pippociao pippopluto pippo..............
Gestione dell'output
| → ingabbia l'output del comando che lo precede e lo da in input al comando successivo.
- → esegue il comando che lo prece e poi passa automaticamente al successivo indipendentemente dall'esito del comando eseguito in precedenza.
& → esegue il comando che lo precede e poi passa al successivo solo se il precedente è andato a buon fine.
> → reindirizza l'output a video del comando che lo precede in un altro file, sovrascrivendo quello che c'era prima nel file destinazione. Può essere usato per la copia.
>> → è analogo al comando > ma accoda l'input alla fine del file destinazione senza cancellarne il contenuto preesistente.
Struttura del filesystem
/bin: contiene i programmi che sono essenziali all'avviamento e all'uso della macchina.
Es. bash, mv, cp...
/boot: contiene i file di configurazione del bootloader, necessari all'avviamento della macchina.
Es. I file di configurazione del Grub.
/dev: tutti i file contenuti in questa directory sono dispositivi che fanno parte del sistema o che vengono emulati.
Es. I dischi hda e sda
/etc: contiene principalmente i file di configurazione dei programmi e del sistema di base.
/home: non è strettamente necessaria. Contiene le directory personali dei singoli utenti.
/lib: contiene le libreria che sono usate dai programmi che stanno in /bin e /sbin, nonchè i moduli del kernel.
/media: esiste da poco, da quando sono entrati in uso i demoni “udev” e “hal” che montano automaticamente le periferiche nella cartella media a caldo quando vengono inserite.
Es. Pennine e device usb
/mnt: cartella dove vengono montati manualmente i device e le partizioni che solitamente sono statici e non vengono rimossi.
Per montare un device automaticamente nella /mnt all'avvio è necessario editare il file /etc/fstab, altrimenti è necessario montare manualmente il device ogni volta con il comando muount.
/opt: di solito contiene i programmi che non interagiscono con altri programmi installati.
/proc: è un file system virtuale. All'interno ci sono file che danno informazioni sul sistema (per esempio il tipo di CPU).
/root: è la home dell'utente root.
/sbin: contiene eseguibili e file che può usare solo l'utente root.
/srv: è la cartella che contiene i server standard.
/tmp: contiene i file temporanei che ad ogni riavvio vengono cancellati.
/usr: è speculare alla directory /root poiché contiene le stesse directory, con la differenze che in passato non stava sul mainframe ma sulla macchina locale.
/usr/src: contiene i sorgenti del kernel o dei programmi compilati dall'utente.
/usr/X11R6: contiene i file del server grafico.
/usr/local: speculare alla /usr, contiene l'installazione di programmi.
/var: ha contenuti dinamici, ovvero file che sono soggetti a modifiche dal sistema.
/var/tmp: contiene principalmente file temporanei che non vengono cancellati al riavvio.
/share: principalmente usata per condividere dati tra più utenti o in rete.
/swap: serve al S.O. per swappare ma al giorno d'oggi, con le grandi quantità di ram che vengono installate a bordo dei client, è quasi praticamente inutile.
/etc/fstab
È il file in cui sono specificati i device che vengono montati all'avvio.
Es.: montaggio di una partizione NTFS
/dev/sda1 /media/win ntfs-3g defaults,users,umask=000,locale=it_IT.UTF-8 0 0
In fstab non va messo il riferimento a /media ma solo a /mnt altrimenti si crea confusione con il S.O. che in /media è programmato per scriverci automaticamente al momento del rilevamento del dispositivo inserito.
apt
È il gestore dei pacchetti i cui file di configurazione stanno in /etc/apt.
Il file che contiene i repository è sources.list ed ha la seguente sintassi:
deb cdrom [percorso] intrepid main restricted
deb http://archive.ubuntu.com/ubuntu intrepid main restricted
(Intrepid è il nome di una versione della distribuzione di Ubuntu)
Comandi:
apt-get update: aggiorna la lista dei pacchetti interrogando i repository.
apt-get upgrade: aggiorna i pacchetti presenti sulla macchina con nuove versioni se presenti nei repository e risolvendo le relative dipendenze.
apt-get install “nome_pacchetto”: installa il pacchetto con le relative dipendenze.
apt-cache search “stringa_da_cercare”: cerca il pacchetto che ha nel nome o nella descrizione la stringa che gli è stata specificata.
apt-get dist-upgrade: aggiorna il S.O. alla versione successiva, aggiornando automaticamente anche i sources dei repository.
Tramite apt è possibile installare anche una cache dei pacchetti, molto utile nel caso si abbiamo molti client su cui installare programmi e aggiornamenti, prendendo i file direttamente dalla cache del proxy locale anziché dalla rete internet.
tar
Programma che permette di creare archivi, un tempo usato per archiviare i file su nastro.
Opzioni:
-c → crea l'archivio.
-f → archivia su file.
-v → mostra la lista dei file che vengono aggiunti all'archivio dettagliatamente (verbose mode).
-x → estrai l'archivio.
-z → crea archivio compresso con gzip.
-j → crea archivio compresso con bzip2.
Es:
tar -czf “nome_file_da_creare” “file_da_comprimere.gz” (compressione di un file in formato gzip)
tar -cjf “nome_file_da_creare” “file_da_comprimere.bz2” (compressione di un file in formato bzip2)
tar -xjf “file_compresso.bz2” (estrazione di un file in formato bzip2)
xorg.conf
Gestisce e rileva le periferiche video e di input quali monitor, vga, mouse e tastiera.
Alcune distribuzioni hanno dei tools specifici per creare il file xorg.conf, ma è possibile farlo anche a mano.
Il comando “X -configure” crea un file xorg.conf funzionante...in teoria! :-(
Permessi, gruppi, utenti
I gruppi si creano con il comando groupadd “nome_gruppo”.
Sia quelli standard che quelli creati a posteriori compaiono nel file /etc/group.
alsa → per l'audio
network → per la rete
optical → per lettori e masterizzatori
wheel → gruppo che ha permessi quasi da root
users → gruppo dove ci stanno tutti gli utenti
Gli utenti si creano con il comando useradd “nome_utente”.
La lista degli utenti compare nel file /etc/passwd.
Per cambiare i permessi ai file si usa il comando chmod.
Metodo delle lettere (UGO – User/Group/Others):
Permesso di lettura → r
Permesso di scrittura → w
Permesso di esecuzione → x
chmod u+x “nome_file” → do i permessi di esecuzione al proprietario
chmod u-x “nome_file” → tolgo i permessi di esecuzione al proprietario
Lo stesso vale per il gruppo e per gli others:
chmod g+w “nome_file” → do i permessi di scrittura al gruppo
chmod o+w “nome_file” → do i permessi di scrittura a tutti gli altri
chmod a-w “nome_file” → tolgo i diritti di scrittura a tutti
Sempre usando il comando chmod si possono dare i permessi ai file anche usando il metodo dei numeri:
1 → lettura
2 → scrittura
4 → esecuzione
I diritti si danno al proprietario, gruppo e others sommando i numeri corrispondenti ai diritti che vogliamo dargli.
Es.:
Se volessi dare i diritti di esecuzione, lettura e scrittura sia al proprietario, al gruppo e a tutti gli altri dovrei scrivere:
chmod 777 “nome_file”
Dove:
-Il primo 7 è dato dalla somma di esecuzione+scrittura+lettura=4+2+1=7 ovvero i diritti che diamo al proprietario.
-Il secondo 7 è dato dalla somma di esecuzione+scrittura+lettura=4+2+1=7 ovvero i diritti che diamo al gruppo.
-Il terzo 7 è dato dalla somma di esecuzione+scrittura+lettura=4+2+1=7 ovvero i diritti che diamo agli altri.
E cosi per tutte le possibili combinazioni.
Se voglio cambiare un gruppo ad un file uso il comando chgroup “nome_gruppo” “nome_file” (di cui voglio cambiare il gruppo).
Per cambiare utente ad un file invece si usa il comando chown “nuovo_utente” “nome_file” (di cui voglio cambiare l'utente).
Posso cambiare utente e gruppo con un comando solo sempre usando il chown:
chown “utente:gruppo” “nome_file”
NB.
Se si hanno i permessi di scrittura/lettura/esecuzione su una directory sarà possibile anche scrivere/leggere/eseguire i file che stanno al suo interno anche se non ho i permessi direttamente su quei file specifici.
Monitoraggio delle risorse
ps ax | less → fa vedere tutti i processi che ci sono attivi, ridirezionando l'output tramite il less a video come se fosse un file di testo.
Nella lista ci sono tutti i processi con il relativo PID.
kill PID → uccide il processo relativo a quel PID.
killall “nome_programma” → uccide tutti i processi che hanno a che fare con quel programma (compresi i processi figli).
top → comando che ci permette di vedere i processi attivi in tempo reale con relativo utilizzo delle risorse, oltre alle risorse (RAM e CPU) in uso e libere sulla macchina.
Comandi a briglia sciolta