“Quanti tipi di file ci sono in Linux/Unix e quali sono?” Questa è una domanda comune ad ogni persona che inizia ad imparare Linux. O.K, perché è così importante conoscere i tipi di file?

Risposta: Questo perché Linux considera ogni cosa come un file. Quando inizi a lavorare su Linux/Unix box devi avere a che fare con diversi tipi di file (linux/unix) per gestirli efficacemente

Quanti tipi di file ci sono in Linux/Unix?

Di default Unix ha solo 3 tipi di file. Essi sono..

File regolari

  1. File di directory

  2. File speciali (questa categoria ha 5 sottotipi)

Quindi in pratica abbiamo 7 tipi totali (1+1+5) di file in Linux/Unix. E in Solaris abbiamo 8 tipi. E puoi vedere l’indicazione del tipo di file nella parte più a sinistra del comando “ls -l”.

Qui ci sono questi tipi di file.

  1. File regolare(-) 
  2. File directory(d) 

File speciali

  1. File blocco(b)
  2. File dispositivo carattere(c)
  3. File pipe con nome o solo pipe file(p)
  4. File link simbolico(l)
  5. File socket(s)

Per vostra informazione c’è un altro tipo di file chiamato door file(D) che è presente in Sun Solaris come menzionato prima. Una porta è un file speciale per la comunicazione inter-processo tra un client e un server (quindi in totale 8 tipi nelle macchine Unix). Impareremo i diversi tipi di file come segue per ogni tipo di file.

Definizione e informazioni sul tipo di file
Come creare un particolare tipo di file
Come elencare/vedere un particolare tipo di file

Il tipo di file regolare spiegato in Linux

Questi sono i file che sono indicati con “-” nell’output del comando ls -l all’inizio della linea. E questi file sono.

1. File leggibile o
2. Un file binario o
3. File immagine o
4. File compressi ecc.

Come creare file regolari in Linux/Unix?
Ans: usare il comando touch/vi e gli operatori di reindirizzamento ecc.

Come possiamo elencare i file regolari?

ls -l | grep ^- 

Esempio di elenco di file regolari :

-rw-r--r-- 1 krishna krishna 20986522 2010-01-31 13:48 test.wmv
-rw-r--r-- 1 krishna krishna 173448 2010-01-30 21:20 Transformers-Teaser-Wallpaper-310.jpg
-r-xr-xr-x 1 root 135168 2009-12-12 19:14 VIDEO_TS.VOB
-rw-r--r-- 1 krishna krishna 2113536 2009-12-01 13:32 Aditya 365 - Janavule.mp3
-rwxrwx 1 root 168 2010-02-14 14:12 xyz.sh

Il tipo di file directory spiegato in Linux/Unix

Questo tipo di file contiene normali file/cartelle/file speciali memorizzati su un dispositivo fisico. E questo tipo di file sarà di colore blu con link maggiore o uguale a 2.

Come possiamo elencarli nella mia attuale directory di lavoro? 
ls -l | grep ^d

Esempio di elenco di directory.

drwxr-xr-x 2 surendra surendra 4096 2010-01-19 18:37 bin
drwxr-xr-x 5 surendra surendra 4096 2010-02-15 18:46 Desktop
drwxr-xr-x 2 surendra surendra 4096 2010-01-18 14:36 Documents
drwxr-xr-x 2 surendra surendra 4096 2010-02-13 17:45 Downloads

Come crearli?
Ans: Usa il comando mkdir

Tipo di file di blocco in Linux

Questi file sono file hardware la maggior parte dei quali sono presenti in /dev.

Come crearli?
Ans : Usa il comando fdisk o crea una partizione virtuale.

Come possiamo elencarli nella mia attuale directory di lavoro?

ls -l | grep ^b

Esempio di elenco di file Block (per vedere questi file, si trovano in /dev).

