GNU/Linux >> Znalost Linux >  >> Linux

Základy souborů Unix:Inode, Soft vs Hard link, Device files, Named pipes

Inody

Každý soubor v operačním systému Linux/Unix má přidružený inode s výjimkou Solaris ZFS, který inody nemá. Inody v podstatě fungují velmi podobně jako příloha knihy. Každý Inode bude mít níže uvedené informace o souboru.

1. majitel
2. oprávnění
3. velikost
4. čas posledního přístupu
5. čas vytvoření
6. ID skupiny
7. Ukazatele na datové bloky spojené s obsahem souboru
Poznámka:Inode však neposkytuje název souboru.

Typy souborů

V každém unixovém operačním systému existuje v podstatě 5 typů souborů.

1. Běžné
2. Adresář
3. Symbolické odkazy (pevný odkaz a měkký odkaz)
4. Soubory zařízení (zvláštní znak a speciální zařízení bloku)
5. Pojmenované dýmky

Znak v prvním sloupci příkazu ls -l identifikuje typ souboru.

# cd /
# ls -l bin
lrwxrwxrwx   1   root   root  9  Sep  19  15:41   bin -> ./usr/bin
-   Regular files
d   Directories
l   Symbolic links
b   Block-special device files
c   Character-special device files
p   Named pipes

Soubory a adresáře

Běžné soubory mohou ukládat různé typy dat a lze je snadno vytvořit pomocí dotykového příkazu nebo editoru vi. Adresáře obsahují spojení mezi soubory a/nebo adresáři a čísly inodů.

Měkké odkazy

Jak je znázorněno na diagramu, měkké odkazy nebo symbolické odkazy jednoduše ukazují na jiný soubor. Obsahuje pouze cestu k souboru, na který ukazuje

1. Způsob vytvoření

# touch file1
# ln -s file1 link1
# ls -l
-rw-r--r-- 1   root   root  0  Sep  19  14:41  link1
lrwxrwxrwx 1   root   root  5  Sep  19  15:41  link1 -> file1

2. Velikost měkkého odkazu vytvořeného ve výše uvedeném příkladu je počet znaků v názvu cesty (file1), což je 5 (může být absolutní nebo relativní).
3. Pokud smažete původní soubor (file1), soft link se vykreslí jako nepoužitelný.
4. Měkké odkazy mohou být umístěny v různých souborových systémech.

Pevné odkazy

Každý soubor používá alespoň jeden pevný odkaz. Když tedy vytvoříte nový soubor, vytvoří se nová položka adresáře, která se nazývá počet odkazů. Takže když vytvoříte nový pevný odkaz na tento soubor, počet odkazů se zvýší o 1.

1. metoda tvorby

# touch file1
# ls -l
-rw-r--r-- 1  root  root  0  Sep  23  13:19  file1
# ln file1 file2
# ls -l
-rw-r--r--  2  root  root  0  Sep  23  13:19  file1
-rw-r--r--  2  root  root  0  Sep  23  13:19  file2
# ls -li
1282  -rw-r--r--  2  root  0  root  0  Sep  23  13:19  file1
1282  -rw-r--r--  2  root  0  root  0  Sep  23  13:19  file2
# find . -inum 1282
./file1
./file2

2. Počet odkazů se zvýší o jeden pokaždé, když vytvoříte nový pevný odkaz na soubor, jak je uvedeno výše.
3. I když odstraníte některý ze souboru, nebude to mít žádný vliv na druhý soubor. Snižuje se pouze počet odkazů
4. Pevné odkazy nemohou procházet systémem souborů.

Soubory zařízení

V operačním systému UNIX má každé fyzické zařízení k němu přidružen soubor, který se nazývá soubor zařízení . Je to rozhraní, které spolupracuje s ovladači zařízení. Na rozdíl od jiných typů souborů neuchovávají žádná data v datových blocích, místo toho používají inody k uložení hlavního a vedlejšího ne pro jakýkoli soubor zařízení.

# cd /dev/
# ls -l
crw-r-----  1  root  tty   4,  0  Sep  23  12:51  tty0
brw-rw----- 1  root  disk  8,  1  Sep  23  12:51  sda0

Číslo hlavního zařízení – Pro přístup k zařízení je vyžadován konkrétní ovladač zařízení
číslo vedlejšího zařízení – konkrétní jednotka typu, kterou ovládá ovladač zařízení.

Pokud máte například 10 tiskáren HP, hlavní ne bude ovladač tiskových zařízení HP a vedlejší ne bude instance tiskárny (1,2 .. až 10).

Soubory zařízení jsou 2 typů
1. Speciální postava
2. Blokovat speciál

Znakové speciální soubory zařízení
1. Znak „c“ v prvním sloupci výstupu příkazu ls -l identifikuje soubor znakového speciálního zařízení
2. K datům se přistupuje jako k datovému toku (znak po znaku, vždy 1 bajt)
3. Příklad:tty, sériové, virtuální terminály

# ls -l
crw-r-----  1  root  tty   4,  0  Sep  23  12:51  tty0

Blokovat speciální soubor zařízení
1. Znak „b“ v prvním sloupci výstupu příkazu ls -l identifikuje soubor znakového speciálního zařízení
2. K datům se přistupuje podle definované velikosti bloku pro dané zařízení
3. Příklad:Pevný disk, CD/DVD

# ls -l
brw-rw-----  1  root  disk   8,  1  Sep  23  12:51  sda0

Pojmenované kanály

– Pojmenované kanály jsou speciální soubory, které se používají pro meziprocesorovou komunikaci. Na rozdíl od normálních rour můžete číst a zapisovat do pojmenovaných rour. Z tohoto důvodu jsou také nazývány jako FIFO (file in file out).
– mknod() nebo mkfifio() jsou běžné příklady, které využívají pojmenované roury k přístupu k rouře podle jména.
– Jak je ukázáno v příkladu níže, 2 procesy (gzip a cat) mohou současně přistupovat k pojmenovanému kanálu, do kterého zapisovat a číst data z něj.

# mkfifo test_pipe
# gzip -9 -c > test_pipe < out.gz
# cat file1 > test_pipe
# ls -l test_pipe
prw-rw-----  1  root  root  0  Sep  23  12:51  test_pipe


Linux
  1. 10 příkladů příkazů Cat pro správu souborů v systému Linux / UNIX

  2. UNIX/Linux:Základy seznamů řízení přístupu (ACL).

  3. Co jsou měkké a pevné odkazy v systému souborů Linux

  1. Otázky k rozhovoru s Linuxem:Otevřít soubory / Otevřít deskriptory souborů

  2. Rozdíl mezi měkkými a pevnými odkazy v Linuxu

  3. Proč nelze pomocí inodu manipulovat se soubory?

  1. Pochopte základy UNIX / Linux Inodes s příklady

  2. Hledání souborů čitelných pro člověka na unixu

  3. Jak můžete vidět skutečný pevný odkaz pomocí ls?