“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
-
File di directory
-
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.
-
File regolare(-)
-
File directory(d)
File speciali
- File blocco(b)
- File dispositivo carattere(c)
- File pipe con nome o solo pipe file(p)
- File link simbolico(l)
- 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 è….