GuideGuide Linux

Guida Linux

Uno dei sistemi operativi più utilizzati al mondo è Linux , trova applicazione negli ambiti più svariati, dai server web al desktop, passando anche per la sfera dei dispositivi mobile.

Questa guida ha come scompo principale approfondire le caratteristiche del sistema operativo Linux.

Cos’è Linux?

Linux non è solo un sistema operativo ma anche un modo per concepire la programmazione e lo sviluppo del software. Tanto si sente parlare in questi periodi di Linux e di software free iniziamo a fare una distinzione.

Software free è sia un software distribuito gratuitamente e utilizzabile da chiunque senza alcuna restrizione.

Sofware open source (software libero) è un software che a differenza del free l’autore ne fornisce i sorgenti  quindi abbiamo un codice aperto.

Se volete approfondire gli aspetti legali in questo ambito vi rimando qui.

Le Distribuzioni

Possiamo considerare RedHat la distribuzione commerciale più nota a livello mondiale, mentre Debian la distribuzione che va più verso il mondo open source (Ubuntu è una distribuzione basata su Debian) , possiamo anche mensionare SuSE di suo offre tantissime applicazioni ed è corredata di un tool di setup chiamato YAST (acronimo per “Yet Another Setup Tool”), che permette sia una facile installazione agli utenti poco esperti che una veloce amministrazione agli utenti più smaliziati, altra distribuzione è OpenLinux di Caldera che offre un setup semplificato ed assistito. Mentre CentOS è una distribuzione Linux che fornisce una piattaforma di elaborazione gratuita e open source supportata dalla comunità, funzionalmente compatibile con la sua sorgente upstream, Red Hat Enterprise Linux (RHEL).

Bootloader e Partizioni

Il bootloader è il software che permette il boot del sistema, questo si interfaccia con il bios della macchina carica un loader permettendo poi l’avvio del sistema operativo tramite il caricamento del Kernel. Tra i loader più conosciuti possiamo mensionare LILO – GRUB e LOADLIN. Se volete approfondire l’argomento questo link è utile. Per quanto riguarda le partizioni del sistema operativo lo schema consigliato è il seguente:

  •  Partizione di SWAP (in funzione della RAM installata)
  • Partizione /boot (partizione dove risiede il bootloader)
  • Partizione / (directory di root che è l’inizio struttura directory)
  • Partizione home (dati utente)

Directory Linux

Iniziamo con una prima distinzione, le cartelle utente sono quelle dove puoi trovare i profili utente creati dal sistema operativo, con relativi file personali (documenti, foto, video) e personalizzazioni dei programmi. Possiamo dividere in due le cartelle per privilegi utente:

– /home: la cartella con tutti gli utenti a permessi standard

– /root: la cartella con l’utente con i massimi permessi amministrativi non accessibile da utente standard

Per quanto riguarda la cartella “programmi”

– /usr: la cartella con tutti i file “eseguibili” e con parte dei file di configurazione dei programmi

In questa cartella puoi trovare varie sottocartelle, tutte molto utili per il funzionamento dei programmi, le più importanti sono sicuramente:

– /usr/share: questa cartella contiene i dati delle applicazioni e i manuali

– /usr/bin: contiene tutti i file eseguibili in ambiente Linux (file binari)

– /usr/src: qui trovi i sorgenti del kernel

– /lib: come suggerisce il nome in questa cartella trovi l’altra parte dei file necessari per eseguire i programmi (le librerie)

– /etc: questa cartella contiene le impostazioni delle app e degli strumenti di sistema (già presente insieme al sistema operativo)-

La sottodirectory principale è /etc/init.d che contiene tutti gli script di inizializzazione per i servizi quali il collegamento in rete, samba, apache, cron, hal, e cosi via.

– /opt: cartella riservata da Linux ai programmi più pesanti, ma poco utilizzata dai moderni sistemi operativi.

Alcuni file di configurazione per i programmi (specifici per ogni utente) puoi trovarli nella cartella /home, così se è presente un programma ma più utenti sul PC ognuno avrà i suoi preferiti, le sue personalizzazioni e le sue configurazioni.

Dimentica i driver di Windows

Su Linux ogni dispositivo o periferica del PC è presente come un file; questi file sono presenti nelle seguenti cartelle:

– /dev: qui sono presenti i file e i driver per far funzionare i dispositivi connessi al sistema.

Su Linux tutte le periferiche e le unità hanno un nome, ad esempio gli Hard disk tendono essere classificati come hda, hdb, hdc.

Speciali dispositivi esterni come ad esempio i dispositivi USB possono essere classificati come sda, sdb, sdc quindi guardando la directory /dev si vedranno diversi file e ognuno di essi è un dispositivo reale o virtuale.

Le periferiche su Linux si differenziano i dispositivi che tengono dati e dispositivi che trasmettono dati come i mouse.

Su Windows non esiste una cartella simile, i dati sulle periferiche installate sono, un po’ nelle chiavi di registro e sono difficili da individuare e un po’ in file compresi nella cartella C:\Windows\system32\drivers ma su windows come anche su Linux, questi file, non vanno toccati.

– /proc: in questa cartella trovi tutti i processi avviati dal processore sotto forma di file

– /mnt: qui puoi trovare (in sottocartelle) i dispositivi di memorizzazione, dai dischi rigidi alle chiavette USB passando alle cartelle di rete.

