Differenze tra le versioni di "Linea di comando"
Riga 319: | Riga 319: | ||
= Comandi a briglia sciolta = | = Comandi a briglia sciolta = | ||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β |
Versione delle 13:41, 11 ott 2014
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 *
- = significa tutto
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.