brw-rw---- 1 root disk 8, 1 2010-02-15 09:35 sda1
brw-rw---- 1 root disk 8, 2 2010-02-15 09:35 sda2
brw-rw---- 1 root disk 8, 5 2010-02-15 09:35 sda5

File di device a caratteri in Linux

Fornisce un flusso seriale di input o output.I vostri terminali sono un classico esempio di questo tipo di file.

Come possiamo elencare i file di carattere nella mia attuale directory di lavoro?

ls -l | grep ^c

Esempio di elenco di file di carattere (situato in /dev)

crw-rw-rw- 1 root tty 5, 0 2010-02-15 16:52 tty
crw--w---- 1 root root 4, 0 2010-02-15 09:35 tty0
crw------- 1 root 4, 1 2010-02-15 09:35 tty1

File pipe in Linux/Unix

L’altro nome di pipe è una pipe “named”, che è talvolta chiamata FIFO. FIFO sta per “First In, First Out” e si riferisce alla proprietà che l’ordine dei byte in entrata è lo stesso in uscita. Il “nome” di una named pipe è in realtà il nome di un file all’interno del file system.

Come crearli?
Ans: Usa il comando mkfifo.

Come possiamo elencare i file di carattere nella mia attuale directory di lavoro?

ls -l | grep ^p

Esempio di elenco di file pipe

prw-r----- 1 root root 0 2010-02-15 09:35 /dev/.initramfs/usplash_outfifo
prw-r----- 1 root root 0 2010-02-15 09:35 /dev/.initramfs/usplash_fifo
prw------- 1 syslog syslog 0 2010-02-15 15:38 /var/run/rsyslog/kmsg

file di collegamento simbolico in Linux

Sono file collegati ad altri file. Sono o directory/file regolare. Il numero di inode per questo file e i suoi file genitori sono gli stessi. Ci sono due tipi di file di collegamento disponibili in Linux/Unix: soft e hard link.

Come crearli?
Ans: usa il comando ln

Come possiamo elencare i file collegati nella mia attuale directory di lavoro?

ls -l | grep ^l

Esempio di elenco di file collegati
lrwxrwx 1 root 24 2010-02-15 09:35 sndstat -> /proc/asound/oss/sndstat
lrwxrwxrwx 1 root root 15 2010-02-15 09:35 stderr -> /proc/self/fd/2
lrwxrwx 1 root 15 2010-02-15 09:35 stdin -> /proc/self/fd/0
lrwxrwx 1 root 15 2010-02-15 09:35 stdout -> /proc/self/fd/1

File socket in Linux

Un file socket è usato per passare informazioni tra applicazioni a scopo di comunicazione

Come crearli?
Ans : Puoi creare un file socket usando la chiamata di sistema socket() disponibile sotto

Esempio nella programmazione C

int sockfd = socket(AF_INET, SOCK_STREAM, 0);

Puoi fare riferimento a questo file socket usando sockfd. Questo è uguale al descrittore di file, e puoi usare le chiamate di sistema read(), write() per leggere e scrivere dal socket.

Come possiamo elencare i file socket nella mia attuale directory di lavoro?

ls -l | grep ^s

Esempio di elenco di file socket.

srw-rw-rw- 1 root root 0 2010-02-15 09:35 /dev/log

srwxrwxrwx 1 root root 0 2010-02-15 10:07 /var/run/cups/cups.sock
srwxrwxrwx 1 root root 0 2010-02-15 09:35 /var/run/samba/winbindd_privileged/pipe
srwxrwxrwx 1 mysql mysql 0 2010-02-15 09:35 /var/run/mysqld/mysqld.sock

Un consiglio per voi ragazzi. Come trovare il tipo di file desiderato?

Ans : Usate il comando find con l’opzione -type. Per esempio, se vuoi trovare il file socket, usa solo il seguente comando. find / -type s Se vuoi trovare un file collegato, come? Find / -type l

Questo è….

admin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

lg