Se connetti una chiavetta da 8 GB qui comparirà una cartella da 8 GB con tutto il contenuto presente all’interno (se presente), così come se hai montato una qualsiasi partizione del disco fisso.

Su alcuni sistemi operativi potrai trovare anche una cartella /mount, che svolge esattamente lo stesso compito.

Con i contenuti presenti in queste cartelle puoi tenere sotto controllo tutto lo spazio presente sul tuo PC (incluse le periferiche di memorizzazione esterna) e il corretto funzionamento delle periferiche.

Altre cartelle

Ci sono altre cartelle all’interno della radice di Linux, ma normalmente non è richiesto l’intervento dell’utente (salvo rarissimi casi); le cartelle sono:

– /tmp: in questa cartella sono presenti tutti i file temporanei generati dal sistema

– /var: in questa cartella sono contenute le informazioni dei programmi in esecuzione, inclusi i log di sistema

– /boot: qui dentro puoi trovare tutti i file necessari al corretto avvio di Linux.

Principali Comandi Linux paragonati a comandi DOS

Per facilità vi propongo un confronto tra i comandi più usati DOS e Linux, molti di questi comandi linux sono uguali su Unix e sul terminale di Apple. Per chi non lo sa macOS oltre all’interfaccia grafica su utility offre un emulatore terminale che permette all’utente di interagire con il sistema attraverso un’interfaccia a riga di comando.

Elencherò solo i comandi, per tutte le opzioni di ogni comando vi rimando all’help del comando stesso, che nel DOS è nomecomando /? mentre in Unix è man nomecomando o help nomecomando.

DosGNU/LinuxDESCRIZIONE
DIRls -lMostra contenuto Directory
DIR /WlsVisualizza solo nomi di file e nomi di directory (senza le informazioni aggiunte su ciascun file) in un formato di visualizzazione a cinque larghezze.
TREEls -RVisualizza graficamente la struttura di directory di un percorso o del disco in un'unità.
MD PIPPOmkdir pippo “make directory” e crea una directory al livello di directory indicato
CD PIPPOcd pippopermette di entrare nella directory "pippo"
RD PIPPOrmdir pippocancella la directory "pippo"
COPY *.* \PROVAcp * /provacopia tutti i file in un'altra posizione
XCOPY *.* \PROVA /E /Scp -dpR * /provacopia i file e la struttura delle directory (ad esclusione dei file nascosti e di sistema)
REN ARTICOLO LETTERAmv articolo letteraRinomina file
MOVE *.* \PROVAmv * /provaSposta uno o più file
DEL ARTICOLOrm articoloCancella uno o più file
DELTREE TEMPrm -R tempElimina una directory e tutti i file e le sottodirectory in essa contenute.
TYPE LETTERAcat letteraVisualizza il contenuto di un file di testo
TYPE LETTERA | MOREcat lettera | moreVisualizza il contenuto di un file di testo
HELP DIRman ls
FORMAT A: /N:18 /T:80fdformat /dev/fd0u1440Inizializza l'unità A:, corrispondente a un dischetto. con 18 settori per traccia: 2 * 80 * 18 * 512 byte = 1 440 Kibyte.
FORMAT A: /N:9 /T:80fdformat /dev/fd0u720Come nell'esempio precedente, ma con 80 cilindri: 2 * 80 * 9 * 512 byte = 720 Kibyte.
DISKCOPY A: B:cp /dev/fd0 /dev/fd1copia il contenuto di un disco floppy in un altro disco floppy
DISKCOPY A: A:cp /dev/fd0 /tmp/pippo ; cp /tmp/pippo /dev/fd0copia il contenuto di un disco floppy in un altro disco floppy
KEYB ITloadkeys itConfigura la tastiera per la lingua specificata (IT italiano)
CLSclear

clearctrl-l
cancella il contenuto della schermata (questo comando non è distruttivo)
BACKUP C:\DATI\*.* A: /Star cvf /dev/fd0 -L 1440 -M /daticrea una copia di sicurezza di uno o più file su una serie di floppy-disk
FIND "saluti" PRIMO.DOCgrep "saluti" primo.docRicerca una sequenza di caratteri all'interno di uno o più file.
FOR %A IN (*.DOC) DO FIND "saluti" %Agrep "saluti" *.docPermette di eseguire in modo iterativo comandi di MS-DOS.
diskusagedu -sThe DU or the disk usage command is used for monitoring the disk space usage
CHKDSKfsckAnalizzare e correggere le unità disco rigido
MEMfreeVisualizza la quantità della memoria usata e quella libera del sistema
topMostra i processi di sistema in corso
whoamiMostra il nome utente
NET SHARESdfNET SHARE rende disponibili agli utenti della rete le risorse di un
server.
Se utilizzato senza opzioni, questo comando visualizza informazioni su
tutte le risorse condivise del computer.
pwdMostra il percorso della directory in corso (path)
REBOOTshutdown -r nowRiavvia il sistema
IPCONFIGifconfigVisualizza la configurazione delle interfacce di rete.
TRACERTtraceroute
ping indirizzo ip o nome domnioping indirizzo ip o nome domnioping indirizzo Effettua un ping test su un sito web o indirizzo IP
WINstarxAvvia interfaccia grafica
sudo comandoEsegue il comando in modalità Super User

Guida in continuo aggiornamento…..