Guida all'utilizzo del terminale (bash)Mac Os X e Linux

« Older   Newer »
 
  Share  
.
  1.     +3   +1   -1
     
    .
    Avatar


    Group
    Mod
    Posts
    3,751
    Reputation
    +53
    Location
    bolzano/bozen

    Status
    Offline

    Guida al utilizzo del terminale


    Introduzione

    Vi scrivo qui questa guida riguardante ai terminali dei PC. Principalemnte dei sistemi UNIX e UNIX like, ma mi soffermerò anche un po' sul terminale (conosciuto come CMD o Prompt di comandi) di Windows.
    Inizio spiegando cos'è un terminale. Un terminale è un modo per interagire con il computer senza interfaccia grafica. Questo modo di utilizzo è ancora moderno e viene utilizzato nella configurazione di server / host di siti web con accesso ssh (Secure Shell). Oppure da programmatori per eseguire i compilatori (per esempio il GCC (GNU C Compiler) che è il compilatore GNU per il linguaggio "C".

    Lo scopo di questo topic è quello di rispondere alle seguenti domande.
    - Cos'è il terminale?
    - Come lo apro?
    - Come lo uso?
    - Quali sono i comandi?
    - Per cosa viene usato?
    - Dove posso ottenere ulteriori info?


    Indice


    1) Cos'è il terminale?
    2) Aprire il terminale.
    3) Utilizzo!
    4) Comandi utili e più usati.
    5) Dove posso informarmi?
    6) Saluto e fonte



    1) Cos'è il terminale?

    Il Terminale è un programma che permette di utilizare il computer, prima di neXt e Windows 3.1 era l'unico modo per utilizare un computer. Ancora oggi viene utilizzato per utilizzare più funzioni del pc o anche funzionalità nascoste o anche per comandare computer a distanza.

    PnhG7XA


    Linux e Mac Os X usano lo stesso linguaggio nel terminale, ovvero "bash"


    2) Aprire il terminale


    Mac Os X
    Metodo 1: Spotlight
    Questo è sicuramente il metodo più veloce, premendo sulla lente di ingrandimento (oppure prementi ctrl + spazio sulla tastiera) vi si aprirà un campo di testo. Digitate "terminale" e subito sotto dovrebbe apparire l'applicazione.

    DhPEKPO


    Metodo 2: Launchpad
    Aprendo launchpad (unendo 4 dita sul trackpad, oppure premendo il tasto "F4" senza il tasto "fn") si può vedere una cartella "utility" (In Mavericks rinominata "Altro") e in quella cartella troviamo il terminale.

    EEAzbW0


    Linux
    Metodo 1: Esegui
    Premere Alt+F2 su tastiera e digitare console e premere poi invio.
    Metodo 2: Apps
    Andare nella schermata applicazioni (di solito in alto a sinistra) e digitare terminale

    axDPhth


    Windows
    Metodo 1: Esegui
    Premere tasto Win+R, nella finestra che si apre digitare "cmd".

    fQf4ugu


    Metodo 2: Start
    Andare su start > cliccare "tutti i programmi" > accessori > prompt dei comandi.


    3) Utilizzo!

    Ora che tutti avrete sicuramente aperto un terminale, vi insegno come navigare tra le cartelle, vedere il loro contenuto ecc...
    Ci sono due comandi chiave per la navigazione. Il primo è cd e il secondo è ls. Una volta che si digita il commando basta premere "invio" per eseguirlo. Ma prima vi dico qualche segreto per essere più veloci.

    Come si utilizza il tabulatore e a cosa servono le frecce sulla tastiera.
    Iniziamo con le frecce sulla tastiera.
    Premendo la freccia in su, si "reinseriscono" i vecchi comandi digitati. I vecchi comandi digitati sono visibili inserendo il commando "history".

    u3DD2BN

    Il numero sulla sinistra è il numero dei comandi in cronologia. Dove il numero più alto corrisponde al commando più recente.
    Il "magico" tabulatore.
    Il miracolo della tecnologia è il tabulatore. Se si digita una parte di un commando o di un percorso, con il tasto "tabulatore" (quello sopra il caps lock) il terminale cercherà di riempire il commando. Se invece non vi riempie nulla, premetelo due volte, così verranno visualizzate tutte le possibilità.

    Passando ai comandi, iniziamo con quello più semplice.
    LS: LS=List. Non fa altro che crearvi una lista dei file e delle cartelle della cartella nella quale siete. Su linux vi colorerà in modo differente i "link"(shortcut), directory e file. Con grande possibilità si coloreranno anche differentemente ogni file/cartella in base ai permessi.
    Per vedere anche i file nascosti possiamo aggiungere il parametro -a (ls -a), per vedere più informazioni sui file (come i permessi) possiamo aggiungere il parametro -l (ls -l), se vogliamo aggiungere entrambi i parametri possiamo fare: ls -al (a:all)(l:long)
    Ci sono alcune differenze con Windows, che invece del commando "ls" ha il commando "dir" (directory).

    Continuiamo con il commando CD e i PATH(percorsi)
    Digitando "cd" e premendo invio, si viene indirizzati alla cartella "HOME" (di solito la cartella con il vostro nome utente). Ma cd (Change Directory) serve appunto per cambiare cartella. Quindi se digitiamo "cd (percorso)" indicheremo il percorso nel quale vogliamo andare.
    Per definire il percorso vi devo spiegare il significato di .. , . , ~ , /
    .. : I due punti ( .. ) significano parent che sarebbe la cartella "superiore" se siamo nella cartella "/users/flexlex" con "cd .." ci ritroveremo in "/users/" (Per vedere la cartelle nella quale si è attualmente, digitate: pwd ( = Print Working Directory)).
    . :Un solo punto ( . ) significa "this", quindi è il percorso alla cartella nella quale ci si trova. Definire un percorso che prende come "punto di partenza" la cartella nella quale ci si trova, viene chiamato "relative path".
    ~ : La tilde significa "home", quindi per tornare alla cartella home possiamo digitare anche "cd ~".
    / : Lo slash viene usato per indicare la cartella di ROOT (ovvero la radice, la cartella senza "sopra cartella", su Windows si chiama: C:\). Lo Slash viene usato anche per continuare il percorso. Per esempio se dalla cartella "/" vogliamo arrivare alla cartella "flexlex" posso fare: cd "/users/flexlex".

    W1EhVNk


    Ci sono però delle differenze con Windows. Lo slash (/) viene sostituito da uno backslash (\) e non esiste il root (/) ma i dischi locali come "C:\" quindi per arrivare in /users/flexlex in Windows dovremmo digitare: cd C:\Users\flexlex


    4) Comandi utili e più usati


    sudo
    Significa "SuperUser Do", il super user può fare quello che vuole (spesso il super user viene chiamato anche "root") e può infrangere i permessi (spiegherò meglio cosa sono i permessi sul commando "chmod"). Resta il fatto che questo "prefisso" può dare al utente il massimo potere ad un commando. Per esempio per modificare un file protetto (come per esempio: passwd di linux) potremmo tranquillamente fare "sudo nano /etc/passwd" (Per chi non lo sappia nel file passwd una volta c'erano password criptate, oggi vi si trovano i permessi degli utenti) (spiegherò dopo cosa è "nano").
    È possibile dare a se stessi il massimo dei poteri, con il commando "sudo -i" (password del amministratore richiesta) ovvero SuperUser Do -i (I << inglese = io). Poi ogni commando eseguito non sarà limitato da permessi. Inutile dire che con sudo si possono arrecare gravissimi danni al PC. Sia a livello software che hardware. Siate MOOOOLTO cauti.

    rm / mv / cp
    cp, rm e mv (copy, remove e move) sono tre comandi molto simili. Corrispondo alle funzioni: copia / elimina e taglia. CP e MV richiedono due parametri.
    Parametro 1) File che si vuole spostare/copiare
    Parametro 2) Nuovo percorso e nome file.
    Per esempio: cp ~/Documenti/SkinSuperSegretaDelMaw.css ~/PornoDisgustosi/ViHoFregati_ElaSkinDelMaw.css
    Credo che non devo specificare la differenza tra "copia" e "taglia".
    Invece rm ha solo il parametro del file da cancellare. tipo: "rm ~/CompitiDiTedesco.doc"

    touch
    touch (tocca), crea un file oppure se già esistente cambia la data dell' "ultima modifica" a quella attuale (quindi NON soprascrive file già esistenti). Per esempio: "touch guidamawterminale.txt"

    nano/pico
    nano e pico sono due comandi uguali, entrambi richiamano un text editor (su windows (fino a 7) il commando era "edit", rimosso poi in Windows 8). Richiede un parametro, ovvero il nome del file. Per esempio: "nano filedamodificare.txt". Creerà automaticamente il file se non esiste, se esiste invece vi farà modificare i file già esistente. I comandi disponibili sono elencati sotto tipo: ^X (chiudi), ^O(salva), ecc... Non dovete digitare "^", ma quel simbolo significa tasto "ctrl" (oppure "strg" su tastiere tedesche), per esempio per chiudere dovremmo premere "ctrl + x" su tastiera.

    vim
    vim è un altro text editor, ma questo è molto più evoluto di nano, ma purtroppo anche molto più difficile da usare, visto che integra una console dei comandi propria. Per esempio il commando ":x" (in vim) significa per: chiudi e salva. ":X" (sempre in vim) significa "proteggi file da password". Per modificare il testo di un file bisogna premere "i" sulla tastiera. In fondo allo schermo vedremo una riga nera che recita: "INSERT". Ciò ci dice che possiamo scrivere. Per tornare ai comandi di VIM, basta premere il tasto "esc". Se siete in crisi, premete su tastiera ctrl+c (funziona sempre, control+c = cancel) che interrompe qualsiasi commando in esecuzione.

    echo
    Un commando base, restituisce quello che scrivete xD Esempio: echo "Ciao, sono bello". Scriverà nel terminale "ciao sono bello".

    read
    Vi permette di salvare variabili, per esempio "read r" farà inserire all'utente un valore che verrà salvato in "r". Per accedere a questa variabile si usa il dollaro. Provate a inserire questo nella console.

    CODICE
    echo "inserisci un valore per r";read r;echo "hai inserito \"$r\" come valore di \"r\"";

    Cosa significa \" ? Nulla, evita che bash riconosca l'apice come fine del testo :P
    Questo commando in Windows viene sostituito da "set VARIABILE".

    arp
    Adress resolution protocoll. È un protocollo, ma spesso molto utile per vedere quali dispositivi sono connessi alla rete di casa. Questo protocollo è capace di convertire indirizzi ip (di dispositivi locali) nei loro indirizzi MAC (Media Access Control) delle schede di rete. Vedete un esempio nella prima screenshot di questo articolo.

    ping
    Ping (facile da ricordarsi anche grazie a "ping pong") invia una richiesta ad un server con il protocollo icmp(Internet Control Message Protocol) al quale ogni server DEVE rispondere. Per esempio possiamo digitare "ping google.com" e sotto usciranno delle righe simile a questa.
    64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.070 ms
    "64 bytes" indica quanti bytes son stati inviati
    "127.0.0.1" è l' indirizzo-ip (internet protocol) del server che ho "pingato" (127.0.0.1 è un indirizzo turn back, quindi ho pingano il mio stesso PC).
    "icmp_seq" conta il numero della richiesta.
    "ttl" (time to live) indica quante stazioni può passare la nostra richiesta prima di "morire" (dopo con traceroute vedremo cosa sono le stazioni).
    "time" è il tempo impiegato per inviare la risposta. (Questo comando è comodo per verificare la connessione internet e vedere la velocità)

    traceroute
    "traccia il percorso"... Quando navighiamo inviamo un sacco di dati. Per esempio se i server di Facebook sono in Francia, possiamo vedere che giro fanno i nostri dati per arrivare ai server di Facebook. Ogni passo è numerato e se non è composto da "* * *" significa che i nostri dati son passati attraverso una stazione (i vari snodi di internet). I numeri sulla sinistra indicano quanti punti vitali del ttl sono andati persi.
    Sotto spoiler il percorso per facebook.com:
    CODICE
    traceroute facebook.com
    traceroute to facebook.com (173.252.110.27), 64 hops max, 52 byte packets
    1  vodafone (192.168.1.1)  1.434 ms  2.352 ms  1.228 ms
    2  * * *
    3  * * *
    4  83.224.40.221 (83.224.40.221)  56.835 ms  55.823 ms  56.513 ms
    5  83.224.40.197 (83.224.40.197)  52.881 ms  54.314 ms  52.890 ms
    6  85.205.14.101 (85.205.14.101)  55.692 ms  61.583 ms  60.078 ms
    7  facebook.mix-it.net (217.29.66.131)  74.470 ms  66.788 ms  52.794 ms
    8  ae8.bb02.ams2.tfbnw.net (31.13.29.130)  81.995 ms  76.063 ms  77.143 ms
    9  xe-1-0-0.dr01.snc4.tfbnw.net (74.119.76.11)  77.914 ms
       ae7.bb02.lhr2.tfbnw.net (173.252.64.1)  116.395 ms
       xe-1-0-0.dr01.snc4.tfbnw.net (74.119.76.11)  80.690 ms
    10  be5.bb01.dca1.tfbnw.net (31.13.31.2)  188.997 ms
       be5.bb02.dca1.tfbnw.net (31.13.30.236)  171.220 ms
       ae6.bb01.lga1.tfbnw.net (204.15.23.17)  155.024 ms
    11  ae13.bb04.frc1.tfbnw.net (204.15.20.75)  175.028 ms
       ae9.bb02.frc1.tfbnw.net (31.13.31.235)  177.920 ms  175.599 ms
    12  ae40.dr01.frc1.tfbnw.net (31.13.27.67)  173.485 ms
       ae8.bb03.frc1.tfbnw.net (31.13.24.88)  178.157 ms
       ae1.dr03.frc1.tfbnw.net (31.13.27.76)  179.276 ms
    13  * * *
    14  * * *
    15  * * *
    16  * edge-star-shv-13-frc1.facebook.com (173.252.110.27)  1264.955 ms  176.015 ms

    Ben presto vedrete che arriviamo all'indirizzo frc1.tfbnw che penso stia per (france)(server 1).(TheFaceBookNetWork).

    say(mac)
    Questo commando fa letteralmente parlare il computer (solo su mac). Serve per creare bashscripts per non udenti, oltre che spaventare a morte Milla (ma sopratutto questo xD). È molto facile usarlo: say "ciao Milla, non spaventerti".

    halt
    Questo commando di emergenza, serve se per puro caso perdete il controllo del vostro PC. (ma serve anche per fare gli scherzi ai compagni di banco a scuola). Questo commando arresta, ferma e distrugge ogni processo più velocemente possibile. È un modo molto brusco per fermare il PC. Molto bastardo. Basta digitare "halt".

    chmod
    change mode, serve per cambiare i permessi di un file. È un numero a 3 cifre. Ogni cifra è una maschera dei permessi.
    Il massimo dei permessi in unix sono 777, il minimo dei permessi è 000.
    Per creare una maschera basta sommare i permessi.
    1 = permesso di eseguire
    2 = permesso di scrivere
    4 = permesso di leggere
    4+2+1 = 7 (massimo dei permessi).
    Però questi permessi vengono suddivisi in 3 "ambienti".
    1) proprietario
    2) gruppo
    3) utente
    Per esempio i permessi: 710 significano: 7(proprietario), quello che ha creato il file, può farci tutto. 1(Gruppo) Quelli che sono nello stesso gruppo del proprietario, possono eseguire il file (per esempio se è un file exe). 0 (Tutti gli altri) non possono farci niente.

    La sintassi è la seguente: chmod 710 nomefile.estensionefile.


    5) Dove posso informarmi?

    Il terminal Bash (o anche sh = shell) include un commando utilissimo. Si chiama "man" che sta per "manuale", che richiama le "manualpages". Se volete sapere di più sul funzionamento di un commando, come "nano" o "echo" (funziona con tutti i commandi) potete digitare: man (commando). Vi aprirà una schermata con le istruzioni del commando. Per chiudere la finestra con le istruzioni, potete premere "q". Durante i miei test mi hanno salvato il culo di brutto.


    6) Saluto e fonte

    Un saluto a tutti gli utenti del MangaAnimeWorld da parte mia, flexlex.
    Un saluto particolare a Rory che mi ucciderà se troverà eventuali errori xD
    Un saluto a Milla, alla quale ho fatto sudare i nani, lanciando cd. (Dovevamo modificare le impostazioni del server apache pre-installato su Mac. Quindi i commandi erano:sudo -i; cd /etc/apache2/; nano httpd.conf).

    Le fonti per questo articolo sono gli appunti della terza superiore, dove abbiamo imparato ad usare il terminale e i suoi vari commando.




    Questo articolo è stato scritto per essere compatibile con la funzione "Reader" di Safari e di Safari Mobile, con ottimizzazione per motori di ricerca.
     
    Top
    .
  2. .:Milla:.
        +1   -1
     
    .

    User deleted


    Non ho ancora letto tutto ma approvo l'operato :powah: però penso che in Off topic non vada bene XD Boh, per il momento teniamolo qui vah...
     
    Top
    .
  3.     +1   -1
     
    .
    Avatar


    Group
    Mod
    Posts
    3,751
    Reputation
    +53
    Location
    bolzano/bozen

    Status
    Offline
    Eh, non sapevo dove metterlo xD Non c'è una sezione "informatica" o "pc", quindi non ho trovato altro luogo xD
    Poi per le prossime guide (dopo che abbiamo finito il nostro lavoro) sarebbe comodo una sottosezione in "graphic zone" :)
     
    Top
    .
  4.     +1   -1
     
    .
    Avatar

    Senior Member

    Group
    Admin
    Posts
    12,556
    Reputation
    +140

    Status
    Offline
    Ma tu... Tu sei un geniaccio!
     
    Top
    .
  5. GoldenJ
        +1   -1
     
    .

    User deleted


    Bella guida, complimenti :sisi: !
     
    Top
    .
  6.     +1   +1   -1
     
    .
    Avatar


    Group
    Mod
    Posts
    3,751
    Reputation
    +53
    Location
    bolzano/bozen

    Status
    Offline
    Grazie ad entrambi :)
    In futuro scriverò altre guide :)
    Questa la ho scritta per ricevere principalmente critiche e consigli :)

    Ah, e per Rory me la sono riletta 3 volte :D
     
    Top
    .
  7.     +1   -1
     
    .
    Avatar

    Senior Member

    Group
    Admin
    Posts
    12,556
    Reputation
    +140

    Status
    Offline
    CITAZIONE (flexlex @ 5/1/2014, 18:22) 
    Grazie ad entrambi :)
    In futuro scriverò altre guide :)
    Questa la ho scritta per ricevere principalmente critiche e consigli :)

    Ah, e per Rory me la sono riletta 3 volte :D

    Se non le richiedi di tua spontanea volontà, al di fuori della sezione FF, io non vado a toccare la parte grammaticale. L'importante è che non mi si scriva in linguaggio sms. <3

    Ma grazie comunque per la rilettura. Sinceramente, sarà anche una faticaccia ma è meglio una guida fatta per bene e con i controfiocchi, che una improvvisata alla mannaggia.
     
    Top
    .
  8.     +1   -1
     
    .
    Avatar


    Group
    Mod
    Posts
    3,751
    Reputation
    +53
    Location
    bolzano/bozen

    Status
    Offline
    Sempre della serie "sbagliatemi tutto! tranne i fan-fic" xD
     
    Top
    .
  9. .:Milla:.
        +1   -1
     
    .

    User deleted


    CITAZIONE
    Un saluto a Milla, alla quale ho fatto sudare i nani, lanciando cd.

    Per chi in tagboard pensava avessimo fumato chissà che cosa :asd:
     
    Top
    .
8 replies since 5/1/2014, 00:06   82 views
  Share  
.
Top