Terminale e Comandi da Tastiera

Il terminale e conseguentemente i comandi da tastiera sono la vera essenza di Linux, odiati o amati spesso sono l’unico modo per governare il Pinguino, altre volte sono il sistema più veloce per fare le cose, molto più veloce…

I comandi non sono in ordine alfabetico per una ragione precisa, sono in ordine di “apprendimento”, ovvero secondo l’ordine in cui li ho imparati o meglio secondo la progressione in cui s’imparano sentendone la necessità per l’utilizzo reale, unica concessione alla tradizione “accademica” la classificazione secondo il tipo di utilizzo. es. è inutile imparare come si copiano i files se non si sa come si visualizzano a schermo per capire il contenuto della directory in cui ci si trova e che nomi hanno!!!

Si ricorda sempre che i Unix e Linux sono sistemi “case sensitive”, ovvero che a differenza di altri sistemi, qui le maiuscole e le minuscole sono due cose assolutamente distinte: infatti mio_file è diverso da Mio_file o da mio_File… ergo fate attenzione!!! prima di pensare che questo non funziona o quello non va, guardate con attenzione a quanto digitato.

Unix/Linux Command Reference .com
Gestione dei Files Informazioni di Sistema
ls Lista la directory date Visualizza la data e l’ora corrente
ls -al Lista la directory includendo i file nascosti cal Visualizza il corrente mese del calendario
cd nome_directory Cambia directory uptime mostra l’uptime corrente
cd Si sposta sulla directory home w Mostra chi è online
pwd Mostra la directory corrente whoiam Mostra come si è loggati
mkdir nome_directory Crea una directory finger utente Visualizza informazioni relative al utente
rm nome_file Cancella un file uname -a Informazioni sul Kernel
rm -r nome_directory Rimuove una directory cat /proc/cpuinfo Mostra info sulla CPU
rm -f nome_file Forza la rimozione del file cat /proc/meminfo Mostra iinfo sulla Memoria
rm -rf nome_directory Forza la rimozione della directory ** man nome_comando Mostra la pagina del manuale di nome_comando
cp nome_file1 nome_file2 Duplica nome_file1 chiamando il nuovo nome_file2  df Mostra l’utilizzo dei dischi
cp -r nome_directory1 nome_directory2 Duplica la nome_directory1 in nome_directory2 e se non esiste al crea (-r) du Mostra  lo spazio usato dalle directory
mv nome_file1 nome_file2 Rinomina nome_file1 in nome_file2 free Mostra l’uso di memoria, swap e cache
mv nome_file nome_directory Muove nome_file in nome_directory whereis nome_applicazione Mostra possibili locazioni di nome_applicazione
ln -s nome_file nome_link Crea link simbolico al file which nome_applicazione Mostra quale nome_applicazione verrà eseguita di base
touch nome_file Crea nome_file (utile per creare file di lunghezza 0) history Mostra elenco comandi digitati
touch -??? nome_file Modifica i parametri di accesso o gli orari di nome_file passwd Cambia la password utente
cat > nome_file Metto lo standard input in nome_file mesg Permette o nega messaggi
cat nome_file Visualizza il contenuto di nome_file lpr nome_file Stampa nome_file
more/les nome_file Visualizza nome_file fermandosi ad ogni schermata lpq Mostra coda di stampa
head nome_file Mostra o stampa prime 10 righe di nome_file chfn Modifica Informazioni Riconoscimento Utente
tail nome_file Mostra o stampa ultime 10 righe di nome_file Gestione dei processi
tail -f nome_file Mostra o stampa nome_file man mano che cresce partendo dalle ultime 10 righe ps Mostra i processi attivi al momento
cmp nome_file1 nome_file2 Compara nome_file1 con nome_file2 top Mostra tutti i processi in funzione
pr ???? produce una schermata stampabile di uno o più file kill pid Chiude un processo utilizzando il pid
wc nome_file ??? Mostra il conteggio delle righe, parole e caratteri in nome_file killall nome_processo Chiude tutti i processi chiamati nome_processo **
cut ??? Rimuove colonne o campi dai files specificati bg Elenca i lavori fermati o in background, riavvia un processo fermato in background
sort ???? riordina, unisce o controlla seguenzialmente file di testo fg Porta il lavoro più recente in primopiano
split ??? Suddivide un file in parti fg numero_lavoro Porta il lavoro identificato con numero_lavoro in primopiano
diff nome_file1 nome_file2 Mostra linea per linea le differenze tra i 2 files di testo at/batch Postpone l’esecuzione di comandi
join nome_file1 nome_file2 Unisce i 2 files cron Assegna data e ora specifica di esecuzione di un comando
nl ???? Inserisce linee in un file crontab Modifica la tabella cron usata dall’utente
paste ??? Unisce alcune linee in molti file o sottoseguenza linee in un file nice Invoca un comando con un priorità rinviata
tr traduce caratteri da una stringa ad un altra Permessi File e Gruppi
uniq riporta o estrae doppioni di linee in un file chmod terzina nome_file Cambia i permessi  di nome_file secondo la terzina
jot stampa dati seguenziali o casuali chgrp cambia l’identificativo del gruppo del file/directory
od copia/stampa ogni file sequenzialmente secondo argomenti specificati es. HEX (usato anche con diff )  chown Cambia la proprietà del file
Ricerche  groups mostra i membri del gruppo
grep criteri nomi_file Cerca secondo i criteri nei nomi_file SSH e Copia Sicura di File
grep -r criteri nome_directory Cerca secondo i criteri ricorsivamente in nome_directory scp copia file tra gli hosts in una rete
comando | grep criteri Cerca secondo i criteri nel risultato di comando sftp un programma di trasferimento file interattivo
locate nome_file Cerca tutte le istanze di nome_file ssh nome_utente@host Si connette all’host come nome_utente
find nome_file Cerca tutte le istanze di nome_file (unix) ssh -p porta nome_utente@host Si connette all’host attraverso la porta specifica come nome_utente
xargs costruisce una lista di argomenti ed invoca le utility ssh-copy-id nome_utente@host Aggiunge la key all’host per nome_utente per l’abilitare il keyed o il login senza password
Compressione Controllo Versione
tar cf nome_file.tar elenco_files crea un file chiamato nome_file.tar contenente i file dell’elenco_files  cvs
tar xf nome_file.tar estrae i file da nome_file.tar  svn
tar czf nome_file.tar.gz elenco_file Crea un file tipo tar con compressione Gzip  rcs
tar xzf nome_file.tar.gz Estrae i file dal tar utilizzando Gzip Compilazione e Debugging
tar cjf nome_file.tar.bz2 Crea un file tipo tar con compressione Bzip2 ddd
tar xjf nome_file.tar.bz2 Estrae i file dal tar utilizzando Bzip2 gcc
gzip nome_file comprime nome_file e lo rinomina in nome_file.gz g++
gzip -d nome_file.gz decomprime nome_file.gz e lo rinomina in nome_file gdb
gunzip nome_file.gz decomprime nome_file.gz e lo rinomina in nome_file gmake
unzip nome_file.zip decomprime nome_file.zip e lo rinomina in nome_file
Installazione da sorgente make
./configure xxgdb
make Strumenti utilizzo generico
su make install
dpkg -i pkg.deb Installa pacchetti Debian
rpm -Uvh pkg.rpm Installa pacchetti RPM
alien converte RPM in Deb
converte Deb in RPM
Gestione Rete
ping host pinga l’host e mostra risultati
whois domain trova le info whois per il dominio
dig domain trova le info DNS per il dominio
dig -x host Esegui il reverse lookup per il dominio
wget file download file
wget -c file Riprende un download interrotto
Scorciatoie
CTRL+C Blocca il comando corrente
CTRL+Z Ferma il comando in esecuzione fg o bg per riattivarlo
CTRL+D Logout dalla sessione corrente
CTRL+W Cancella una parola nella linea corrente
CTRL+U Cancella intera linea
CTRL+R riscrive un comando recente
exit Esce dalla sessione corrente
TAB Completa la parola
!! Ripete l’ultimo comando
!com
!num
^pre1^pre2
!:gs/pre1/pre2

