Linux-da “Hemme zat faýl” we faýllaryň görnüşleri


Linux üçin täze bolsaňyz ýa-da birnäçe aýlap ulanan bolsaňyz,\Linux-da hemme zat Faýl ýaly jümleleri eşiden ýa-da okan bolmaly.

Aslynda bu umumylaşdyrma düşünjesi bolsa-da, Unix-da we Linux ýaly emele gelenlerde hemme zat faýl hasaplanýar. Eger bir zat faýl däl bolsa, onda ulgamda bir proses hökmünde işlemeli.

Muňa düşünmek üçin kök (/) katalogyňyzdaky boş ýeriň mydama dürli Linux faýllary tarapyndan sarp edilýändigini mysal alyň. Faýl döredeniňizde ýa-da ulgamyňyza bir faýl geçireniňizde, fiziki diskde belli bir ýer tutýar we belli bir formatda (faýl görnüşi) hasaplanýar.

Şeýle hem, Linux ulgamy faýllar bilen kataloglary tapawutlandyrmaýar, ýöne kataloglar bir möhüm işi ýerine ýetirýär, beýleki faýllary aňsat ýerde ýerleşmek üçin iýerarhiýada toparlara bölýär. Hardwarehli enjam enjamlaryňyz faýl görnüşinde görkezilýär we ulgam bu faýllary ulanyp olar bilen aragatnaşyk saklaýar.

Bu pikir, resminamalaryňyz, kataloglaryňyz (Mac OS X we Windows-daky bukjalar), klawiatura, monitor, gaty diskler, aýrylýan media, printerler, modemler, wirtual ýaly giriş/çykyş çeşmeleri bolan Linux-yň uly häsiýetiniň möhüm beýanydyr. terminallar, şeýle hem prosesara we tor aragatnaşygy faýl ulgamynyň giňişligi bilen kesgitlenen baýt akymlarydyr.

Faýl bolmagyň hemme zadynyň görnükli artykmaçlygy, ýokardaky giriş/çykyş çeşmelerinde şol bir Linux gurallarynyň, kömekçi enjamlaryň we API-leriň ulanylmagydyr.

Linux-daky hemme zat bir faýl bolsa-da, käbir rozetkalar we atlandyrylan turbalar ýaly bir faýl däl-de, käbir ýörite faýllar bar.

Linux-da faýllaryň dürli görnüşleri haýsylar?

Linux-da esasan üç görnüşli faýl bar:

  1. Adaty/Adaty faýllar
  2. filesörite faýllar
  3. Kataloglar

Bular faýl maglumatlarynda tekst, maglumatlar ýa-da programma görkezmeleri bar we olar Linux ulgamynda tapyp boljak iň köp ýaýran faýl görnüşidir we olar öz içine alýar:

  1. Okalýan faýllar
  2. Ikilik faýllar
  3. Surat faýllary
  4. Gysylan faýllar we ş.m.

Fileörite faýllar aşakdakylary öz içine alýar:

Blok faýllary: Bular ulgam enjamlarynyň böleklerine buferli girişi üpjün edýän enjam faýllary. Faýl ulgamy arkaly enjam draýwerleri bilen aragatnaşyk usulyny üpjün edýärler.

Blok faýllarynyň möhüm tarapy, belli bir wagtda maglumatlaryň we maglumatlaryň uly toplumyny geçirip bilmekidir.

Blok faýl rozetkalaryny katalogda görkezmek:

# ls -l /dev | grep "^b"
brw-rw----  1 root disk        7,   0 May 18 10:26 loop0
brw-rw----  1 root disk        7,   1 May 18 10:26 loop1
brw-rw----  1 root disk        7,   2 May 18 10:26 loop2
brw-rw----  1 root disk        7,   3 May 18 10:26 loop3
brw-rw----  1 root disk        7,   4 May 18 10:26 loop4
brw-rw----  1 root disk        7,   5 May 18 10:26 loop5
brw-rw----  1 root disk        7,   6 May 18 10:26 loop6
brw-rw----  1 root disk        7,   7 May 18 10:26 loop7
brw-rw----  1 root disk        1,   0 May 18 10:26 ram0
brw-rw----  1 root disk        1,   1 May 18 10:26 ram1
brw-rw----  1 root disk        1,  10 May 18 10:26 ram10
brw-rw----  1 root disk        1,  11 May 18 10:26 ram11
brw-rw----  1 root disk        1,  12 May 18 10:26 ram12
brw-rw----  1 root disk        1,  13 May 18 10:26 ram13
brw-rw----  1 root disk        1,  14 May 18 10:26 ram14
brw-rw----  1 root disk        1,  15 May 18 10:26 ram15
brw-rw----  1 root disk        1,   2 May 18 10:26 ram2
brw-rw----  1 root disk        1,   3 May 18 10:26 ram3
brw-rw----  1 root disk        1,   4 May 18 10:26 ram4
brw-rw----  1 root disk        1,   5 May 18 10:26 ram5
...

