Uso del terminale in ambiente UNIX - dip. di Fisica

Pagina creata da Lucia Castagna
 
CONTINUA A LEGGERE
Uso del terminale in ambiente UNIX - dip. di Fisica
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 - dip. di Fisica
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 - dip. di Fisica
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 - dip. di Fisica
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 - dip. di Fisica
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
Uso del terminale in ambiente UNIX - dip. di Fisica
Creare / rimuovere directory
                               Per creare una directory
                               si usa il comando mkdir
Uso del terminale in ambiente UNIX - dip. di Fisica
Creare / rimuovere directory
                               Per rimuovere una
                               directory si usa il
                               comando rmdir
Uso del terminale in ambiente UNIX - dip. di Fisica
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
Uso del terminale in ambiente UNIX - dip. di Fisica
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
Uso del terminale in ambiente UNIX - dip. di Fisica
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