Quando si naviga nel file system di Linux si incontrano sicuramente diversi tipi di file. I tipi di file più usati e ovvi sono i normali file e le directory. Tuttavia, il sistema operativo Linux ha molto di più da offrire in termini di tipi di file, dato che include anche altri 5 tipi di file. Questo breve articolo vi aiuterà a riconoscere tutti i 7 diversi tipi di file all’interno del sistema operativo Linux.

Identificare i tipi di file Linux

C’è solo 1 comando che dovete conoscere, che vi aiuterà a identificare e categorizzare tutti i sette diversi tipi di file che si trovano sul sistema Linux.

$ ls -ld <nome del file>

Ecco un esempio di output del comando precedente.

 $ ls -ld /etc/services 
-rw-r--r-- 1 root 19281 Feb 14 2012 /etc/services

Il comando ls mostrerà il tipo di file come un simbolo codificato trovato come primo carattere della parte del permesso del file. In questo caso è “-“, che significa “file regolare”. È importante sottolineare che i tipi di file di Linux non devono essere confusi con le estensioni dei file. Diamo un’occhiata ad un breve riassunto di tutti i sette diversi tipi di tipi di file Linux e degli identificatori del comando ls:

  1. – : file regolare
  2. d : directory
  3. c : file dispositivo a caratteri
  4. b : block device file
  5. s : local socket file
  6. p : named pipe
  7. l : symbolic link
Cercasi Analista Sistemi Linux!
L’Istituto Geofisico UAF, sta cercando un analista di sistemi Linux con esperienza per unirsi al loro team di analisti e ingegneri di infrastrutture informatiche di ricerca. LOCATION: Fairbanks, Alaska, USA
APPLY NOW

File regolare

Il file regolare è un tipo di file più comune trovato sul sistema Linux. Governa tutti i diversi file come file di testo, immagini, file binari, librerie condivise, ecc. Puoi creare un file regolare con il comando touch:

$ touch linuxcareer.com
$ ls -ld linuxcareer.com
-rw-rw-r-- 1 lubos lubos 0 Jan 10 12:52 linuxcareer.com

Il primo carattere del comando ls, in questo caso “-“, indica il codice di identificazione del file regolare. Per rimuovere un file regolare puoi usare il comando rm:

$ rm linuxcareer.com 
$

Directory

Directory è il secondo tipo di file più comune in Linux. La directory può essere creata con il comando mkdir:

$ mkdir FileTypes
$ ls -ld FileTypes/
drwxrwxr-x 2 lubos lubos 4096 Jan 10 13:14 FileTypes/

Come spiegato prima, la directory può essere identificata dal simbolo “d” nell’output del comando ls. Per rimuovere una directory vuota usa il comando rmdir.

$ rmdir FileTypes

Quando cerchi di rimuovere una directory con il comando rmdir, che contiene file aggiuntivi, otterrai un messaggio di errore:

rmdir: failed to remove `FileTypes/': Directory not empty

In questo caso devi usare un comando:

$ rm -r FileTypes/

Character device

I file device a caratteri e a blocchi permettono agli utenti e ai programmi di comunicare con le periferiche hardware. Per esempio:

$ ls -ld /dev/vmmon 
crw------- 1 root root 10, 165 Jan 4 10:13 /dev/vmmon

In questo caso il dispositivo di carattere è il dispositivo del modulo vmware.

Block Device

I dispositivi di blocco sono simili ai dispositivi di carattere. Per lo più governano l’hardware come dischi rigidi, memoria, ecc.

$ ls -ld /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 4 10:12 /dev/sda

Local domain sockets

I local domain sockets sono usati per la comunicazione tra processi. Generalmente, sono usati da servizi come X windows, syslog e così via.

$ ls -ld /dev/log
srw-rw-rw- 1 root root 0 Jan 4 10:13 /dev/log

I socket possono essere creati dalla chiamata di sistema socket e rimossi dai comandi unlink o rm.

Named Pipes

Similmente ai Local sockets, i named pipes permettono la comunicazione tra due processi locali. Possono essere create dal comando mknod e rimosse con il comando rm.

Collegamenti simbolici

Con i collegamenti simbolici un amministratore può assegnare a un file o a una directory identità multiple. Il collegamento simbolico può essere considerato come un puntatore a un file originale. Ci sono due tipi di link simbolici:

  • hard link
  • soft link

La differenza tra hard e soft link è che i soft link usano il nome del file come riferimento e gli hard link usano un riferimento diretto al file originale. Inoltre, gli hard link non possono attraversare file system e partizioni. Per creare un collegamento simbolico soft possiamo usare il comando ln -s:

$ echo file1 > file1
$ ln -s file1 file2
$ cat file2
file1
$ ls -ld file2
lrwxrwxrwx 1 lubos lubos 5 Jan 10 14:42 file2 -> file1

Per rimuovere il collegamento simbolico possiamo usare il comando unlink o rm.

Conclusione

Come amministratore di sistema lavorerai principalmente con file regolari, blocchi di directory e dispositivi a carattere. Come sviluppatore di software lavorerai anche con socket locali e named pipe.

Come amministratore di sistema lavorerai principalmente con file regolari, directory, blocchi e caratteri.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.