aggiungere Espressioni regolari
L’elenco qui riportato è da considerarsi indicativo con i comandi solitamente più utilizzati, come punto di partenza per approfondire l’apprendimento o come scheda di utilizzo veloce. Nessuno vieta di integrarla per esigenze specifiche con l’aggiunta di altri comandi oppure opzioni ad hoc. Tutti i singoli comandi sono stati testati su una installazione pulita di Ubuntu 10.04 LTS montata in virtuale su un altro linux.

da analizzare ed inserire
Comandi Extra e Specifici

sudo
runlevel
diskquota (solo CSCF/MFCF)
absolute (solo CSCF/MFCF)
absolute ‘which app’ (solo CSCF/MFCF)
hostselect
update-rc.d
apt-get
fsck
halt
man
shutdown
telnet
su
sudo
| more

mount / mount -a / umount

comandi da terminale tipo vt100
roff / nroff / troff / ac /sa /accton / mail / learn / tbl

Cos’è: Glossario e simboli usati per questa pagina

uptime
** Attenzione comando pericoloso rischio di perdita di dati usare cautela
runlevel
differenza tra Link simbolico e hard link
host
pid
key

fonti: http://files.fosswire.com/2007/08/fwunixref.pdf
http://www.student.cs.uwaterloo.ca/~isg/res/unix/UNIX_ReferenceSheet.pdf