Buongiorno,
Vediamo una breve guida sui comandi principali su come dovremmo usare CYGWIN, comandi in tutto e per tutto simili sotto sistemi LINUX e APPLE.
Naturalmente non sono indispensabili se vi accontentate di utilizzare le sole applicazioni standard proposte e non avete voglia di sfruttare appieno il vostro dispositivo. Ma se siete curiosi e volete sperimentare, seguite questa breve guida.
E’ assolutamente sconsigliato, nonché frequente causa di problemi e di fallimento dell’installazione e dell’utilizzo del compilatore:
- modificare i parametri proposti dal programma di installazione
- installare il compilatore in una cartella diversa da
C:\cygwin
- creare i file C e compilare i programmi nelle cartelle dove è stato installato il compilatore: se l’installazione è stata eseguita correttamente, il comando di compilazione (“
gcc
“) deve funzionare in qualsiasi cartella.
Usare Cygwin: la shell
Per lavorare in Cygwin è necessario aprire una shell. Se avete creato l’icona sul desktop, cliccate sull’icona Cygwin. E’ possibile aprire una shell anche da una finestra DOS. E’ sufficiente spostarsi nella cartella Windows scelta come cartella “root” di Cygwin in fase di installazione ( C:\cygwin, nel nostro caso ) e digitare:
Cygwin.bat
Da questo momento, vi troverete in un ambiente Unix-like. La shell attende solo i vostri input, cioè i vostri comandi. La shell vi presenta sempre, a video, il nome del vostro account, seguito da una chiocciola, seguita dal nome del sistema:
Utente1@Computer1
Il tutto, seguito dal percorso della directory in cui vi trovate. Appena entrati, vi troverete sempre nella cartella:
~
dove il simbolo ~ indica la vostra cartella utente:
Utente1@Computer1 ~
I sistemi GNU/Linux creano una directory per ogni utente registrato nel sistema. Se il vostro nome utente è Pippo, il simbolo ~ rappresenta il percorso GNU/Linux
/home/Pippo
Visto che Cygwin non è un vero sistema operativo, Cygwin utilizza le informazioni del sistema operativo sottostante: Windows. Quindi, il vostro nome utente sarà quello utilizzato per l’accesso al sistema Windows. Stesso discorso vale per i permessi legati al nome utente: Cygwin utilizzerà le impostazioni di Windows. Se accedete al vostro sistema Windows senza aver mai creato un account utente Cygwin userà il nome utilizzato dai sistemi Windows per l’account di default: User. Anche in questo caso, il sistema Cygwin assegna una directory di lavoro:
/home/User
Ricordate che il sistema Cygwin non è un reale Sistema Operativo e che si appoggi completamente sul sistema sottostante, Windows, è un punto essenziale da ricordare, soprattutto per tutti gli utenti che, abituati all’ambiente reale GNU/Linux, si aspettano un identico ambiente in Cygwin. Proviamo alcuni comandi. Il comando cd, nei sistemi GNU, permette di cambiare directory, mentre il comando cat stampa a video il contenuto di un file, nel nostro caso, il file passwd.
cd /etc
cat passwd
Se volete conoscere il vostro nome utente, in ambiente Cygwin, digitate, nella shell, il comando:
whoami
Per sapere di quali gruppi siete membri, eseguite il comando:
groups
La directory “root” ( radice ) di un sistema GNU è:
/
In Cygwin, questa directory, che conterrà tutte le directory ed i file Cygwin, corrisponde, solitamente, alla directory Windows:
C:\cygwin
Ecco una breve tabella con tutti i comandi più frequenti che potete utilizzare in CYGWIN. Provateli e sperimentate liberamente, solitamente non creano alcun danno.
awk/nawk [opzioni] file |
esamina schemi in un file e processa i risultati |
cat [opzioni] file |
concatena (lista) un file |
cd [directory] |
cambia directory |
chgrp [opzioni] gruppo file |
cambia il gruppo di appartenenza di un file |
chmod [opzioni] file |
cambia i permessi di accesso a file o directory |
chown [opzioni] proprietario file |
cambia il proprietario di un file; può essere solo fatto dal super-user |
chsh (passwd -e/-s) username login_shell |
cambia la shell di login dell’utente (spesso solamente attraverso il super-user) |
cmp [opzioni] file1 file2 |
confronta due file e mostra dove avvengono le differenze (file di testo e file binari) |
compress [opzioni] file |
comprime il file specificato e lo salva con l’estensione .Z |
cp [opzioni] file1 file2 |
copia file1 in file2 ; file2 non dovrebbe già esistere. Questo comando crea o sovrascrive file2 |
cut (opzioni) [file] |
taglia specifici campi/caratteri dalle linee del file specificato |
date [opzioni] |
riporta data e ora corrente |
dd [if=infile] [of=outfile] [operando=valore] |
copia un file, converte tra ASCII e EBCDIC o scambia l’ordine di byte, come specificato |
diff [opzioni] file1 file2 |
confronta i due file e visualizza le differenze (solamente file di testo) |
df [opzioni] [risorsa] |
riporta il sommario dei blocchi del disco e degli inode liberi e usati |
du [opzioni] [directory o file] |
riporta lo spazio di disco usato |
echo [stringa di testo] |
riporta la stringa di testo specificata in standard output |
ed o ex [opzioni] file |
editor a linea di comando |
emacs [opzioni] file |
editor a schermo-pieno |
expr argomenti |
valuta gli argomenti. Usato per l’aritmetica, ecc. in shell |
file [opzioni] file |
classifica il tipo di file |
find directory [opzioni] [azioni] |
cerca file basandosi sul tipo o su uno schema |
finger [opzioni] user[@nomehost] |
riporta informazioni circa gli utenti di macchine locali e remote |
ftp [opzioni] host |
trasferisce file utilizzando il protocollo di trasferimento di file (FTP) |
grep [opzioni] 'stringa di ricerca' argomento |
ricerca nell’argomento (in questo caso probabilmente un file) tutte le occorrenze della stringa di ricerca specificata e le visualizza |
egrep [opzioni] 'stringa di ricerca' argomento |
|
fgrep [opzioni] 'stringa di ricerca' argomento |
|
gzip [opzioni] file |
comprime o decomprime un file. I file compressi vengo memorizzati con l’estensione .gz |
gunzip [opzioni] file |
|
zcat [opzioni] file |
|
head [-numero] file |
mostra le prime 10 (o numero di) linee di un file |
hostname |
mostra o setta (solamente super-user) il nome della macchina attuale |
kill [opzioni] [-SEGNALE] [pid#] [%job] |
manda un segnale al processo specificato dal numero di processo id (pid# ) o dal numero di controllo del job (%n ). Il segnale di default termina il processo |
ln [opzioni] sorgente destinazione |
crea un collegamento di nome destinazione a sorgente |
lpq [opzioni] |
mostra lo stato dei job di stampa |
lpstat [opzioni] |
|
lpr [opzioni] file |
stampa sulla stampante specificata |
lp [opzioni] file |
|
lprm [opzioni] |
rimuove un job di stampa dalla coda di stampa |
cancel [opzioni] |
|
ls [opzioni] [directory o file] |
elenca il contenuto della directory specificata o i permessi del file specificato |
mail [opzioni] [user] |
semplice utility per la posta elettronica disponibile su un sistema Unix. Si digita un punto come primo carattere su una nuova linea per trasmettere il messaggio, un punto interrogativo per richiamare l’help |
mailx [opzioni] [user] |
|
Mail [opzioni] [user] |
|
man [opzioni] comando |
mostra la pagina di manuale (man) del comando specificato |
mkdir [opzioni] directory |
crea una directory |
more [opzioni] file |
impaginatore di un file testuale |
less [opzioni] file |
|
pg [opzioni] file |
|
mv [opzioni] file1 file2 |
muove file1 in file2 |
od [opzioni] file |
dump su un file binario, in ottale, in ASCII, in esadecimale, in decimale o in modalità carattere. |
passwd [opzioni] |
setta o modifica la propria password |
paste [opzioni] file |
incolla campi nelle linee del file specificato |
pr [opzioni] file |
filtra il file e lo stampa su un terminale |
ps [opzioni] |
mostra lo stato dei processi attivi |
pwd |
stampa la directory di lavoro (corrente) |
rcp [opzioni] nomehost |
copia file in remoto dalla macchina corrente in un’altra macchina |
rlogin [opzioni] nomehost |
effettua il login in remoto su un’altra macchina |
rm [opzioni] file |
rimuove (elimina) un file o una directory (-r elimina ricorsivamente la directory ed il suo contenuto) (-i chiede conferma prima di eliminare i file) |
rmdir [opzioni] directory |
rimuove una directory |
rsh [opzioni] nomehost |
shell remota da eseguire su un’altra macchina |
script file |
memorizza ogni cosa che appare sullo schermo in un file fino a quando si esegue exit |
sed [opzioni] file |
editor di flusso per editare file da uno script o da linea di comando |
sort [opzioni] file |
ordina le linee del file specificato basandosi sulle opzioni scelte |
source file |
legge i comandi dal file specificato e li esegue nella shell corrente. source per la shell C, . per la shell Bourne |
. file |
|
strings [opzioni] file |
riporta sequenze di 4 o più caratteri stampabili terminanti in <NL> o <NULL>. Generalmente viene usato per ricercare in file binari stringhe ASCII |
stty [opzioni] |
setta o visualizza le opzioni del terminale di controllo |
tail [opzioni] file |
mostra le ultime linee (o parte) di un file |
tar [opzioni] [file] |
archivio a nastro–riferirsi alle pagine man per dettagli su come creare, elencare ed estrarre file da un archivio. I file tar possono essere memorizzati su disco o su nastro. |
tee [opzioni] file |
copia standard output in uno o più file |
telnet [host [porta]] |
comunica con un altro host usando il protocollo telnet |
touch [opzioni] [data/ora] file |
crea un file vuoto o aggiorna la data/ora di accesso di un file esistente |
tr [opzioni] stringa1 stringa2 |
traduce i caratteri di stringa1 provenienti da standard input in quelli di stringa2 per standard output |
uncompress file.Z |
decomprime il file specificato e lo salva in un file |
uniq [opzioni] file |
rimuove le linee ripetute in un file |
uudecode [file] |
decodifica un file codificato con uuencode , riportandolo al file originale |
uuencode [file] nuovo_nome |
codifica un file binario in codice ASCII 7-bit; utile quando lo si trasmette via email, per essere poi decodificato come nuovo_nome alla destinazione |
vi [opzioni] file |
editor visuale, a pieno schermo |
wc [opzioni] [file] |
mostra il numero di parole (o di caratteri o di linee) del file specificato |
whereis [opzioni] comando |
riporta le locazioni del binario, del sorgente e della pagina man per il comando specificato |
which comando |
riporta il percorso del comando o l’alias di shell in uso |
who o w |
riporta chi è «loggato» e quali processi ha in esecuzione |
zcat file.Z |
concatena (lista) il file non compresso a video, lasciando il file compresso su disco |