„Kolik typů souborů existuje v Linuxu/Unixu a jaké?“ To je častá otázka každého člověka, který se začíná učit Linux. O.K., proč je tak důležité znát typy souborů?“

Odpověď: Je to proto, že Linux považuje každou věc za soubor. Když někdy začnete pracovat na krabici s Linuxem/Unixem, musíte se vypořádat s různými typy souborů (Linux/Unix), abyste je mohli efektivně spravovat

Kolik typů souborů existuje v Linuxu/Unixu?

Ve výchozím nastavení má Unix pouze 3 typy souborů. Jsou to:

Obvyklé soubory

  1. Soubory adresáře

  2. Speciální soubory (tato kategorie má v sobě 5 podtypů)

V praxi tedy máme v Linuxu/Unixu celkem 7 typů (1+1+5) souborů. A v systému Solaris máme 8 typů. A označení typu souboru můžete vidět v levé části příkazu „ls -l“.

Tady jsou tyto typy souborů.

  1. Regulární soubor(-.) 
  2. Soubory adresáře(d) 

Speciální soubory

  1. Blokový soubor(b)
  2. Soubor znakového zařízení(c)
  3. Pojmenovaný soubor roury nebo jen roura. soubor(p)
  4. Symbolický odkaz soubor(l)
  5. Socket soubor(s)

Pro vaši informaci existuje ještě jeden typ souboru s názvem door file(D), který je přítomen v systému Sun Solaris, jak již bylo zmíněno. Door je speciální soubor pro meziprocesovou komunikaci mezi klientem a serverem (celkem tedy 8 typů v unixových strojích). O různých typech souborů se dozvíme v níže uvedeném pořadí pro každý typ souboru.

Definice a informace o typu souboru
Jak vytvořit konkrétní typ souboru
Jak vypsat/zobrazit konkrétní typ souboru

Pravidelný typ souboru vysvětlený v Linuxu

Jsou to soubory, které jsou ve výstupu příkazu ls -l na začátku řádku označeny znakem „-„. A tyto soubory jsou:

1. Čitelný soubor nebo
2. Binární soubor nebo
3. Obrazové soubory nebo
4. Komprimované soubory atd.

Jak vytvořit běžné soubory v systému Linux/Unix?
Ans: Pomocí příkazu touch/vi a operátorů přesměrování atd.

Jak můžeme vypsat regulární soubory?

ls -l | grep ^- 

Ukázka výpisu regulárních souborů :

-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. Ukázka výpisu regulárních souborů.jpg
-r-xr-xr-x 1 root 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
-rwxrwxrwx 1 root root 168 2010-02-14 14:12 xyz.sh

Vysvětlení typu souboru adresáře v Linuxu/Unixu

Tento typ souborů obsahuje běžné soubory/složky/speciální soubory uložené na fyzickém zařízení. A tento typ souborů bude mít modrou barvu s odkazem větším nebo rovným 2.

Jak je můžeme vypsat v mém současném pracovním adresáři? 
ls -l | grep ^d

Příklad výpisu adresářů.

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 Plocha
drwxr-xr-x 2 surendra surendra 4096 2010-01-18 14:36 Dokumenty
drwxr-xr-x 2 surendra surendra 4096 2010-02-13 17:45 Downloads

Jak je vytvořit?
Ans : Použijte příkaz mkdir

Typ souboru blok v Linuxu

Tyto soubory jsou hardwarové soubory většina z nich se nachází v /dev.

Jak je vytvořit?
Ans : Použijte příkaz fdisk nebo vytvořte virtuální oddíl.

Jak je můžeme vypsat v mém současném pracovním adresáři?

ls -l | grep ^b

Příklad výpisu blokových souborů (abyste tyto soubory viděli, jsou umístěny v /dev).

brw-rw---- 1 kořenový disk 8, 1 2010-02-15 09:35 sda1
brw-rw---- 1 kořenový disk 8, 2 2010-02-15 09:35 sda2
brw-rw---- 1 kořenový disk 8, 5 2010-02-15 09:35 sda5

Soubory znakových zařízení v Linuxu

Zajišťuje sériový tok vstupu nebo výstupu.Vaše terminály jsou klasickým příkladem pro tento typ souborů.

Jak lze vypsat znakové soubory v mém současném pracovním adresáři?

ls -l | grep ^c

Příklad výpisu znakových souborů(umístěných v /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. 10. 2010:35 tty0
crw------- 1 root root 4, 1 2010-02-15 09:35 tty1

Pipe soubory v Linuxu/Unixu

Druhý název roury je „pojmenovaná“ roura, která se někdy nazývá FIFO. Zkratka FIFO znamená „First In, First Out“ (první dovnitř, první ven) a odkazuje na vlastnost, že pořadí vstupujících bajtů je stejné jako vystupujících. „Jméno“ pojmenované roury je ve skutečnosti jméno souboru v rámci souborového systému.

Jak je vytvořit?
Ans: Použijte příkaz mkfifo.

Jak lze vypsat znakové soubory v mém současném pracovním adresáři?

ls -l | grep ^p

Příklad výpisu souborů rour

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

symbolické propojovací soubory v Linuxu

Jsou to propojovací soubory na jiné soubory. Jsou to buď adresáře/řádové soubory. Číslo inodu pro tento soubor a jeho nadřazené soubory je stejné. V Linuxu/Unixu jsou k dispozici dva typy odkazových souborů, tj. měkký a tvrdý odkaz.

Jak je vytvořit?
Ans : použijte příkaz ln

Jak můžeme vypsat propojené soubory v mém současném pracovním adresáři?

ls -l | grep ^l

Příklad výpisu propojených souborů
lrwxrwxrwx 1 root 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
lrwxrwxrwx 1 root root 15 2010-02-15 09:35 stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15 2010-02-15 09:35 stdout -> /proc/self/fd/1

Socket soubory v Linuxu

Socket soubor slouží k předávání informací mezi aplikacemi za účelem komunikace

Jak je vytvořit?
Ans : Soubor socket můžete vytvořit pomocí systémového volání socket(), které je k dispozici pod

Příklad v programování v jazyce C

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

Na tento soubor socket se můžete odkazovat pomocí sockfd. Ten je stejný jako deskriptor souboru a pro čtení a zápis ze socketu můžete použít systémová volání read(), write().

Jak můžeme vypsat soubory socketu v mém současném pracovním adresáři?

ls -l | grep ^s

Příklad výpisu souborů socketu.

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

Tip pro vás. Jak najít požadovaný typ souboru ?

Ans : Použijte příkaz find s parametrem -type. Například pokud chcete najít soubor socket, stačí použít níže uvedený příkaz. find / -type s Pokud chcete najít propojený soubor, jak? Find / -type l

To je….

.

admin

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

lg