Corso Linux base: primo incontro

Alessandro Pasotti (apasotti@gmail.com)

License: Creative Commons Attribution - Share Alike 3.0

images/CC_by-nc-sa.png

Sommario

images/linux.jpg
  1. hardware
  2. software
  3. concetti base
  4. cos'è GNU/Linux
  5. le licenze software
  6. le distribuzioni
  7. installazione
  8. avvio del sistema
  9. utenti e permessi
  10. ambienti grafici
  11. la shell
  12. i programmi
  13. avviare i programmi

Hardware

images/kernel.svg

Software

images/swstack.png

Concetti base

images/bit-byte-word.jpg

Architetture CPU (x86 (32 bit), x86_64 (64bit), ARM ecc.)

GNU/Linux

Storia e concetti di base (presentazione LD)

Ubiquo:

Le distribuzioni

Insiemi coerenti di pacchetti software pre-compilati, pronti all'uso.

Principali famiglie:

Le distribuzioni

images/distrolinux.jpeg

Criteri per la scelta:

Ubuntu

Versioni

Installazione

Avvio del sistema

images/lboot.png

Ambiente grafico

Concetti importanti

Filesystem

images/tree2.png

Percorso: /home/mthomas/class_stuff/bar

Il percorso di un file equivale all'"indirizzo" per trovare il file.

Organizzazione del filesystem

Principali directory:

Directory speciali:

Mount

Tutte le periferiche di memorizzazione vengono montate nel filesystem: cioè vengono integrate nell'albero delle directory e sono rese accessibili come dei comuni file.

Il comando mount permette di vedere ciò che è già montato e di montare altri dispositivi.

Esempio:

ale@darkstar ~: mount
/dev/sda1 on / type ext4 (rw,noatime,errors=remount-ro)

Utenti

Login/logout

Tipologie di utenti

I permessi dei file

Ciascun file (o directory) appartiene ad un utente e ad un gruppo. Le tre operazioni sui file sono:

I permessi associati al file determinano quale operazione possono fare:

Tutti (A)ll : scorciatoia che comprende i tre citati sopra

Permessi 2

images/permessi2.png

Comando per impostare i permessi di un file:

$ chmod u+rw nome_file

Permessi 3

images/rwx.png

I permessi in formato numerico:

$ chmod 664 nome_file
$ ls -l nome_file
-rw-r--r-- 1 ale ale 0 nov 15 11:04 nome_file

La shell

La shell bash

I comandi

La logica dei mattoncini: tanti programmi semplici ma altamente specializzati che fanno una sola cosa ma molto bene. Il comportamento è modificabile tramite parametri e opzioni.

Collegamento dei comandi con pipe (tubature) per creare catene complesse.

$ ls | grep D
Desktop
Documenti

Shell primi passi

Shell autocompletamento

La pressione del tasto TAB provoca il completamento del comando e/o del percorso o la stampa dell'elenco dei comandi e dei percorsi che cominciano con i caratteri già digitati.

$ mod (TAB)
modem-manager  modinfo  modprobe
$ ls Do (TAB)
Documenti/

Storia dei comandi e spostamenti

La shell permette di scorrere la lista dei comandi dati in precedenza usando le frecce in su e in giù. La storia dei comandi è accessibile come lista tramite history e i singoli comandi possono essere richiamati premettendo un punto esclamativo al numero del comando.

Sulla riga di comando possiamo usare (tra l'altro):

Pagine man e aiuto sui comandi

Pagine di manuale e help per i comandi:

$ bash --help
$ man bash
$ ls  --help
$ man ls

Muoversi nel filesystem

Per muoversi nel filesystem si usa il comando cd (change directory) Senza parametri, ci porta alla nostra directory home Il carattere ~ (tilde) è un alias da usare nei percorsi, indica la nostra directory home

$ cd
$ pwd
/home/ale
$ cd Do (TAB) cumenti/
$ pwd
/home/ale/Documenti
$ cd /

Visualizzare l'elenco dei file/directory

Il comando ls (list) mostra l'elenco dei file e delle directory contenuti nella directory corrente (o in quella specificata)

$ ls
Visura.pdf
....
$ ls -l
-rw-r--r--  1 ale ale  150577 ago  1 13:42 Visura.pdf
....
$ ls Do (TAB) cumenti/
....
$ ls /
....
$ ls ..
....

Esaminare un file

Il comando file ci dice qualcosa sul contenuto del file. Il comando cat mostra a terminale il contenuto del file (da usare solo con file di testo) I comandi more e less mostrano a terminale il contenuto del file (da usare solo con file di testo), con funzioni di paginazione e ricerca.

$ file Do (TAB)/Vi (TAB) sura.pdf
Documenti/Visura.pdf: PDF document, version 1.4
$ ls -l .bashrc
-rw-r--r-- 1 ale ale 3769 nov 10 20:18 .bashrc
$ file .bashrc
.bashrc: ASCII English text
$ cat .bashrc
....
$ less .bashrc

Ricerca e avvio di un applicativo

$ gim (TAB) p
$ locate gimp
....
$ locate gimp | grep bin
/usr/bin/gimp
$ find /usr/bin/ -name gimp
/usr/bin/gimp
$ find /bin/ -name bash
/bin/bash
$ ls -l /bin/bash
-rwxr-xr-x 1 root root 959120 mar 28  2013 /bin/bash

Il copia-incolla

Copiare incollare da un terminale è semplicissimo: