Uso del terminale in ambiente UNIX - dip. di Fisica
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Uso del terminale in ambiente UNIX Non sempre è disponibile un’interfaccia grafica sui computer su cui si lavora In questo caso l’interazione con il calcolatore avviene attraverso l’interfaccia a riga di comando I comandi sono digitati in un ambiente chiamato shell Esistono molti tipi di shell in UNIX, ma una delle più diffuse è la BASH
Uso del terminale in ambiente UNIX Per sapere in quale directory ci si trova quando si apre un terminale, si digita il comando pwd (present working directory) Nell’esempio l’utente è nella sua home, la cartella principale in cui sono contenuti documenti (Documents), i file scaricati (Downloads) e le pagine web (public_html)
Uso del terminale in ambiente UNIX Il comando ls consente di ottenere una lista di cartelle e file contenuti in una directory. Con ls -l si ottiene una lista più dettagliata: In questo caso per ogni file o directory sono riportati i permessi. Quindi è riportato il nome del proprietario del file o della directory, a cui segue quello del gruppo
Uso del terminale in ambiente UNIX Quindi sono riportate le dimensioni dei file o delle cartelle e la data e creazione dell’ultima modifica L’ultima colonna è quella relativa al nome del file o della directory.
Uso del terminale in ambiente UNIX Con il comando ls -la si visualizzano ulteriori file o directory, come ad esempio, quelli relativi a configurazione di programmi, usualmente nascosti
Muoversi tra le directory Per spostarsi all’interno delle directory, si usa il comando cd La sintassi generale è cd nome della directory da raggiungere Ad esempio per andare in /usr/local dalla propria home, si digita: cd /usr/local Con cd .. Si torna indietro di una directory, con cd – si torna nella directory precedentemente visitata, mentre con cd ~ si torna nella propria home
Gestione dei file • Alcuni dei comandi più usati per gestire i file in ambiente UNIX sono: • touch = consente di creare un file vuoto di nome • rm = rimuove file e directory • rm = rimuove i file con come e • rm * = rimuove tutti i file contenuti in una directory • rm test?.txt = rimuove tutti i file con nome test seguito da un carattere e estensione txt • cp = copia file e directory • cp / = copia il file nella cartella • cp * / = copia tutti i file di una directory nella cartella • mv = muove o rinomina file e directory • mv = muove (rinomina) il file in
I permessi: chmod • I permessi controllano quali azioni gli utenti possono eseguire su file e cartelle • Le azioni permesse sono di tre tipologie: 1. Lettura (r) 2. Scrittura (w) 3. Esecuzione (x) • I permessi sono applicati in tre distinti livelli: utente, gruppo, mondo • Il comando chmod consente di intervenire sui permessi • Con u, g, o (o a = all = ugo) si determina il livello su cui si intende intervenire • Con + o - si attiva o disattiva un permesso • Con r, w, x si attribuisce il permesso di lettura, scrittura o esecuzione
I permessi: chmod Il programma test.x esegue delle operazioni di stampa a video Impartendo il comando: chmod u-x test.x Viene tolto il permesso di esecuzione e il sistema mostra il messaggio: Permission denied
Editor di testi Emacs è uno degli editor maggiormente impiegati in ambiente UNIX Esistono versioni anche per Windows e Mac OS X Ampiamente impiegato in programmazione Consente ad esempio l’indentazione, la colorazione delle parole chiave e la compilazione per tutta una serie di linguaggi
Editor di testi Geany è un editor di file testo molto leggero È uno degli editor di default sui Raspberry Pi Consente tutta una serie di operazioni utili in programmazione (indentazione, gestione dei cicli, compilazione) È disponibile anche per Windows È open source e rilasciato con licenza GPL
Editor di testi… vi vi è l’editor più diffuso in ambienti UNIX È potente, ma non è facile o amichevole vi opera in due modalità: comando e editing Nella modalità comando si può ad esempio cancellare caratteri, cancellare linee, salvare Nella modalità editing si può invece intervenire direttamente sul testo (inserire, rimuovere, ecc.)
Editor di testi… vi Alcuni dei comandi principali sono: x = cancella un carattere dd = cancella una riga :w = salva il file :q = esce :wq = salva ed esce i = attiva la modalità editing esc = attiva la modalità comando
Redirezionare e appendere file L’output a video dei programmi può essere redirezionato in file di testo con > Invece con >> si appende l’output a video ad un file di testo già esistente (se il file non esiste viene creato) Il comando grep permette di estrarre il contenuto desiderato da un file di testo Il comando | (pipe) trasforma l’output a video di un programma in input per un altro
I comandi date, cat e diff Digitanto ./test.x > test1.txt e ./test.x > test2.txt si cerano i due file test1.txt e test2.txt Con il comando date >> test1.txt e date >> test2.txt si appende la data e l’ora nei due file
I comandi date, cat e diff Con il comando cat si concatenano i due file
I comandi date, cat e diff
I comandi date, cat e diff Con il comando diff si evidenziano le differenze tra i due file test1.txt e test2.txt Avendo usato lo stesso programma per generare i due file, l’unica differenza è la data (o meglio l’ora) nell’ultima riga
Host, head e tail Il comando host fornisce l’indirizzo IP e altre informazioni richieste per un computer in rete I comandi head e tail consentono di leggere rispettivamente le prime e le ultime righe di un file di testo Il numero di righe può essere specificato con -numero_righe
Accesso remoto: ssh, scp e sftp (Linux) Il collegamento ad un computer remoto avviene tramite il protocollo ssh Le informazioni tra computer locale e remoto sono trasmesse in forma criptata Il comando per il collegamento è ssh a cui seguono il nome utente e quello della macchina remota
Accesso remoto: ssh, scp e sftp (Linux) Il login avviene inserendo la password sulla macchina remota Sul server di fisica, la user e la password sono quelle usate a lezione
Accesso remoto: ssh, scp e sftp (Linux) Al momento del login si è accolti dal messaggio di benvenuto della distribuzione Debian GNU/Linux installata sulla macchina remota
Accesso remoto: ssh, scp e sftp (Linux) Digitando il comando gnuplot si ottiene un ambiente analogo a quello osservato nell’esercitazione 4 Il programma viene eseguito sul computer remoto, mentre i comandi sono digitati su quello locale
Accesso remoto: ssh, scp e sftp (Linux) L’output grafico è visualizzato sul computer locale. Poiché l’output deve essere trasferito dalla macchina remota a quella locale, è possibile un certo ritardo dovuto alla velocità della connessione su cui si opera
Accesso remoto: ssh, scp e sftp (Linux) Salvando il grafico in un formato (ad esempio, png) è possibile trasferirlo sulla macchina locale usando il comando scp Il comando scp esegue una copia sul computer locale La sintassi è analoga a quella ssh, eccetto nella parte finale in cui è indicato il file che si intende trasferire e la directory in cui si trova
Accesso remoto: ssh, scp e sftp (Linux) È possibile anche trasferire file dal computer locale a quello remoto. La sintassi è analoga a quella vista in precedenza, ma in questo caso prima si digita il nome del file che si vuole trasferire, seguito dall’utente, la macchina e la directory in cui si deve copiare.
Accesso remoto: ssh, scp e sftp (Linux) Esistono programmi che consentono di eseguire queste operazioni graficamente Uno di questi programmi è FileZilla FileZilla è un programma open source rilasciato con licenza GPL È multipiattaforma: esistono versioni per Windows, Linux e Mac OS X
Accesso remoto: ssh, scp e sftp (Windows) Per collegarsi ad un sistema UNIX si può impiegare il programma putty Per visualizzare output grafici si deve prima aprire un server X Un server X disponibile per Windows è VcXsrv
Accesso remoto: ssh, scp e sftp (Windows) Anche in questo caso il collegamento avviene aprendo un terminale, tramite il protocollo ssh Il login avviene inserendo username e password
Accesso remoto: ssh, scp e sftp (Windows) L’ambiente è analogo a quello che si ha collegandosi da Linux La shell che si presenta è quella impostata sulla macchina remota Il messaggio di benvenuto è quello offerto dalla distribuzione Debian, installata sulla macchina remota
Accesso remoto: ssh, scp e sftp (Windows) Aprendo il programma gnuplot è possibile impartire i comandi sulla macchina remota. L’output grafico è invece visualizzato sulla macchina locale La velocità di trasferimento dei dati dipende dalla connessione su cui è eseguito il collegamento
Il terminale in Windows Per eseguire il terminale in Windows si deve digitare cmd nello spazio messo a disposizione del programma esegui Il programma esegui si trova nella cartella Sistema Windows nell’elenco delle App.
Il terminale in Windows La sintassi dei comandi è leggermente diversa. Ad esempio il comando ls in ambiente UNIX è sostituito da dir
Puoi anche leggere