Nyşan faýllary: Bular ulgam enjamlarynyň böleklerine päsgelçiliksiz yzygiderli girişi üpjün edýän enjam faýllarydyr. Enjamlar bilen aragatnaşyk usulyny bir gezekde bir belgi geçirmek arkaly işleýärler.

Belgi faýllarynyň rozetkalaryny katalogda görkezmek:

# ls -l /dev | grep "^c"
crw-------  1 root root       10, 235 May 18 15:54 autofs
crw-------  1 root root       10, 234 May 18 15:54 btrfs-control
crw-------  1 root root        5,   1 May 18 10:26 console
crw-------  1 root root       10,  60 May 18 10:26 cpu_dma_latency
crw-------  1 root root       10, 203 May 18 15:54 cuse
crw-------  1 root root       10,  61 May 18 10:26 ecryptfs
crw-rw----  1 root video      29,   0 May 18 10:26 fb0
crw-rw-rw-  1 root root        1,   7 May 18 10:26 full
crw-rw-rw-  1 root root       10, 229 May 18 10:26 fuse
crw-------  1 root root      251,   0 May 18 10:27 hidraw0
crw-------  1 root root       10, 228 May 18 10:26 hpet
crw-r--r--  1 root root        1,  11 May 18 10:26 kmsg
crw-rw----+ 1 root root       10, 232 May 18 10:26 kvm
crw-------  1 root root       10, 237 May 18 10:26 loop-control
crw-------  1 root root       10, 227 May 18 10:26 mcelog
crw-------  1 root root      249,   0 May 18 10:27 media0
crw-------  1 root root      250,   0 May 18 10:26 mei0
crw-r-----  1 root kmem        1,   1 May 18 10:26 mem
crw-------  1 root root       10,  57 May 18 10:26 memory_bandwidth
crw-------  1 root root       10,  59 May 18 10:26 network_latency
crw-------  1 root root       10,  58 May 18 10:26 network_throughput
crw-rw-rw-  1 root root        1,   3 May 18 10:26 null
crw-r-----  1 root kmem        1,   4 May 18 10:26 port
crw-------  1 root root      108,   0 May 18 10:26 ppp
crw-------  1 root root       10,   1 May 18 10:26 psaux
crw-rw-rw-  1 root tty         5,   2 May 18 17:40 ptmx
crw-rw-rw-  1 root root        1,   8 May 18 10:26 random

Simwoliki baglanyşyk faýllary: Simwoliki baglanyşyk ulgamdaky başga bir faýla salgylanma. Şonuň üçin simwoliki baglanyşyk faýllary beýleki faýllary görkezýän faýllar bolup, olar katalog ýa-da adaty faýl bolup biler.

Simwoliki baglanyşyk rozetkalaryny katalogda görkezmek:

# ls -l /dev/ | grep "^l"
lrwxrwxrwx  1 root root             3 May 18 10:26 cdrom -> sr0
lrwxrwxrwx  1 root root            11 May 18 15:54 core -> /proc/kcore
lrwxrwxrwx  1 root root            13 May 18 15:54 fd -> /proc/self/fd
lrwxrwxrwx  1 root root             4 May 18 10:26 rtc -> rtc0
lrwxrwxrwx  1 root root             8 May 18 10:26 shm -> /run/shm
lrwxrwxrwx  1 root root            15 May 18 15:54 stderr -> /proc/self/fd/2
lrwxrwxrwx  1 root root            15 May 18 15:54 stdin -> /proc/self/fd/0
lrwxrwxrwx  1 root root            15 May 18 15:54 stdout -> /proc/self/fd/1

Aşakdaky mysaldaky ýaly Linux-da ln kömekçi programmasyny ulanyp simwoliki baglanyşyklar edip bilersiňiz.

# touch file1.txt
# ln -s file1.txt /home/tecmint/file1.txt  [create symbolic link]
# ls -l /home/tecmint/ | grep "^l"         [List symbolic links]

Aboveokardaky mysalda/tmp katalogynda file1.txt atly bir faýl döretdim, soň /tmp/file1.txt görkezmek üçin simwoliki baglanyşyk, /home/tecmint/file1.txt döretdim.

Turbalar ýa-da atlandyrylan turbalar: Bular bir prosesiň çykyşyny beýlekisiniň girişine birikdirip, prosesara aragatnaşyga mümkinçilik berýän faýllar.

Ady tutulan turba aslynda her biri bilen habarlaşmak üçin iki proses tarapyndan ulanylýan we Linux turbasy hökmünde işleýän faýl.

Turbalaryň rozetkalaryny katalogda görkezmek:

# ls -l | grep "^p"
prw-rw-r-- 1 tecmint tecmint    0 May 18 17:47 pipe1
prw-rw-r-- 1 tecmint tecmint    0 May 18 17:47 pipe2
prw-rw-r-- 1 tecmint tecmint    0 May 18 17:47 pipe3
prw-rw-r-- 1 tecmint tecmint    0 May 18 17:47 pipe4
prw-rw-r-- 1 tecmint tecmint    0 May 18 17:47 pipe5

Linux-da aşakdaky ýaly turba döretmek üçin mkfifo kömekçi programmasyny ulanyp bilersiňiz.

# mkfifo pipe1
# echo "This is named pipe1" > pipe1

Aboveokardaky mysalda, pipe1 atly turba döretdim, soň bolsa echo buýrugyny ulanyp, käbir maglumatlary geçirdim, şondan soň giriş işlenende gabyk interaktiw däldi.

Soň başga bir gabygy açdym we turba geçen zady çap etmek üçin başga bir buýrugy işledim.

# while read line ;do echo "This was passed-'$line' "; done<pipe1

Soket faýllary: Bular prosesara aragatnaşygyň serişdesini üpjün edýän faýllar, emma dürli gurşawda işleýän prosesiň arasynda maglumatlary we maglumatlary geçirip bilerler.

Bu, rozetkalaryň tordaky dürli maşynlarda işleýän prosesiň arasynda maglumat we maglumat geçirişini üpjün edýändigini aňladýar.

Soketleriň işini görkezmek üçin web serwerine birikýän web brauzeri bolar.

# ls -l /dev/ | grep "^s"
srw-rw-rw-  1 root root             0 May 18 10:26 log

Bu, rozetka() ulgam jaňyny ulanyp, C-de döredilen rozetkanyň mysaly.

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

Aboveokardakylarda:

  1. AF_INET salgy maşgalasy (IPv4)
  2. SOCK_STREAM görnüşi (birikme TCP protokolyna gönükdirilen)
  3. 0 protokol (IP protokol)

Soket faýlyna ýüz tutmak üçin faýlyň beýany bilen birmeňzeş socket_desc ulanyň we read() we write() ulanyň. ulgam rozetkadan degişlilikde okamak we ýazmak üçin jaň edýär.

Bular adaty we beýleki ýörite faýllary saklaýan ýörite faýllar we Linux faýl ulgamynda kök (/) katalogyndan başlap iýerarhiýada tertipleşdirilýär.

Katalogda rozetkalary sanawlamak:

# ls -l / | grep "^d" 
drwxr-xr-x   2 root root  4096 May  5 15:49 bin
drwxr-xr-x   4 root root  4096 May  5 15:58 boot
drwxr-xr-x   2 root root  4096 Apr 11  2015 cdrom
drwxr-xr-x  17 root root  4400 May 18 10:27 dev
drwxr-xr-x 168 root root 12288 May 18 10:28 etc
drwxr-xr-x   3 root root  4096 Apr 11  2015 home
drwxr-xr-x  25 root root  4096 May  5 15:44 lib
drwxr-xr-x   2 root root  4096 May  5 15:44 lib64
drwx------   2 root root 16384 Apr 11  2015 lost+found
drwxr-xr-x   3 root root  4096 Apr 10  2015 media
drwxr-xr-x   3 root root  4096 Feb 23 17:54 mnt
drwxr-xr-x  16 root root  4096 Apr 30 16:01 opt
dr-xr-xr-x 223 root root     0 May 18 15:54 proc
drwx------  19 root root  4096 Apr  9 11:12 root
drwxr-xr-x  27 root root   920 May 18 10:54 run
drwxr-xr-x   2 root root 12288 May  5 15:57 sbin
drwxr-xr-x   2 root root  4096 Dec  1  2014 srv
dr-xr-xr-x  13 root root     0 May 18 15:54 sys
drwxrwxrwt  13 root root  4096 May 18 17:55 tmp
drwxr-xr-x  11 root root  4096 Mar 31 16:00 usr
drwxr-xr-x  12 root root  4096 Nov 12  2015 var

Mkdir buýrugyny ulanyp katalog ýasap bilersiňiz.

# mkdir -m 1666 linux-console.net
# mkdir -m 1666 news.linux-console.net
# mkdir -m 1775 linuxsay.com

Gysgaça mazmun

Indi Linux-daky hemme zadyň bir faýl we Linux ulgamyňyzdan çykyp bilýän dürli görnüşli faýllardygyna indi düşünmeli.

Aýry-aýry faýl görnüşleri barada has köp okaň we olar döredilýär. Bu gollanmany peýdaly tapar we paýlaşmak isleýän soraglaryňyz we goşmaça maglumatlaryňyz üçin teswir ýazmagyňyzy haýyş edýäris we has giňişleýin ara alyp maslahatlaşarys.